【问题标题】:how to pass the data to other page after validate the page?验证页面后如何将数据传递到其他页面?
【发布时间】:2015-11-04 23:45:47
【问题描述】:

我已经完成了我的验证表单并且一切正常,但是我在如何将数据从表单传输到另一个 .php 页面(即流程页面)时遇到问题。

我目前从这个网站参考表单验证代码 http://www.w3schools.com/php/showphp.asp?filename=demo_form_validation_required

我的表格

<form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" id="form">

       <fieldset>
                <td>Name</td>
                <label>
                    <input type="text" name = "nama">
                    </input>
                    <span class="error">* <?php echo $nameErr;?></span>
                  </label>
                  <br>
                   <p>Gender</p>
                   <p>
                    Male</p><input type="radio" name= "gender" value="Male" >
                    <br>

                    <input name= "gender" type="radio" value="Female">
                Female<br></input>
                    <span class="error">* <?php echo $genderErr;?></span>

                  <br>
                  <td>Contact No</td>
                  <label>
                    <input type="text" name= "contact">
                    </input>
                    <span class="error">* <?php echo $contactErr;?></span>
                  </label>

                  <br>
                  <td>Address</td>
                  <label>
                    <textarea name= "address"></textarea>
                    <span class="error">* <?php echo $addressErr;?></span>
                  </label>
                  <br>
                <td>Email</td>
                  <label>
                    <input type="text" name= "email"></input>
                    <span class="error">* <?php echo $emailErr;?></span>
                  </label>
                  <br>
                  <td>Account Name</td>
                  <label>
                    <input type="text" name= "account"></input>
                    <span class="error">* <?php echo $accountErr;?></span>
                  </label>
                  <br>
                  <td>Password</td>
                  <label>
                    <input type="password" name= "password"></input>
                    <span class="error">* <?php echo $passwordErr;?></span>
                  </label>
                  <br>
                  <input type="button" value="Cancel"onClick="history.go(-1);return true;">
                  <input type="submit" value="Submit">


                </fieldset>
              </form>

process.php

<?php


$link = mysqli_connect('localhost', 'root', '', 'sport');

$nama=$_POST["nama"];
$gender=$_POST["gender"];
$contact=$_POST["contact"];
$address=$_POST["address"];
$email=$_POST["email"];
$account=$_POST["account"];
$password=$_POST["password"];

$sql = "INSERT INTO sport(name, gender, contact, address, email, account, password, eventtype) VALUES ('$nama' , '$gender', '$contact' , '$address', '$email', '$account', '$password', '')"; 

$query=mysqli_query($link, $sql);

if (!$query)
{
    echo "Fail to register";
}
else
{
header('Location:login_success.html');  
}

?>

在验证表单到 process.php 并执行 sql 查询后,如何将数据传递,以便将数据存储到数据库中。 假设我们只是将目标页面放入,但代码要求我使用&lt;form action="&lt;?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?&gt;"&gt;

【问题讨论】:

    标签: php forms validation


    【解决方案1】:

    根据您提供的链接,他们使用了服务器端验证而不是进行服务器端验证,尝试使用 JavaScript 或 jQuery 进行客户端验证。

    您可以在此处查看进行 JavaScript 验证的最简单方法: http://www.w3schools.com/js/tryit.asp?filename=tryjs_validation_js

    或者您可以尝试使用任何 jquery 库进行表单验证:

    http://formvalidator.net/

    用于演示:http://formvalidator.net/#reg-form

    【讨论】:

    • @Newbie 如果对您有帮助,请接受作为答案。
    • JavaScript 验证工作起来非常简单。但是,我如何使用脚本进行多重验证?我尝试使用 if 语句,但它只是验证第一个语句
    • 为每个字段验证尝试 elseif。
    【解决方案2】:

    您的表单操作指向自身,因此我假设验证代码高于您发布的 sn-p(如您提供的链接所示)。

    当您向 PHP 发送 POST HTTP 请求时,它会将表单数据存储在超全局变量 $_POST$_REQUEST 的关联数组中。 “表单操作”中引用的脚本是$_POST 内容的“所有者”,这意味着其他不相关的脚本将无法访问它。 要解决这个问题,您应该将requireinclude process.php 脚本添加到您的表单中,这样它也可以操纵$_POST 内容(小心您的代码流动!)

    请注意,这只是为了回答您的问题,但它不是解决您的问题的最佳方法。如您在tutorial 中所见,使用异步方法(例如 AJAX)可以更好地在客户端处理表单验证过程。另外,请查看 PHP 表单良好实践here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-08
      • 1970-01-01
      • 1970-01-01
      • 2016-09-04
      相关资源
      最近更新 更多