0

送信するページに送信ボタンがあり、空白に戻って更新されず、エコーも空白です。

<?
    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>
4

2 に答える 2

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

于 2012-10-22T23:49:18.507 に答える
0

で SQL クエリを設定して$doTextEditいますが、関数に渡し$doArtistEditていmysql_query()ます。

于 2012-10-22T23:46:33.890 に答える