我在4个文本框中遇到这样的错误
<b/><b>Notice</b>: Undefined variable: fname in <b>C:\xampp\htdocs\webpage\phpmyadmin\db\form.php</b> on line <b>..</b><br />
我从here读到类似的问题,但它对我不起作用。
我在哪里弄错了?
<?php
if(isset($_POST['name']) && isset($_POST['password'])&& isset($_POST['fname'])
&& isset($_POST['lname']) && isset($_POST['email'])){
$name = $_POST['name'];
$pass = $_POST['password'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$passhash = md5($pass);
}
?>
<form action="#" method="POST">
Name:<br>
<input type="text" name="name" value="<?php echo $name ?>"><br>
Password:<br>
<input type="password" name="password"><br>
Firstname:<br>
<input type="text" name="fname" value="<?php echo $fname ?>"> <br>
Lastname:<br>
<input type="text" name="lname" value="<?php echo $lname ?>"> <br>
Email:<br>
<input type="text" name="email" value="<?php echo $email ?>"><br>
<input type="submit" value="Submit">
</form>
答案 0 :(得分:0)
检查isset然后回显,因为在发布数据之前,您将无法获得所有数据:
<form action="#" method="POST">
Name:<br>
<input type="text" name="name" value="<?php if(isset($name)) echo $name; ?>"><br>
Password:<br>
<input type="password" name="password"><br>
Firstname:<br>
<input type="text" name="fname" value="<?php if(isset($fname)) echo $fname; ?>"> <br>
Lastname:<br>
<input type="text" name="lname" value="<?php if(isset($lname)) echo $lname; ?>"> <br>
Email:<br>
<input type="text" name="email" value="<?php if(isset($email)) echo $email; ?>"><br>
<input type="submit" value="Submit">
</form>
答案 1 :(得分:0)
使用<?php if(isset($name )) echo $name; ?>
代替<?php echo $name ?>
,并使用相同的所有..
OR
您可以使用$name = isset($_POST['name']) ? $_POST['name']: "";
代替$name = $_POST['name'];
并使用相同的所有..
答案 2 :(得分:0)
初始化$name = $pass = $fname = $lname = $email = $passhash ='';
在此行之前'if(isset($_POST['name']) && isset($_POST['password'])&& isset($_POST['fname'])' ;
你的代码没问题。
答案 3 :(得分:0)
我遇到了你的问题,你正试图访问不是decalre的变量。你可以尝试下面的代码,它的工作正常。
<?php
if(isset($_POST['name']) && isset($_POST['password'])&& isset($_POST['fname'])
&& isset($_POST['lname']) && isset($_POST['email'])){
$name = $_POST['name'];
$pass = $_POST['password'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$email = $_POST['email'];
$passhash = md5($pass);
}
?>
<form action="#" method="POST">
Name:<br>
<input type="text" name="name" value="<?php echo isset($name)?$name:"" ?>"><br>
Password:<br>
<input type="password" name="password"><br>
Firstname:<br>
<input type="text" name="fname" value="<?php echo isset($fname)?$fname : "" ?>"> <br>
Lastname:<br>
<input type="text" name="lname" value="<?php echo isset($lname)?$lname:"" ?>"> <br>
Email:<br>
<input type="text" name="email" value="<?php echo isset($email) ? $email : "" ?>"><br>
<input type="submit" value="Submit">
</form>
这里我用isset函数检查如果设置了变量然后打印值,否则为空白。