そこで、同じような問題を抱えている人を探してみましたが、探していたものを正確に見つけることができませんでした。基本的な PHP を学習するために登録ページの作成に取り組んでおり、最初は「Notice: Undefined index」というエラーが表示されましたが、「isset();」を使用して解決しました。しかし、それは私に別の問題をもたらしました、
注:申し訳ありませんが、画像を投稿することはできません。
http://img571.imageshack.us/img571/9176/h0nx.png
注:送信をクリックしてエラーが発生した後、値を再投稿して、すべてを再入力する必要がないようにしました。
isset は、送信後にボックスの値が 1 (真) になるようにします。
ただし、問題はさらに深くなります。
if ($submit) {
if ($fullname && $username && $password && $repeatedpassword && $email) {
//encrypt passwords
$password = md5($password);
$repeatedpassword = md5($repeatedpassword);
if($password!=$repeatedpassword) {
echo "Your passwords didn't match.";
if(strlen($password)<6){
echo "Your password must be atleast six characters long.";
}else{
//FINISH UP
}
}else{
echo "Please fill in all fields.";
}
}
}
写真を見上げると「全ての欄に記入してください」と書いてあります。すべてが入力されているにもかかわらず、if ステートメントに何か問題があります。
isset(); による Undefined Index エラーを取り除くためのより良い方法を見つける必要があります。入力フィールドに 1 の値を返します。また、if ステートメントが失敗する理由を理解するためにあなたの助けが必要です。
初めて投稿するので説明不足でしたらすみません、よろしくお願いします。
編集:
$submit = isset($_POST['submit']);
$fullname = strip_tags(isset($_POST['fullname']));
$username = strip_tags(isset($_POST['username']));
$password = strip_tags(isset($_POST['password']));
$repeatedpassword = strip_tags(isset($_POST['repeatedpassword']));
$email = strip_tags(isset($_POST['email']));
$date = date("Y-m-d");
<table>
<tr>
<td>
Your full name:
</td>
<td>
<input maxlength='100' type='text' name='fullname' value='<?php echo $fullname?>'>
</td>
</tr>
<tr>
<td>
Desired username:
</td>
<td>
<input maxlength='100' type='text' name='username' value='<?php echo $username?>'>
</td>
</tr>
<tr>
<td>
Desired password:
</td>
<td>
<input maxlength='100' type='password' name='password' value='<?php echo $password?>'>
</td>
</tr>
<tr>
<td>
Repeat password:
</td>
<td>
<input maxlength='100' type='password' name='repeatedpassword' value='<?php echo $repeatedpassword?>'>
</td>
</tr>
<tr>
<td>
Your email adress:
</td>
<td>
<input maxlength='100' type='text' name='email' value='<?php echo $email?>'>
</td>
</tr>
</table>