这是我的代码(整页:cust_edit.php):
<?
session_start();
ob_start();
include "../sql.php";
if (!$_SESSION['username']) {
@include "login.php";
} else {
@include "top.php";
?>
<?
if (isset($_POST['submit'])) {
$id = $_POST['id'];
$name = $_POST['name'];
$date = $_POST['date'];
$text = $_POST['text'];
mysql_query("UPDATE custs SET name='$name', date='$date', text='$text' WHERE id='$id'");
echo '<p align="center"><b>Updated</b></p>';
}
$gid = $id;
if (!isset($gid)) {
$gid = addslashes($_GET['id']);
}
$query = mysql_query("SELECT * FROM custs WHERE id='$gid'");
$x = mysql_fetch_array($query);
echo '
<br />
<form name="f" action="cust_edit.php?id='.$x['id'].'" method="post">
<table border="0" cellspacing="1" width="100%">
<tr>
<td width="70%" id="submitright">
<input value="'.$x['name'].'" type="text" name="name" size="30" maxlength="50">
</td>
</tr>
<tr>
<td width="70%" id="submitright">
<input value="'.$x['date'].'" type="text" name="date" size="30" maxlength="50">
</td>
</tr>
<tr>
<td id="submitright">
<textarea class="ckeditor" name="text" dir="rtl" cols="80" style="width: 70%">'.$x['text'].'</textarea>
</td>
</tr>
<tr>
<td align="left" width="70%" id="submitright">
<input type="submit" value="Update">
</td>
</tr>
</table>
<input type="hidden" name="id" value="'.$gid.'">
</form>';
}
?>
<?
@include "bottom.php";
?>
我的问题是,当我正在运行此脚本 - 并更新页面时 - 页面正常显示并且详细信息显示在输入中 - 但是当我单击“更新”按钮时,没有任何反应 - 页面令人耳目一新但行:
mysql_query("UPDATE custs SET name='$name', date='$date', text='$text' WHERE id='$id'");
echo '<p align="center"><b>Updated</b></p>';
由于某种原因没有运行,有人可以帮助我吗?
答案 0 :(得分:2)
<input type="submit" value="Update">
替换为
<input type="submit" name="submit" value="Update">
答案 1 :(得分:1)
Please, don't use mysql_* functions。它们已不再维护and are officially deprecated.请参阅red box?请改为了解 prepared statements ,并使用 PDO 或 MySQLi - this article帮你决定哪个。如果您选择 PDO ,here is a good tutorial。
正如其他人提到的那样,不要使用php short open tag。自PHP 5.4及以后版本不支持。大部分时间它也在这里讨论,php short_open_tag problem
答案 2 :(得分:0)
<?
。请改用<?php
。name
属性<input type="submit" name="submit" value="Update">
。 OR .... 您可以替换此行:
if (isset($_POST['submit'])) {
在此
if (isset($_POST['id'])) {