我在提交页面上有一个提交按钮,它返回空白并且不更新,回显也是空白。
<?
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>
最佳答案
您正在检查是否设置了 $_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
关于php - mysql更新有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13021592/