0
登録に関してPHPコードを開発中です。 私は、別のフォームのアクションページに行くのではなく、自分のフォームアクションが安全であることを知りました。 フォームアクションを作成したときに、値がデータベースに挿入されていますが、PHPコードも上記のセクションで印刷されていました。コード内にphpコードを表示する自己フォームアクション
これは私のPHPコードです:
<?php
ob_start();
session_start();
if(isset($_SESSION['user'])!=""){
header("Location: index.php");
}
include 'dbconfig.php';
$error = false;
extract($_POST);
error_reporting(0);
## :: Registration :: ##
if(isset($_POST['submit']))
{
$fname = $_POST['fname']; //gets firstname from frontend
$lname = $_POST['lname']; //gets lastname from frontend
$email = $_POST['email']; //gets email from frontend
$password = $_POST['password']; //gets password from frontend
$cpassword = $_POST['cpassword']; //gets Confirm password from frontend
$mobile = $_POST['mobile']; //gets mobile from frontend
$class = $_POST['class']; //gets class from frontend
$remote = $_SERVER['REMOTE_ADDR']; //gets the ip address from user
$reg_query = mysqli_query($conn, "INSERT INTO `at_reg_user`(`fname`, `lname`, `email`, `password`, `cpassword`, `mobile`, `class`, `ipaddress`) VALUES ('$fname','$lname','$email','$password1','$cpassword1','$mobile','$class','$remote')");
if ($reg_query) {
header('Location: index');
$errMSG = "Successfully registered, you may login now";
unset($fname);
unset($lname);
unset($email);
unset($password);
unset($cpassword);
unset($mobile);
unset($class);
} else {
$errMSG = " Not Successfully registered, you may login now";
}
}
}
?>
これは私のフォームアクションコード
<form method="post" action='<?php echo htmlentities($_SERVER["PHP_SELF"]);?>' >
<div class="form-group"> <span class="text-danger"><?php echo $fnameError; ?></span>
<label class="sr-only" for="form-fname">First name</label>
<input type="text" name="fname" placeholder="First name..." class="form-first-name form-control" id="fname">
</div>
<div class="form-group"><span class="text-danger"> <?php echo $lnameError; ?></span>
<label class="sr-only" for="form-last-name">Last name</label>
<input type="text" name="lname" placeholder="Last name..." class="form-last-name form-control" id="lname">
</div>
<div class="form-group"><span class="text-danger"> <?php echo $emailError; ?></span>
<label class="sr-only" for="form-email">Email</label>
<input type="email" name="email" placeholder="Email..." class="form-email form-control" id="email">
</div>
<div class="form-group"><span class="text-danger"> <?php echo $passwordError; ?></span> <span class="text-danger"> <?php echo $passwordmError; ?></span>
<label class="sr-only" for="form-password">Password</label>
<input type="password" name="password" placeholder="Password..." class="form-password form-control" id="password">
</div>
<div class="form-group"><span class="text-danger"><?php echo $cpasswordError; ?></span> <span class="text-danger"> <?php echo $cpasswordmError; ?></span> <span class="text-danger"> <?php echo $mcpasswordError; ?>
<label class="sr-only" for="form-confirm-password">Confirm Password</label>
<input type="password" name="cpassword" placeholder="Confirm Password..." class="form-cpassword form-control" id="cpassword">
</div>
<div class="form-group"><span class="text-danger"><?php echo $mobileError; ?></span>
<label class="sr-only" for="form-mobile">Mobile Number</label>
<input type="number" maxlength="10" name="mobile" placeholder="Mobile Number..." class="form-mobile form-control" id="mobile">
</div>
<div class="form-group"><span class="text-danger"><?php echo $classError; ?></span>
<select name="class" for="form-class" class="form-class form-control id" id="class">
<option selected="true" disabled="disabled">------Select Class------</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
</select>
</div>
<button type="submit" class="btn" name="submit" id="submit">Sign me up!</button>
</form>
ある問題が、再び成功したインデックスページにリダイレクトするが、上記のPHPコードが
を表示している」です
申し訳ありませんが、必要なものは理解できません。 –
'header();'の後ろに 'exit();'を置くべきです。これにより、スクリプトのさらなる実行が停止され、コードの後半に何かが表示されなくなります。また、これを行うと、データをデータベースに挿入するコードの下にリダイレクトを配置する必要があります – Thakkie
htmlフォームからの値は正常にデータベースに挿入されますが、上記のPHPコードはHTMLページに出力されます – Karthik