我在表单上遇到未定义的索引错误,我已经尝试isset
变量,但没有,我已经全局化了我能找到的所有变量,但我无法找到解决方案,我确定这只是一件简单的事情。
但我尝试的一切都给了我一个500错误..
问题出在'{$_GET['XID']}'
我已经尝试过'{(isset($_GET['XID']))}'
并得到500错误,我已经尝试'{(!isset($_GET['XID']))}'
我也因此错误500了..
我哪里错了?
以下是代码片段,这是我收到的错误消息:
注意:未定义的索引:第1039行的C:\ wamp64 \ www \ messages.php中的XID调用堆栈:0.0108 551240 1. {main}()C:\ wamp64 \ www \ messages.php:0 0.2587 1146104 2 .mail_compose()C:\ wamp64 \ www \ messages.php:50(虽然我很确定,但会在这个片段的第8行...)
段:
function mail_compose()
{
global $pl, $connection, $_SESSION, $q_ry, $_GET, $_POST, $cev, $thismess;
echo "<center><table width = '75%' border = '0' cellspacing = '0' class = 'forum'>
<tr bgcolor = '#999999'><td colspan=2><center><b>Send a message</b></td></tr>
<form name = 'reply' method = 'post' action = 'messages.php?action=send'><tr>
<td width = '25%' bgcolor = '#E3E3E3'><b>Users ID:</b></td>
<td bgcolor=#E3E3E3><input type = 'text' name = 'to' size = '5' maxlength = '10' value = '{$_GET['XID']}'>
<i><font size=2>(Example. 1)</font></i></td>
</tr><tr>
<td width=25% bgcolor=#E3E3E3><b>Subject:</b></td>
<td bgcolor=#E3E3E3><input type = 'text' name = 'subject' size = '50' maxlength = '50' value=''>
<i><font size=2>(Example. Hello)</font></i></td>
</tr><tr><td bgcolor = '#E3E3E3' colspan = '2' align = 'center'>
<a onClick=\"addwithEase(' :) ')\"><img src='images/smilies/smile.gif'></a>
<a onClick=\"addwithEase(' :P ')\"><img src='images/smilies/tounge.gif'></a>
<a onClick=\"addwithEase(' :( ')\"><img src='images/smilies/sad.gif'></a>
<a onClick=\"addwithEase(' :o ')\"><img src='images/smilies/shocked.gif'></a>
<a onClick=\"addwithEase(' :@ ')\"><img src='images/smilies/angry.gif'></a>
<a onClick=\"addwithEase(' o_O ')\"><img src='images/smilies/sarcy.gif'></a>
<a onClick=\"addwithEase(' :s ')\"><img src='images/smilies/confused.gif'></a>
<a onClick=\"addwithEase(' ;) ')\"><img src='images/smilies/wink.gif'></a>
<a onClick=\"addwithEase(' :* ')\"><img src='images/smilies/cool.gif'></a>
<a onClick=\"addwithEase(' :|o ')\"><img src='images/smilies/psyc.gif'></a>
<a onClick=\"addwithEase(' :| ')\"><img src='images/smilies/dissapointed.gif'></a>
<a onClick=\"addwithEase(' :D ')\"><img src='images/smilies/grin.gif'></a>
<a onClick=\"addwithEase(' xD ')\"><img src='images/smilies/histericle.gif'></a>
<a onClick=\"addwithEase(' :L ')\"><img src='images/smilies/laughing.gif'></a>
<a onClick=\"addwithEase(' xP ')\"><img src='images/smilies/histericletounge.gif'></a>
</td></tr>
<tr>
<td bgcolor = '#E3E3E3'><b>Message:</b></td>
<td width = '90%' bgcolor = '#E3E3E3'>
<textarea name = 'message' rows = '10' cols = '75%'></textarea></td>
</tr><tr bgcolor = '#E3E3E3'>
<td colspan = '2'><center><input type = 'submit' value = 'Send'></center></td>
</tr></form></table></center><script language=\"JavaScript\" type=\"text/javascript\">
function addwithEase(smileToAdd)
{
document.reply.message.value += smileToAdd;document.reply.message.focus();
}
</script>
<hr width = '75%'/>> <a href='messages.php'>Back</a><hr width = '75%'/>";
}
答案 0 :(得分:2)
您不能在字符串文字的中间放置if语句。
在外面进行测试。
$xid = ""; # This is the default
if (isset($_GET['XID'])) {
$html_safe_xid = htmlspecialchars($_GET['XID']);
}
echo "<center> etc etc etc $html_safe_xid etc etc etc";
答案 1 :(得分:0)
据我了解,问题是将数据传递给get方法脚本。不幸的是,你没有指定如何传递给字符串函数,因此我假设例如? XID =测试。如果是这种情况,您应该在方法名称中注明案例 - 如果它是&#39; {$ _GET [&#39; XID&#39;]}&#39;并使用xid = test传递字符串,然后你将有未定义的索引:XID。应该是正确的吗? XID =测试。要在get方法名称中为大写,小写字母排除灵敏度,请为小写方法名称添加第二个isset条件,并在echo中显示变量。
enter code here
$xid = '';
if(isset($_GET['XID']))
$xid = $_GET['XID'];
elseif(isset($_GET['xid']))
$xid = $_GET['xid'];
echo "<td bgcolor=#E3E3E3><input type = 'text' name = 'to' size = '5' maxlength = '10' value = '$xid'>";