登録しようとしましたが、ページにデータが入力されていませんでした。私は以前と同じ構文で多くのページを作ってきましたが、与えられたものだけwork.itはパスワード検証の2回のループに入りますが、最後のループで他のページにジャンプしてクエリを使ってデータを入力しようとしています。私の間違いを是正するのに役立ちます。ありがとうございますPHP登録フォームが動作しない
<?php
#start session
session_start();
#Database connection here
$dbc = mysqli_connect('localhost','root','farmstockexchange','fse') OR die('ERROR :'.mysqli_connect_error());
if (isset($_POST['submitted'])==1)
{
$username = mysqli_real_escape_string($dbc, $_POST['username']);
$email = mysqli_real_escape_string($dbc, $_POST['email']);
$password = mysqli_real_escape_string($dbc, $_POST['password']);
$passwordv = mysqli_real_escape_string($dbc, $_POST['passwordv']);
if ($username && $password && $passwordv) {
if ($password == $passwordv)
{
$q = "INSERT INTO user (username, email, password) VALUES ('$username', '$email', SHA1('$password')";
$r = mysqli_query($dbc, $q);
if ($r)
{
header('location:reg1.php');
}
else
{
echo 'data not entered';
}
}//$password == $passwordv
else {
echo 'password didnt match';
}
} // $username && $password && $passwordv
else
{
echo 'please enter some data or error :'.mysqli_error($dbc);
echo '<p>'.$q.'</p>';
}
<!-- there some problem in this loop -->
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<?php include('../config/css.php'); ?> <!-- bootstrap cdn -->
<?php include('../config/js.php'); ?> <!-- bootstrap cdn -->
</head>
<body>
<div id="wrap">
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="panel panel-info">
<div class="panel-heading"><strong>Register</strong></div><!-- panel heading-->
<div class="panel-body">
<form action="register.php" method="post"><!-- basic registration form-->
<div class="form-group">
<label for="username">Username</label>
<input type="text" class="form-control" id="username" name="username" placeholder="User name" required>
</div>
<div class="form-group">
<label for="email">Email address</label>
<input type="email" class="form-control" id="email" name="email" placeholder="Email Address" required>
</div>
<div class="form-group">
<label for="password">Password</label>
<input type="password" class="form-control" id="password" name="password" placeholder="Password" required>
</div>
<div class="form-group">
<label for="passwordv">Password</label>
<input type="password" class="form-control" id="passwordv" name="passwordv" placeholder="Password Verification" required
>
</div>
<button type="submit" class="btn btn-primary btn-lg btn-block">Register</button>
<input type="hidden" name="submitted" value="1">
</form>
</div> <!-- panel body -->
</div><!-- panel end -->
</div><!-- column end -->
</div><!-- row end -->
</div><!-- container end -->
</div> <!-- wrap end -->
</body>
</html>
を得た。これは、 ''あなたの隠された入力を使用して)あなたに偽陽性ところで '場合(ISSET($ _ POST [ '提出'])== 1を与えるため
にあなたをそれを変更 'そして、決して発砲しないでしょう。 –
あなたの間違い?本当のエスケープパスワードを見ますか?パスワードをプレーンテキストとして保存しますか? SQLインジェクションにオープンしています(実際のエスケープ文字列はあなたを完全に保護しません)?私はこれが何のためのものなのか分かりませんが、あなたがこの道を続けるなら、あなたは多くの問題に取り組むつもりです。 – icecub
以下のリンクhttp://php.net/manual/en/mysqli.error.phpとhttp://php.net/manual/en/function.error-reporting.php を参考にしてコードに適用してください。 –