我是 PHP 和 HTML 新手,尝试创建 HTML 表单并使用 POST 方法将其提交给 PHP,但 POST 没有获取变量值:-
<html>
<head>
</head>
<body>
<form action="form_script.php" method="POST">
<p>Name: <input type="text" name="name" size="50"/></p>
<p>Size: <select name="size">
<option value="small">small</option>
<option value="medium">medium</option>
<option value="large">large</option>
</select>
</p>
<p>Gender: <input type="radio" name="gender" value="male"/> Male
<input type="radio" name="gender" value="female"/> Female</p>
</br>
<input type="submit" name="submit" value="Submit Button"/>
</form>
</body>
</html>
PHP:
<?php
$name=$_POST['name'];
$size=$_POST['size'];
$gender=$_POST['gender'];
print "<p>Name: $name Size: $size Gender: $gender<p>";
?>
最佳答案
i am using file:///C:/wamp/www/L/form_script.php to run the script, if u use localhost/L/form_script.php i get an error :- Notice: Undefined index: Name in C:\wamp\www\L\form_script.php on line 2"
给你。您需要使用 http://localhost/L/form_script.php
而不是 file:///C:/wamp/www/L/form_script.php
就像我有一种感觉,你正在使用,我什至做了 a comment about it .
在 Web 浏览器中访问 PHP 文件时,PHP 指令不会像常规 HTML 文档 .html/.htm
等那样被解析。
如果您收到未定义的通知,那么这告诉我您正在同一个文件中使用 HTML 表单和 PHP,或者您在输入中输入了空值。
"@Sean these are 2 different files the HTML file is named form.php & the php file is form_script.php – pranay 5 mins ago"
您在使用 HTML 表单之前直接访问 form_script.php
,从而向您抛出这些通知。
- 我不知道您为什么要在表单之前尝试访问它。
步骤:首先访问您的表单文件http://localhost/L/form.php
,然后提交。然后您将被带到 form_script.php
,依次显示在输入中输入的内容。
您需要对输入/POST 数组使用条件 isset()
或 !empty()
,或使用两个单独的文件;一个用于您的表单,另一个用于您的处理程序,同时还检查 empty()
'ness;它总是最好的。
"Notice: Undefined index: Name"
有趣的是,您的代码显示为 name="name"
以及 POST 数组 $_POST['name']
。
不知道带有大写“N”的Name
来自哪里。
Name
和 name
完全是两种不同的动物。
if(!empty($_POST['name']))
作为示例,并将该方法应用于您的其他 POST 数组。
可以使用&&
(AND
) - ||
(OR
)运算符.
- 使用
isset()
作为单选/复选标记/提交按钮,使用!empty()
作为用户输入。
使用三元运算符也是一种选择。
关于PHP 脚本似乎没有获取变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33857597/