2011-08-30 45 views
0

问题:在我的数据库上执行此查询时,需要存储字段值。有一个是使用这个相同的语法几页,但一些奇怪的原因,这是不配合..Php未定义索引,存储变量时

HTML

<form method="post" action="listPage.php"> 
    <fieldset> 
    <legend>Pull some data</legend> 
    <label for="name">Name</label> 
    <input type="text" name="name" id="name" maxlength="255" /> 
    <hr /> 
    <br /> 
    <input type="submit" value="find event" /> 
    </fieldset> 
    </form> 

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); 
?> 
+0

1.您应该转义'$ name'变量'。 2.为什么不创建一个只包含'phpinfo()'的脚本。改变HTML来查看你的list.php的环境将通过使用这个脚本来执行。 3.确保连接到数据库实际上工作! –

+0

感谢提示@Ed Heal,但它似乎甚至没有将该变量传递给list.php。有关于此的任何想法? – Starboy

+0

@Starboy的list.php输出什么都没有?你有'display_errors'打开? –

回答

0

检查,看是否岗位价值在做任何事情之前就已经设定好了。 (另外,别忘了打电话给mysql_real_escape_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 />"; 
    } 
} 
+0

感谢迈克尔,似乎我甚至没有得到通过(给list.php)的价值,一旦我点击提交...任何想法呢? – Starboy

+0

@ listboy'var_dump($ _ POST)'在'list.php'的顶部?此外,它是真的'list.php'或'List.php'?在许多重要的系统 –

+0

我更新了你的建议的代码,它甚至没有通过这个if语句。还在list.php中添加了var_dump($ _ POST),甚至没有出现。还改变list.php listPage.php只是为了看看这会做什么,但没有运气。 – Starboy