提问人:Jeremy Sills 提问时间:7/13/2015 最后编辑:Scott ArciszewskiJeremy Sills 更新时间:7/15/2015 访问量:564
为什么当我使用 enctype=“multipart/form-data” 时会得到未定义的索引
why am i getting undefined indexs when i use enctype="multipart/form-data"
问:
为什么我的表单会收到未定义的索引,这是因为我使用的编码类型,如果是这样,我该怎么做才能解决这个问题以正确发布我的变量
<form enctype="multipart/form-data" name="pmForm" id="pmForm" method="post" action="personalspage.php"><br>
<b>Age</b> <input type="text" name="age" id="age" cols="4"><br><br>
<b>University</b> <select name="university" id="university" onfocus="emptyElement('status')">
<option disabled selected>select one...</option>
<option value="Algoma">Algoma University</option>
<option value="york">York University</option>
</select><br><br>
<b>Headline</b> <input type="text" name="headline" id="headline"><br><br>
<b>Message</b> <textarea name="message" id="message" rows="6" cols="50"></textarea><br><br>
<b>Add a picture</b> <input type="file" name="photo" id="photo" accept="image/*"><br><br>
<input type="hidden" name="mysex" id="mysex" value="<?php echo $_POST["mysex"]; ?>">
<input type="hidden" name="lookingfor" id="lookingfor" value="<?php echo $_POST["lookingfor"]; ?>">
<center><input type="submit" name="adSubmit" id="adSubmit" value="Post It"></center>
</form>
我知道从 page1 发布到此表单的变量正在通过,因为我有一个带有 isset() 的变量的 if 语句,如果未设置,则将其标题指向另一个页面。此表单代码来自第 2 页
我在第 3 页使用此代码来接收表单数据
$mysex = $_POST['mysex'];
$lookingfor = $_POST['lookingfor'];
$uni = $_POST['university'];
因此,当我将此表单中的所有变量发布到另一个页面时,我得到
Notice: Undefined index: mysex in C:\xampp\htdocs\Website\personalspage.php on line 4
Notice: Undefined index: lookingfor in C:\xampp\htdocs\Website\personalspage.php on line 5
Notice: Undefined index: university in C:\xampp\htdocs\Website\personalspage.php on line 6
我仔细检查并确保我的所有方法都使用 post,我唯一能想到的原因是为什么这不起作用是因为回显输入值和 enctype 的某种组合。如果有人能帮助我,将不胜感激。
答:
0赞
Dhinju Divakaran
7/13/2015
#1
未定义的变量大学意味着您没有选择任何选项来修复,您可以设置任何 ptions 和隐藏变量的问题是值不存在。固定代码在这里selected
<form enctype="multipart/form-data" name="pmForm" id="pmForm" method="post" action="personalspage.php"><br>
<b>Age</b> <input type="text" name="age" id="age" cols="4"><br><br>
<b>University</b> <select name="university" id="university" onfocus="emptyElement('status')">
<option disabled selected value="" selected>select one...</option>
<option value="Algoma">Algoma University</option>
<option value="york">York University</option>
</select><br><br>
<b>Headline</b> <input type="text" name="headline" id="headline"><br><br>
<b>Message</b> <textarea name="message" id="message" rows="6" cols="50"></textarea><br><br>
<b>Add a picture</b> <input type="file" name="photo" id="photo" accept="image/*"><br><br>
<input type="hidden" name="mysex" id="mysex" value="<?php if(isset($_POST["mysex"])) echo $_POST["mysex"];else echo ""; ?>">
<input type="hidden" name="lookingfor" id="lookingfor" value="<?php if(isset($_POST["lookingfor"]))echo $_POST["lookingfor"];else echo ""; ?>">
<center><input type="submit" name="adSubmit" id="adSubmit" value="Post It"></center>
</form>
评论
1赞
Sean
7/13/2015
你愿意分享为什么OP应该吗?Try this code
0赞
Jeremy Sills
7/13/2015
@Dhinju Divakaran 如果发布了变量,则需要检查它们是否已设置,我知道 100% 它们会发布到带有表单的页面上
0赞
Jeremy Sills
7/13/2015
@Sean我不明白你的意思,你愿意分享为什么 OP 应该尝试这段代码吗?
0赞
Sean
7/13/2015
@JeremySills当这个答案第一次发布时,它只是和代码块,这是一个模糊的答案。请参阅 stackoverflow.com/posts/31375457/revisions 我试图鼓励发帖人分享为什么他们的代码块可以回答您的问题。Try this code
0赞
Jeremy Sills
7/14/2015
@Dhinju Divakaran 是的,我尝试了代码,它仍然不起作用
0赞
Sagar Patel
7/13/2015
#2
首先,我有两个选择
:
error_reporting(0);
第二:
<input type="hidden" name="mysex" id="mysex"
value="<?php if(isset($_POST["mysex"])){ echo $_POST["mysex"]; }?>">
<input type="hidden" name="lookingfor" id="lookingfor"
value="<?php if(isset($_POST["lookingfor"])){ echo $_POST["lookingfor"]; }?>">
上一个:Laravel 8:未定义索引
下一个:未定义索引,但索引存在
评论
onfocus="emptyElement('status')"
var_dump(file_get_contents('php://input'));
var_dump($_POST);