【问题标题】:If insert into database succed echo如果插入数据库成功回显
【发布时间】:2014-02-02 13:24:41
【问题描述】:

一个带有用户名和密码的简单注册表单,如果表单成功插入数据库以回显“已创建帐户”,我希望它;但如果页面被刷新,请不要再次添加注册表。

我用header('Location: signup.php'); 解决了刷新问题,但如果帐户已插入数据库,我不知道如何回显。

$numeocupat=mysql_num_rows( mysql_query("SELECT * FROM testlog WHERE username='".$username."'"));

if($numeocupat!=0){echo 'Username already used';}

else{ $insert=mysql_query('INSERT INTO `testlog` (`username`, `password`) 

VALUES ("'.$username.'", "'.$password.'")');

echo 'Account created.';

header('Location: signup.php');}

【问题讨论】:

  • 从您的代码中,即使发生回声,由于标头,您也会立即退出。您应该根据发生的情况和获得的结果创建一些函数并执行。
  • 您是否在某处找到了指导您使用此代码的教程,或者您是否自己执行此操作?可悲的是这里有太多错误,你的重定向不起作用,你的代码很容易被 SQL 注入。
  • @N.B.在我的服务器中,代码可以正常工作,但我不知道如何解决这两个问题,刷新问题和同一个 php 中的回显

标签: php mysql


【解决方案1】:

改变:

$numeocupat=mysql_num_rows( mysql_query("SELECT * FROM testlog WHERE username='".$username."'"));

if($numeocupat!=0){echo 'Username already used';}

else{ $insert=mysql_query('INSERT INTO `testlog` (`username`, `password`) 

VALUES ("'.$username.'", "'.$password.'")');

echo 'Account created.';

header('Location: signup.php?created=1');}

并且在 signup.php 的开头:

if($_GET['created'])
{
     echo 'Account created.';
}

【讨论】:

  • 我真的不知道怎么做。我有 17 岁,我刚开始使用 php。但@saman khademi 的回答有效。
  • 非常感谢!我现在了解 GET 的工作原理(:
  • 如果您觉得我的回答有用,我不介意点赞。
【解决方案2】:

试试

header( "refresh:5;url=signup.php" )

替换

header('Location: signup.php');}

【讨论】:

    猜你喜欢
    • 2016-11-05
    • 2018-01-19
    • 2019-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2014-12-04
    相关资源
    最近更新 更多