声明变量时未定义的索引
Posted
技术标签:
【中文标题】声明变量时未定义的索引【英文标题】:Undefined Index When Declaring Variable 【发布时间】:2015-01-14 18:14:11 【问题描述】:为什么我在声明变量时得到一个未定义的索引?目前正在使用引导程序。
<?php
mysql_connect("localhost", "root", "1234") or die(mysql_error());
mysql_select_db("newitems") or die(mysql_error());
$up = $_POST['update'];
mysql_query("UPDATE announcements SET content = $up");
?>
<div class="well well-small text-center">
<h3>Create an Announcement / Reminder:<br>
<form class="form-group" id="form-mahasiswa" method="POST" action="ad_post.php">
<div class="control-group">
<div class="controls">
<textarea id="update" name="update"></textarea><br>
<button id="annbtn" class="btn btn-success">Update Announcement</button>
</div>
</div>
【问题讨论】:
您正在使用变量 $_POST['update'];在您发布表单之前不会设置。 我需要做什么? 这能回答你的问题吗? "Notice: Undefined variable", "Notice: Undefined index", and "Notice: Undefined offset" using PHP 【参考方案1】:只有在您提交表单时才会更新。将您的代码包装在此条件中:
if ($_SERVER['REQUEST_METHOD'] == POST && isset($_POST['update'])
$up = $_POST['update'];
mysql_query("UPDATE announcements SET content = $up");
【讨论】:
另外 mysql_* 函数已被弃用,因此请考虑使用 mysqli_* 函数。 php.net/manual/de/book.mysqli.php 最后,强烈建议在查询中使用之前过滤输入 :-) php.net/manual/de/function.filter-input.php 谢谢大家!固定:)以上是关于声明变量时未定义的索引的主要内容,如果未能解决你的问题,请参考以下文章