1

我有一个注册页面(index.php)。它需要两个值“用户名”和“密码”,并且使用这些值的数据库更新发生在 registrartion.php 页面上。我希望代码在更新我的数据库后将registration.php页面重定向到index.php页面,同时显示您已成功注册的消息。在这方面提供帮助。谢谢

注册.php

 <?php

 $host="l888888"; // Host name 
 $username="******"; // Mysql username 
 $password="t******"; // Mysql password 
 $db_name="f****"; // Database name 
 $tbl_name="m******"; // Table name 

 // Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// username and password sent from form 
$myusername=$_POST['username']; 
mypassword=$_POST['password']; 


 // To protect MySQL injection (more detail about MySQL injection)
$myusername = stripslashes($myusername);
$mypassword = stripslashes($mypassword);
$myusername = mysql_real_escape_string($myusername);
$mypassword = mysql_real_escape_string($mypassword);

$query=mysql_query("INSERT INTO members(`username`,`password`) VALUES     ('$myusername','$mypassword')"); 


   if($query)
        header('Location: /home/faltutal/public_html/treasurehunt/index.php');

?>

如果我使用 header('Location:index.php')

错误显示无法修改标头信息 - 标头已发送(输出开始于 /home/faltutal/public_html/treasurehunt/registration.php:2)

4

5 回答 5

3

您可以通过传递 location:path 使用 header() 函数进行重定向:-如果要显示任何消息,可以通过 index.php?msg=your_message 或 flag 传递

<?php 
      $query=mysql_query("INSERT INTO members(`username`,`password`) 
                    VALUES('$myusername','$mypassword')"); 
       if($query)
            header('Location: http://my_ip/index.php.php?msg=added successfully');
?> 

或:您可以在 register.php 文件中显示消息,并通过单击链接,您可以重定向到 index.php 文件,如下所示

<?php 
      $query=mysql_query("INSERT INTO members(`username`,`password`) 
                    VALUES('$myusername','$mypassword')"); 
       if($query)
            echo "Successfully Added <a href='http://my_ip/index.php'>Click Here to Continue</a>";
?> 
于 2013-04-10T12:52:29.773 回答
2

尝试使用重定向

<?php 
      $query=mysql_query("INSERT INTO members(`username`,`password`) 
                    VALUES('$myusername','$mypassword')"); 
       if($query)
            header('Location: http://my_ip/mainpage.php.php');
?> 

对于标头函数 php,请参阅此链接

于 2013-04-10T12:45:56.047 回答
0
if ($query) { // if it's true
 header('Location: http://yoursite.com/index.php');
}
于 2013-04-10T12:45:28.723 回答
0

使用header()函数,您可以将页面重定向到您想要的任何位置。

于 2013-04-10T12:47:44.790 回答
0

我有同样的问题..即使给出的大多数答案在桌面上都可以正常工作,但我意识到我仍然在移动设备上收到标题已经发送错误。我在此页面上找到了解决方案如何自动重定向页面

如果有人遇到相同的桌面和移动问题,请在insert命令周围使用ob_start()ob_end_flush()函数。

<?php ob_start();
        $query=mysql_query("INSERT INTO members(`username`,`password`) 
                VALUES('$myusername','$mypassword')"); 
        if($query)
        header('Location: http://my_ip/index.php.php?msg=added successfully');

    ob_end_flush(); ?>
于 2017-10-11T20:20:33.100 回答