Php未定义索引,在存储变量时
问题:在数据库上执行此查询时需要存储字段值。有两个页面使用相同的语法,但由于一些奇怪的原因,这不配合 HTMLPhp未定义索引,在存储变量时,php,mysql,Php,Mysql,问题:在数据库上执行此查询时需要存储字段值。有两个页面使用相同的语法,但由于一些奇怪的原因,这不配合 HTML 拉一些数据 名称 listPage.php <?php //CONNECT TO DATABASE $user="root"; $password=""; $database="db"; $connection=mysql_connect('localhost',$user,$password); @mysql_select_db($database) or die(
拉一些数据
名称
listPage.php
<?php
//CONNECT TO DATABASE
$user="root";
$password="";
$database="db";
$connection=mysql_connect('localhost',$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
echo "NOT running...";
//STORE ALL DATA FROM PREVIOUS FORM
if (isset($_POST['name'])) {
$name = mysql_real_escape_string($_POST['name']);
$query="SELECT event FROM events WHERE event='$name'";
$result=mysql_query($query) or die(mysql_error());
$num=mysql_numrows($result);
echo "running...";
while ($row = mysql_fetch_array($result))
{
echo $row['event'] . " // ";
echo "<br />";
}
}
mysql_close($connection);
?>
在对post值进行任何操作之前,请检查是否设置了post值。(另外,别忘了在上面调用
mysql\u real\u escape\u string()
)
如果此代码最初加载时出现在页面上,或者在向其发布数据后刷新,则可能不会设置此代码
// Don't attempt any of this unless you actually have a $_POST value
if (isset($_POST['name'])) {
$name = mysql_real_escape_string($_POST['name']);
$query="SELECT event FROM events WHERE event='$name'";
$result=mysql_query($query) or die(mysql_error());
$num=mysql_numrows($result);
while ($row = mysql_fetch_array($result))
{
echo $row['event'] . " // ";
echo "<br />";
}
}
//除非您实际拥有$\u POST值,否则不要尝试任何操作
如果(isset($_POST['name'])){
$name=mysql\u real\u escape\u字符串($\u POST['name']);
$query=“从事件中选择事件,其中事件='$name';
$result=mysql\u query($query)或die(mysql\u error());
$num=mysql\u numrows($result);
while($row=mysql\u fetch\u数组($result))
{
echo$row['event']。“/”;
回声“
”;
}
}
我无法快速找到任何关于POST或html表单变量可能保留字的文档,因此我转到
并将fname
字段更改为name
,(单击edit并单击me按钮
),未传递或识别POST变量
<>你可以考虑将你的字段名改为<代码> >名称>代码> ./p> 1。您应该转义
$name
变量。2.为什么不创建一个只包含
phpinfo()的脚本呢。改为使用此脚本更改HTML以查看将在什么环境中执行list.php。3.检查与数据库的连接是否正常工作!感谢@Ed-Heal的提示,但似乎它甚至没有将变量传递给list.php。有什么想法吗?@Starboy不输出list.php吗?你打开了display\u errors
吗?@Michael当我去存储POST name时,它确实抛出了一个未定义的索引错误,但我有一种感觉,那是因为没有向它传递任何内容?谢谢Michael,而且在我点击submit之后,似乎我甚至没有传递值(到list.php)。。。有什么想法吗?list.php
顶部的@Starboyvar\u dump($\u POST)
?另外,它是真的list.php
还是list.php
?在许多mattersI的系统上,我用您的建议更新了代码,甚至没有通过if语句。还在list.php上添加了var_dump($_POST),甚至什么都没有出现。还将list.php更改为listPage.php,只是为了看看这是否有用,但运气不佳。我用您的输入更新了我的第一篇帖子,在将数据放入表单后,仍然没有收到任何$name中的数据。您是否看到回声“notrunning…”代码>您添加了什么?
// Don't attempt any of this unless you actually have a $_POST value
if (isset($_POST['name'])) {
$name = mysql_real_escape_string($_POST['name']);
$query="SELECT event FROM events WHERE event='$name'";
$result=mysql_query($query) or die(mysql_error());
$num=mysql_numrows($result);
while ($row = mysql_fetch_array($result))
{
echo $row['event'] . " // ";
echo "<br />";
}
}