0

我制作了一个使用 javascript (register.php) 具有验证技术的表单,location.href="storedata.php"以重定向到其中包含 MySQL 查询的页面,从那里我想重定向到另一个页面 ( successful.php)。

简化代码是这样的:

注册.php

   <script type="text/javascript">
    function formValidate(){
    //FORM VALIDATION
    } 
   location.href="storedata.php";
    </script>
    <body>
    <form name="register" onsubmit="return formValidate()" method="post">
    //Form Values
    </form>
    </body>

存储数据.php

    <?php
    $con=mysqli_connect("localhost","root","root","UserPassDB");
    // Check connection
    if (mysqli_connect_errno())
      {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
      }

    mysqli_query($con,"INSERT INTO Users (UserName, Email, Password, Gender)
    VALUES ('$_POST[duser]', '$_POST[demail]','$_POST[dpwd]',$_POST[gender] )");

    mysqli_close($con);


    header("Location: successful.php");
    exit();

    ?>

成功的.php

<?php echo "Congratulations!!! you have been registered"; ?>

早些时候它进展顺利,但在向数据库插入 1 或 2 个值后,它只是清空了表单的所有字段。有人可以告诉我我错在哪里。或者,您可以建议任何其他方式来重定向到这样的页面。

4

1 回答 1

0

您已将“register.php”页面重定向到“storedata.php”,这是不正确的,您需要将“register.php”页面提交到“storedata.php”,以便从代码中删除此行

location.href="storedata.php";

在此之后将您的表单标记作为“storedata.php”进行操作,即

<form name="register" onsubmit="return formValidate()" method="post" action="storedata.php">
于 2013-07-29T05:34:13.293 回答