2016-10-25 5 views
1

私はアカウント作成フォームの提出PHPスクリプトを作成しています。ただし、クエリは無限ループに入ります。それは、ページを閉じるまで、データベースにエントリを継続的に追加します。それはなぜこれをするのですか?本当にありがとう!無限ループでのPOSTのissetクエリ

<?php require 'dbconnect.php'; ?> 
<?php 
    //If sign up submit POST recieved 
    if (isset($_POST['suEmail'])) 
    { 
     $suFirstName = mysqli_real_escape_string($connection, $_POST['suFirstName']); 
     $suLastName = mysqli_real_escape_string($connection, $_POST['suLastName']); 
     $suEmail = mysqli_real_escape_string($connection, $_POST['suEmail']); 
     $suPassword = mysqli_real_escape_string($connection, $_POST['suPassword']); 
     $suDisplayName = mysqli_real_escape_string($connection, $_POST['suDisplayName']); 
     $confirmCode = substr(md5(mt_rand()),0,15); 

     $query = $connection->query("INSERT INTO users (firstName,lastName,email,password,displayName,confirmCode,verified)Values('{$suFirstName}','{$suLastName}','{$suEmail}','{$suPassword}','{$suDisplayName}','{$confirmCode}','0')"); 

     if ($query) 
     { 
      echo "query SUCCESS"; 
      $subject = "Learncyclopedia Email Verification"; 
      $headers = "From: [email protected] \r\n"; 
      $headers .= "Reply-To: [email protected] \r\n"; 
      $headers .= "MIME-Version: 1.0\r\n"; 
      $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

      $message = '<html><body>'; 
      $message.='<div style="width:550px; background-color:#CC6600; padding:15px; font-weight:bold;">'; 
      $message.='Learncyclopedia Email Verification'; 
      $message.='</div>'; 
      $message.='<div style="font-family: Arial;">Hello '.$suFirstName.'<br/>'; 
      $message.='Click on the link below to verify your account<br>'; 
      $message.="<a href='http://79.170.40.236/learncyclopedia.com/user-confirmation.php?email=$suEmail&confirmation_code=$confirmCode'>click</a>"; 
      $message.='</div>'; 
      $message.='</body></html>'; 

      mail("[email protected]",$subject,$message,$headers); 
     } 
    } 
?> 
+0

これは 'dbconnect.php'ではありません。これはあなたの正確なコードですか? 'query'を' echo'と入れ替えると、ノンストップの出力が得られますか? – chris85

+0

これはdbconnect.phpではなく、dbconnectは私の接続ファイルです。いいえ、私はエコーとクエリを置き換えるときに私は非停止出力を取得しません。しかし、私はそれを正常に保つと、私はページを閉じるまでデータベースにエントリを配置し続けます。ご協力いただきありがとうございます! –

答えて

0

送信ボタン名を確認してください。私はあなたがこれを台無しにしたと思います。

suEmail、$ suEmail = mysqli_real_escape_string($接続、$ _POST ['suEmail']);