2016-08-15 3 views
0

こんにちは、このトピックのすべての読者に!私はそれが愚かな音だと知っていますが、私はPHPを使って簡単な登録とログインフォームを作りたいと思います。それはウェブサイトのためではないので、安全ではないはずです。私は名前とパスワードを永久に保持したくありません。私は初心者であることを指定したいと思います。私はPHPの基本を知っています。まず、htmlログインフォームを作成し、次にログイン用のPHPを作成して、Cookieがあるかどうかを確認します。登録は後で行いました。あなたは、私はクッキーを使用して、両方の、「ユーザ名」の略で$ usrの変数と「パスワード」の略で$ PWDをアセスしようとした見ることができるようにPHP Cookies登録とログインフォーム

<?php 
setcookie($usr,$pwd,time() + (86400 * 30),'/'); 
setcookie($pwd,$usr,time() + (86400 * 30),'/'); 
If(isset($_POST['submitForm'])) { 
    $usr = $_POST['usr']; 
    $pwd = $_POST['pwd']; 

    If(isset($_COOKIE[$usr]) && isset($_COOKIE[$pwd])) { 

    } 
    else { 
     die('User has not been registered or wrong username or password.'); 
    } 
} 
?> 

:ここ コードです。

<form method="POST" action="logged.php" style="text-align: center;"> 

<h1>Log In Page of Forum</h1> 

<input type="text" name="usr" placeholder="Username"> 

<br/><br/> 
<input type="password" name="pwd" placeholder="Password"> 

<br/><br/> 
<input type="submit" name="submitForm" value="Log in"> 

<br/> 
</form> 

はい:ここ

はHTMLコードです。 PHPがファイルにあります。

飛び出しているエラーは、次のとおりです。

Notice: Undefined variable: usr in logged.php on line 2 

Notice: Undefined variable: pwd in logged.php on line 2 

Notice: Undefined variable: pwd in logged.php on line 3 

Notice: Undefined variable: usr in logged.php on line 3 

しかし、テキストがまだ表示されます:

User has not been registered or wrong username or password. 

私はPHPのより良い理解をするために、これを行うと、真剣に何かでこれを使用しません。

私のコードで何が間違っているのか誰にでも教えてください。私は事前に感謝します。 ;)

答えて

0

あなたのクッキー呼び出しが間違っています。 Cookieには固定名を使用する必要があります。ユーザーが提供した(ランダムな)ユーザー名を使用しています。

これは動作します:

代わり fred=hunter42を生成し、あなたが持っている

setcookie($usr, $pwd, ...) 

、の、クッキー($_COOKIE['user'] => 'fred')としてuser=fredを生成

setcookie('user', $user, ....); 

ユーザーの返品に関するユーザー名がわからないため、NOは、$ _COOKIEでユーザー名を取得するためにどのようなキーを使用するかを知っています。 $_COOKIE['ok what is the username?']

+0

さらに、使用後2行までは作成していない変数を使用してクッキーを作成することはできません。 – RiggsFolly

+0

おっと!私は初期のチュートリアル(固定名のもの)からそれを知っていましたが、私は試してみたいと思っていましたが、変数でもうまくいくと思っていました。ありがとう、Marc B、あなたは私の学習を救った。 ;) –

関連する問題