2015-07-13 51 views
3

为什么我得到未定义的索引与我的表单是因为我使用的编码类型,如果是的话,我该怎么办才能解决这个问题正常发布我的变量为什么我得到未定义的索引当我使用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> 

我知道,比如从第1页被张贴到这种形式的变量来通过,因为我有一个if语句与isset()函数的变量,使其头到另一个网页,如果有没有设置。这种形式的代码是从第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 

IM我再次检查并确保我的所有方法都使用了post,但我能想到的唯一原因是由于某些输入值的回显和enctype的组合。如果有人能帮助我,将不胜感激。

+0

什么这个print_r的输出($ _ POST) –

+0

任何可能性,你正在使用JavaScript提交表单?你的选择中有'onfocus ='emptyElement('status')“',这会影响你的代码吗? – Sean

+0

@Sean的onfocus功能不应该在那里意味着删除它,uuniveristy的价值是通过它的“mysex”和“价值”,我不认为可能需要做的是回应价值 –

回答

0

未定义变量大学意味着你没有选择任何选项来修复,你可以设置任何选项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

你是否在意分享为什么OP应该'试试这个代码'? – Sean

+0

@Dhinju Divakaran如果变量发布需要检查是否设置,我知道100%他们张贴到页面的形式 –

+0

@我不认为你是什么意思你是否在意分享为什么OP应该试试这个代码? –

-1

我有任何两个选项
第一:

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"]; }?>"> 
+0

我试过这个,它不工作 –

相关问题