$ _post与数组之间的foreach循环不起作用

时间:2014-08-10 04:54:51

标签: php

我有两个文件:  1)login.html

<form method = "POST" action="procesare.php">
Username: <input type="text" name="nume_utilizator"/>
<br/>
Parola: <input type="password" name="parola"/>
<br/>
<input type="submit" value = "Trimite"/>

2)procesare.php ...无法正常工作:

$utilizatori_aplicatie = array(
    'Ion' => '1234',
    'Vasile' => '1234',
    'Jimmy' => '5678'
);
$nume_utilizator = $_POST['nume_utilizator'];
$parola = $_POST['parola'];

foreach($utilizatori_aplicatie as $username => $password)
    {
    if ($nume_utilizator == $username && $parola == $password)
        {
        echo 'FELICITARI!<br/>';
        }
    }

echo "Bine ai venit, " . $nume_utilizator . "!<br/>";
echo "Parola ta este: " . $parola . "<br/>";

我想输出......

 Ion or Vasile or Jimmy with their passwords with  
 FELICITARI!
 "Bine ai venit, ...name of the user

...当用户输入其中一个名称时。

如何使用我的代码执行此操作?

2 个答案:

答案 0 :(得分:0)

我无法在您提供的代码中看到这一点,这非常重要,但请关闭表单标记。

答案 1 :(得分:0)

如果您尝试直接访问php文件,则会收到错误消息。要避免错误,请初始化变量,然后将值设置为等于post值(如果存在)。如果您不想在某些情况下回显它们,也可以在echo语句之前检查值。

$utilizatori_aplicatie = array(
            'Ion' => '1234',
            'Vasile' => '1234',
            'Jimmy' => '5678'
        );
    $nume_utilizator ='';
    $parola = '';
    if(!empty($_POST['nume_utilizator'])){
        $nume_utilizator = $_POST['nume_utilizator'];
    }
    if(!empty($_POST['parola'])){
        $parola = $_POST['parola'];
    }

        foreach($utilizatori_aplicatie as $username => $password)
            {
            if ($nume_utilizator == $username && $parola == $password)
                {
                echo 'FELICITARI!<br/>';
                }


              }

if(!empty($parola) && !empty($nume_utilizator)){
            echo "Bine ai venit, " . $nume_utilizator . "!<br/>";
            echo "Parola ta este: " . $parola . "<br/>";
}
else{
echo "Please access this page via login.html and make sure you enter the values of both username and password.";
}