我在页面提交时有一个提交按钮,它返回空白并且没有更新,回显也是空白的。
<?
if (isset($_POST['submit'])) {
$newtext = mysql_real_escape_string($_POST['text']);
$doTextEdit = "UPDATE `$database_main`.`texts` SET `texts`.`text` = '$newtext' WHERE `texts`.`id` = '$sid' LIMIT 1" or die(mysql_error());
$retval = mysql_query( $doArtistEdit, $main );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
header("Location: ".$_SERVER['HTTP_REFERER']);
}
?>
这是表格代码
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" name="$ID" method="post">
Song Name : <input type="text" name="title" value="<?php echo $row_song['title']; ?>"> by Artist Name :<input type="text" name="artist" value="<?php echo $row_artist['artist']; ?>"><br><?php echo $sid; ?><?php echo $database_main; ?><?php echo $doTextEdit; ?>
Lyrics :<br><textarea name="text" cols="72" rows="20"><?php echo str_replace("\n","\n",$row_Recordset1['text']); ?></textarea><br>
<input type="submit" name="editlyrics" value="Edit"></form>
答案 0 :(得分:3)
您正在检查是否设置了$_POST['submit']
-
if (isset($_POST['submit']))
但您的提交按钮名称为editlyrics
,因此应为 -
if (isset($_POST['editlyrics']))
在表单中添加隐藏的输入 -
<input type="hidden" name="song_id" value="<?php echo $sid; ?>">
现在你的代码就像 -
<?
if (isset($_POST['editlyrics'])) {
$song_id = mysql_real_escape_string($_POST['song_id']);
$newtext = mysql_real_escape_string($_POST['text']);
$doTextEdit = "UPDATE `$database_main`.`texts` SET `texts`.`text` = '$newtext' WHERE `texts`.`id` = '$song_id' LIMIT 1" or die(mysql_error());
$retval = mysql_query( $doTextEdit, $main );
if(! $retval )
{
die('Could not update data: ' . mysql_error());
}
header("Location: ".$_SERVER['HTTP_REFERER']);
}
?>
请注意,您不应使用过时的mysql_
函数编写代码,并了解mysqli
或PDO
- php.net/manual/en/mysqlinfo.api.choosing.php
答案 1 :(得分:0)
您正在$doTextEdit
中设置SQL查询,但是您正在将$doArtistEdit
传递给mysql_query()
函数。