2014-12-04 50 views
-1

我試圖創建一個註冊頁面。我跟着一個指南,但它的錯誤和即時通訊提供了一個空白的屏幕,當我運行它。我想我可能會誤解一些代碼。任何幫助將不勝感激。我試圖創建一個註冊頁面。獲得空白屏幕

<?php 

     if (isset($_POST['register'])){ 
      if (empty($_POST['email']) && 
       (empty($_POST['username']) && 
       (empty($_POST['password']) && 
       (empty($_POST['re-enter']) && 
       (empty($_POST['title']) && 
       (empty($_POST['first name']) && 
       (empty($_POST['second name']) && 
       (empty($_POST['address']) && 
       (empty($_POST['postcode']) && 
       (empty($_POST['contactnumber'])){ 
        $email=$_POST['email']; 
        $username=$_POST['username']; 
        $password=$_POST[['password']; 
        $reenter=$_POST['re-enter']; 
        $title=$_POST['title']; 
        $firstname=$_POST['firstname']; 
        $secondname=$_POST['secondname']; 
        $address=$_POST['address']; 
        $postcode=$_POST['postcode']; 
        $contactnum=$_POST['contactnumber']; 
        if ($password == $reenter) { 
         $conn = mysqli_connect('127.0.0.1', 'i7266***', 'Winter****', 'i72*****'); 
         $emailquery = "SELECT * FROM UserTable WHERE email = '$email'"; 
         $r = mysqli_query($conn, $emailquery); 
         $count = mysqli_num_rows($r); 
          if ($count == 1) { 
           echo "Email already exists"; 
          } else { 
           $query = "INSERT INTO UserTable VALUES ('$username', '$password', '$email', '$title', '$firstname', '$secondname', '$address', '$postcode', '$contactnum')"; 
           $run = mysqli_query($conn, $query); 
           echo "Customer account has been created"; 
          } 
        } else { 
        echo "Passwords did not match"; 
        } 
      } else { 
       echo "please enter your details to register"; 
       } 


     }else { 
      echo "Please enter details to register"; 
      } 



    ?> 
    <form method="POST" action=""> 
    Email: 
    <input type="email" name="email"><br> 
    Username: 
    <input type="text" name="username"><br> 
    Password: 
    <input type="password" name="password"><br> 
    Re-enter password: 
    <input type="password" name="re-enter"><br> 
    Title: 
    <input type="text" name="title"><br> 
    First name: 
    <input type="text" name="firstname"><br> 
    Second name: 
    <input type="text" name="secondname"><br> 
    Address 
    <input type="text" name="address"><br> 
    Postcode: 
    <input type="text" name="postcode"><br> 
    Contact number 
    <input type="number" name="contactnumber"><br> 
    <br> 
    <input type="submit" name="register" value="Register"> 
+1

**警告**您的代碼極易遭受SQL注入攻擊! – 2014-12-04 13:54:41

+0

嘗試用'php -l your_filename.php'來檢查你的代碼。 – r92 2014-12-04 13:55:36

+3

計算'('的數量。然後計算''''的數量)。那是不對的。更何況,你正在處理的形式*只*如果*他們*都是空的*。 – 2014-12-04 13:56:43

回答

1

你是不是關閉「()」中的第二個,如果在所有的評價,你有一個以上的這種「[」在$password=$_POST[['password'];

試試這個:

<?php 

     if (isset($_POST['register'])){ 
      if ((empty($_POST['email'])) && 
       (empty($_POST['username'])) && 
       (empty($_POST['password'])) && 
       (empty($_POST['re-enter'])) && 
       (empty($_POST['title'])) && 
       (empty($_POST['first name'])) && 
       (empty($_POST['second name'])) && 
       (empty($_POST['address'])) && 
       (empty($_POST['postcode'])) && 
       (empty($_POST['contactnumber']))){ 
        $email=$_POST['email']; 
        $username=$_POST['username']; 
        $password=$_POST['password']; 
        $reenter=$_POST['re-enter']; 
        $title=$_POST['title']; 
        $firstname=$_POST['firstname']; 
        $secondname=$_POST['secondname']; 
        $address=$_POST['address']; 
        $postcode=$_POST['postcode']; 
        $contactnum=$_POST['contactnumber']; 
        if ($password == $reenter) { 
         $conn = mysqli_connect('127.0.0.1', 'i7266***', 'Winter****', 'i72*****'); 
         $emailquery = "SELECT * FROM UserTable WHERE email = '$email'"; 
         $r = mysqli_query($conn, $emailquery); 
         $count = mysqli_num_rows($r); 
          if ($count == 1) { 
           echo "Email already exists"; 
          } else { 
           $query = "INSERT INTO UserTable VALUES ('$username', '$password', '$email', '$title', '$firstname', '$secondname', '$address', '$postcode', '$contactnum')"; 
           $run = mysqli_query($conn, $query); 
           echo "Customer account has been created"; 
          } 
        } else { 
        echo "Passwords did not match"; 
        } 
      } else { 
       echo "please enter your details to register"; 
       } 


     }else { 
      echo "Please enter details to register"; 
      } 



    ?> 
    <form method="POST" action=""> 
    Email: 
    <input type="email" name="email"><br> 
    Username: 
    <input type="text" name="username"><br> 
    Password: 
    <input type="password" name="password"><br> 
    Re-enter password: 
    <input type="password" name="re-enter"><br> 
    Title: 
    <input type="text" name="title"><br> 
    First name: 
    <input type="text" name="firstname"><br> 
    Second name: 
    <input type="text" name="secondname"><br> 
    Address 
    <input type="text" name="address"><br> 
    Postcode: 
    <input type="text" name="postcode"><br> 
    Contact number 
    <input type="number" name="contactnumber"><br> 
    <br> 
    <input type="submit" name="register" value="Register"> 

希望你的作品。

現在的語法很好,但邏輯錯誤,正如@Niet Dark Absol所說:只有當它們全部爲空時,您纔會處理表單。

+1

良好的趕上'$密碼= $ _ POST [['密碼']' - 那個逃脫了我。 – 2014-12-04 14:08:43

+0

Omg我以爲我檢查了那些我需要更多的睡眠。生病嘗試現在的代碼謝謝你!編輯:只需運行代碼,它現在顯示!謝謝!沒有充分的工作,但它的開始。感謝幫助 – 2014-12-04 14:10:50

+0

@AidanClifford你讀過了嗎?(Niet's comment?)(http://stackoverflow.com/questions/27295803/im-trying-to-create-a-sign-up-page-getting-blank-screen#comment43056115_27295803 ) – 2014-12-04 14:20:20