2011-08-17 171 views
-2

确定Dreamweaver和我的本地主机服务器保持说他们是一个错误,但我不知道在哪里请帮助?PHP错误,但它在哪里?

这是一个PHP脚本弄清楚,如果用户已经有一个帐户,然后,他没有将他登记到数据库

<html> 
<head> 
<style type="text/css"> 
p {color:white;font-size:20px;} 
.toppa {width: 100%;background-color:#2D2D2D;} 
</style> 

<?php 
//Database Information 

$dbhost = "localhost"; 
$dbname = "a8423624_grubber"; 
$dbuser = "root"; 
$dbpass = ""; 

//Connect to database 

mysql_connect ($dbhost, $dbuser, $dbpass)or die("Could not connect: ".mysql_error()); 
mysql_select_db($dbname) or die(mysql_error()); 

$username = $_POST['username']; 
$email = $_POST['email'];  
$password = md5($_POST['password']); 
$repassword = md5($_POST['repassword']); 

$month = $_POST['month']; 
$day = $_POST['day']; 
$year = $_POST['year']; 

$Intro = 1; 
$admin = "no"; 

if (!(empty($username) or empty($email) or empty($password) or empty($repassword))) 
{ 
//a Text field is empty 
    if ($password == $repassword) { 
    $checkuser = mysql_query("SELECT username FROM users WHERE username='$username'"); 
    $checkuser1 = mysql_query("SELECT email FROM users WHERE email='$email'"); 
    $email_exist = mysql_num_rows($checkuser1); 
    $username_exist = mysql_num_rows($checkuser); 
       // checks email 
      if ($username_exist > 0) 
         { 
         echo "<div class='toppa' align='center'> 
         <h1 align='Left'> Grubber </h1> 
         </div> 
         <p> You'r Name has been taken please try another Name. </P>"; 
         include 'tryagain.html'; 
         } 
        else 
         { 
          if ($email_exist > 0) 
          { 
           echo "<div class='toppa' align='center'> 
           <h1 align='Left'> Grubber </h1> 
           </div> 
           <p> You'r Email has been taken please try another Email.</P>"; 
           include 'tryagain.html'; 
          } 
          else 
          { 
           $themes = ("http://grubber.host56.com/Themes/Grubber.gif"); 
           $date = ("$year/$month/$day"); 
           $proimg = ("http://grubber.host56.com/images/defaultprof.png"); 
           $query = "INSERT INTO users (admin,themes,proimg,Birthday,Intro,email, username, password) 
           VALUES('$admin','$themes','$proimg','$date', '$Intro', '$email', '$username', '$password')"; 
           mysql_query($query) or die(mysql_error()); 
           mysql_close(); 
           echo "<div class='toppa' align='center'> 
           <h1 align='Left'> Grubber </h1> 
           </div> 
           <p> Please sign in to test that your account works </P>"; 
           include 'tryagain.html'; 
           } 

      else 
      { 
      echo "<div class='toppa' align='center'> 
      <h1 align='Left'> Grubber </h1> 
      </div> 
      <p>You'r passwords are not the same please try again.</P>"; 
      } 

} 
else 
{ 
    echo "<div class='toppa' align='center'> 
         <h1 align='Left'> Grubber </h1> 
         </div> 
         <p> Please fill in all fields </P>"; 
         include 'tryagain.html'; 
} 
    } 
} 
?> 
+2

你有没有试过启用'display_errors'并调查是怎么回事? – J0HN

+0

您能否更具体地了解错误?它何时发生,它是否会购买一条消息?运行时错误? –

+0

所以它只是说错误,没有给出任何线索在哪里? – Alex

回答

0

首先,你应该启用error_reporting。 其次,你应该消毒使用mysql_real_escape_string(其他有害人们可以SQL inject)您的输入和第三,你应该用你的SQL查询后or die (mysql_error());,像这样:

$checkuser = mysql_query("SELECT username FROM users WHERE username='$username'") or die(mysql_error()); 
$checkuser1 = mysql_query("SELECT email FROM users WHERE email='$email'") or die(mysql_error()); 

如果你的SQL查询失败,你将看到正确的错误。

+0

来解决它,谢谢你们,你们是好人 – ryanc1256