PHP Register.php

时间:2011-03-29 11:06:04

标签: php

任何人都可以帮我这个代码吗?每次我想试用我的registerform.php时,我都不会被重定向到成功的消息页面。浏览器说链接被破坏了。我没有收到任何错误。

registerform.php

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>register</title>
</head>
<body>
<FORM ACTION="register.php" METHOD="POST">
<h1>welcome to the registration page</h1>
please input the registration details to create an account here<br>
<table border="2">
<tr>
<td>User Name :</td><td><input name="regname" type="text" size"20"></input></td>
</tr>
<tr>
<td>email :</td><td><input name="regemail" type="text" size"20"></input></td>
</tr>
<tr>
<td>password :</td><td><input name="regpass1" type="password" size"20"></input></td>
</tr>
<tr>
<td>retype password :</td><td><input name="regpass2" type="password" size"20"></input></td>
</tr>
</table>
 <input type="submit" value="register me!"></input>
</FORM>
</body>
</html>

register.php

<?php

 session_start();
if($_GET["regname"] && $_GET["regemail"] && $_GET["regpass1"] && $_GET["regpass2"] )
{
    if($_GET["regpass1"]==$_GET["regpass2"])
    {
    $servername="localhost";
    $username="root";
    $password="";
    $conn=  mysql_connect($servername,$username,$password)or die(mysql_error());
    mysql_select_db("tweetball",$conn);
    $sql="insert into users (UserName,UserEmail,Password)values('$_GET[regname]','$_GET[regemail]','$_GET[regpass1]')";
    $result=mysql_query($sql,$conn) or die(mysql_error());      
    print "<h1>you have registered sucessfully</h1>";

    print "<a href='main_login.php'>go to login page</a>";
    }
    else print "passwords doesnt match";
}
else print"invaild input data";

?>

4 个答案:

答案 0 :(得分:2)

看起来您的表单设置为POST方法,但您使用GET调用值。试试这个:

register.php - &gt;

<?php

 session_start();
if($_POST["regname"] && $_POST["regemail"] && $_POST["regpass1"] && $_POST["regpass2"] )
{
    if($_POST["regpass1"]==$_POST["regpass2"])
    {
    $servername="localhost";
    $username="root";
    $password="";
    $conn=  mysql_connect($servername,$username,$password)or die(mysql_error());
    mysql_select_db("tweetball",$conn);
    $sql="insert into users (UserName,UserEmail,Password)values('$_POST[regname]','$_POST[regemail]','$_POST[regpass1]')";
    $result=mysql_query($sql,$conn) or die(mysql_error());      
    print "<h1>you have registered sucessfully</h1>";

    print "<a href='main_login.php'>go to login page</a>";
    }
    else print "passwords doesnt match";
}
else print"invaild input data";

?>

编辑:另外,正如其他人所说,你应该真正阅读SQL注入和php的“mysql_real_escape_string”功能。

编辑2:再次,正如其他人所说,确保您正确链接到“registerform.php”FROM标记中的“register.php”文件。

答案 1 :(得分:1)

您提供的表单是POST方法。但是你得到了GET方法值

答案 2 :(得分:1)

虽然Kristoffer la Cour说的是真的并且会引起一些问题。如果浏览器说该链接已损坏,那么我认为'register.php'文件更有可能被错误地命名或者在正确的目录中不存在。

答案 3 :(得分:-1)

问题是您需要添加一些代码来阻止已注册的用户名重新注册。