2011-10-10 62 views
-1

我的PHP是很“弱”这个所以我有麻烦 -获得一个未定义的索引错误

<?php 

include_once "../scripts/connect_to_mysql.php"; 

$title = $_POST['title']; 
$desc = $_POST['description']; 

$query = mysql_query("UPDATE images SET title='$title', description='$desc'") or die (mysql_error()); 

echo 'Operation Completed Successfully! <br /><br /><a href="index.php">Click Here</a>'; 
exit(); 
?> 

未定义指数误差description第9行是$desc = $_POST['description'];和“说明”是在数据库拼写也是对的。

+0

它与数据库字段名无关。是否有将数据发送到此脚本的表单,使用post作为请求方法和“description”作为一个 – mishu

+1

数据库?!'$ _POST'是关于POST值,而不是数据库的,而且你有一个SQL注入漏洞,你对其他帖子的每一个**的评论/回答都是你声称检出的会告诉你的 –

+0

这不是在线,也不会去上网,所以我不必担心注射,我仍然在学习,但这帮助我理解了自己在做什么 我发现这个网站上的一些人是非常居高临下的!“ –

回答

-2

尝试这样做:

if(isset($_POST['description'])){echo "yes";}else{echo "no";} 

这不会解决它,但它会帮助determing是否$ _ POST [“说明”]存在..此外,什么是$_POST['description']源,是在../scripts/connect_to_mysql.php设置?怎么样?

除非执行更复杂的任务(即AJAX),否则POST变量通常是通过提交表单来设置的 - 在表单提交后加载页面后代码是否到来?如果没有,你可能会不正确地使用_POST变量...

如果$_POST['description']中的../scripts/connect_to_mysql.php代码中设置某个地方,并包括要然后检索它的值 - 你可能会处理事情wrongly-可以将文件您提供有关$_POST['description']的来源的信息?

+0

答案是否定的,但我认为我已修复它 - 请参阅下面的评论! –

+0

aha-很高兴排序:) – SW4

+0

为什么包含的脚本会在'$ _POST'中设置任何内容?它当然不应该。 '$ _POST'是一个包含HTTP POST数据的自动超全局。 –

1

您的表单需要将此信息发送到php文件。看起来你只有title而不是description。你应该发布你的表单以获得更好的帮助。

<form ...> 
    <input type="text" name="description" value=""> 
    <input type="text" name="title" value=""> 
</form> 

你应该总是逃避您正在使用SQL查询您的数据。

+0

我想你可能已经拥有它了,现在只是测试它,应该是描述的部分是标题,复制和粘贴....我想我需要更多的咖啡! –

1

显然,一个description字段不存在的$_POST阵列,从而索引description不指向任何英寸

什么是var_dump($_POST);打印?

此外,这是一个内部系统?如果不是,你应该阅读SQL注入。

+0

感谢您的回复 - 但我认为我刚刚犯了一个愚蠢的错误 - 描述没有通过,因为表单没有设置为描述,而是标题 - 只是复制和粘贴错误! –

0

$_POST数组中没有索引description的元素。

在该行之前尝试var_dump($_POST);以检查该数组。 (或者,如果某些信息被删除,请使用print_r($_POST);

+0

谢谢,但我发现了错误! –