如何使以下select语句起作用

时间:2019-06-27 04:39:44

标签: php

我的表单中有以下选择标记,但是在尝试处理表单时,只有第二种方法,而没有第一种。我不确定这两个方法都应该工作吗?我不确定这里还可以包括什么,但是尝试了这两个方法,但是我认为可能是在这里使用select选项的情况……我实际上认为这两个方法都应该工作并且它应该应该是相同的...在我之前的所有页面中,我都使用了后者的编码,但我一直在考虑这一点,所以不应该都一样吗?

1) <?php
if(!isset($_POST['submit'])) {
    header("Location: index.php?update_profile_process=error");
    exit();
}  else {
    $update_profile = strip_tags($_POST['update_profile']);
    $first_name = strip_tags($_POST['first_name']);
    $last_name = strip_tags($_POST['last_name']);
    $username = strip_tags($_POST['username']);
    $email = strip_tags($_POST['email']);
    $password = strip_tags($_POST['password']);




    if ($update_profile === $first_name) {
        header("Location: update_profile_firstname.php");
         exit();
    } else {
        if ($update_profile === $last_name) {
             header("Location: update_profile_lastname.php");
             exit();
        } else {
            if ($update_profile === $username) {
                header("Location: update_profile_username.php");
                exit();
            } else {
                if ($update_profile === $email) {
                    header("Location: update_profile_email.php");
                    exit();
                } else {
                    if ($update_profile === $password) {
                    header("Location: reset.php");
                   exit();
                    }
                }
            }
        }
    }
}

2) <?php
if(!isset($_POST['submit'])) {
    header("Location: index.php?update_profile_process=error");
    exit();
}  else {
    $update_profile = strip_tags($_POST['update_profile']);
    $first_name = strip_tags($_POST['first_name']);
    $last_name = strip_tags($_POST['last_name']);
    $username = strip_tags($_POST['username']);
    $email = strip_tags($_POST['email']);
    $password = strip_tags($_POST['password']);



    if ($update_profile === 'first_name') {
        header("Location: update_profile_firstname.php");
         exit();
    } else {
        if ($update_profile === 'last_name') {
             header("Location: update_profile_lastname.php");
             exit();
      etc

虽然我在另一页中有此表单,但是我已经将变量传递给了,并认为上面的变量应该与$变量一起使用

<form class="signup-form" action="update_profile_process.php" method="POST">
       <select name="update_profile">
          <option value="" selected="selected">Which information would you like to update?</option> 
          <option value="first_name">First Name</option>
          <option value="last_name">Last Name</option>
          <option value="username">Username</option>
          <option value="email">E-mail</option>
          <option value="password">Password</option>
         </select>[enter image description here][1]
         <input type="hidden" name="csrf" value="<?php echo $csrf; ?>">
        <button type="submit" name="submit">Update Student's Information!</button>
   </form>

1 个答案:

答案 0 :(得分:1)

看看您的代码,我只能得出结论,$first_name中的值不是'first_name'。

尝试var_dump()echo取出$first_name的值以确认。