2017-04-22 8 views
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コードが

を表示している」です
+0

申し訳ありませんが、必要なものは理解できません。 –

+0

'header();'の後ろに 'exit();'を置くべきです。これにより、スクリプトのさらなる実行が停止され、コードの後半に何かが表示されなくなります。また、これを行うと、データをデータベースに挿入するコードの下にリダイレクトを配置する必要があります – Thakkie

+0

htmlフォームからの値は正常にデータベースに挿入されますが、上記のPHPコードはHTMLページに出力されます – Karthik

答えて

0

"ob_start();"をPHPファイルから削除してください。