2016-04-16 13 views
-3
<?php 

    if($_POST['submit']) 
     { 

      if(!$_POST['email']) $error.= "<br /> Please Enter your email address"; 
      else if (!filter_var($_POST['email'] , FILTER_VALIDATE_EMAIL)) $error.= "<br /> Please enter a valid email address"; 

      if(!$_POST['password']) $error.= "<br />Please enter your password" ; 
      else 
       { 
        if(strlen($_POST['password'])<8) $error.= "<br />Please enter a password with at least 8 characters"; 
        if(!preg_match('`[A-Z]`' , $_POST['password'])) $error.= "<br />Please enter a password with at least one capital character"; 
       } 
      if($error) echo"There were error(s) in your sign up details: ".$error; 

      else 
       { 
        $link = mysqli_connect("", "", "", ""); 
        if(mysqli_connect_error()) 
         { 
          die("Could not connect to database"); 
         } 
        $query = "SELECT * FROM users WHERE email = '".mysqli_real_escape_string($link, $_POST['email'])."' "; 

        $result = mysqli_query($link,$query); 

        $results = mysqli_num_rows($result); 

        if($results) echo "This email is already registered. Do you want to sign in ?"; 

        else 
         { 

          $query = "INSERT INTO users (`email`, `password`) VALUES ('".mysqli_real_escape_string($link, $_POST['email']).", ".md5(md5($_POST['email'])).$_POST['password']."') "; 
          mysqli_query($link, $query); 
          echo"Registered"; 
         } 


       } 

     } 


?> 
+2

[質問]と[完璧な質問](http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/)を参照してください。ヘルプセンターの[編集ヘルプ](http://stackoverflow.com/editing-help)を読んでください。スタックオーバーフローでの書式設定は、他のサイトとは異なります。あなたの投稿がよく見えるほど、他の人がそれを読んで理解しやすくなります。 – Rizier123

+0

それはどんなエラーを吐き出すのですか? – Dorvalla

答えて

2
$link = mysqli_connect("", "", "", ""); 

あなたは、各パラメータには、挿入する必要がありますあなたのdb、アクセスするユーザ名、パスワード、およびあなたのdbの名前がどこにあるかをホストします。詳細については、

例えば

$link = mysqli_connect("127.0.0.1", "my_username", "my_password", "name_of_my_db"); 

あなたはこのlink

に相談できそうなこの行で別の問題があります:

$query = "INSERT INTO users (`email`, `password`) VALUES ('".mysqli_real_escape_string($link, $_POST['email']).", ".md5(md5($_POST['email'])).$_POST['password']."') "; 

これは、「文字列を含む唯一のフィールドが生成されますがあなたが望むものと思われるものは、のメールにフィールドが含まれている可能性があります彼電子メール値とパスワードフィールド。 したがって、フィールドを区切りたい場合は、一重引用符を閉じてもう一度開きます。

$query = "INSERT INTO users (`email`, `password`) VALUES ('".mysqli_real_escape_string($link, $_POST['email'])."',' ".md5(md5($_POST['email'])).$_POST['password']."') "; 
関連する問題