ですでに定義された$エラーは、私はすでに$error
でisset()
を入れて試してみましたが、それはまだ動作しません
Notice: Undefined variable: error in C:\xampp\htdocs\songdb\edit.php on line 158
というエラーを取得します。
編集:! 私はすでに削除=ちょうどISSET($エラー)を使用しますが、私にこの
パースエラーを与えるには:構文エラー、予期しない '{' はC:\ xamppの\ htdocsに\ songdb \編集。ライン上でPHP 158
edited2:
私が追加した$エラー= ''; isset($error)
を使用してください。ただし、すべてのフィールドに入力せずに[送信]ボタンをクリックすると動作しますが、エラーメッセージが表示されませんでした。
は3編集:
私は$エラーの後に= '、関数renderForm($ songid、$タイトル、$作家、$ジャンル、$言語、$歌詞、$更新)$接続して、$データベースの後に追加されましたエラー:すべての必須フィールドに記入してください! ';ある場合は、\ xamppの\ htdocsに\ songdb \个人设定ライン218
上:構文エラー、C内のファイルの予期しない終わり:及び($行)であれば後が、それは私にこのエラー
パースエラーを与えますこのコードには解決策がありません。edit.phpファイルのコーディングの代わりとなる/別の解決策を教えてください。どうもありがとうございました。メンバーからの以前の回答に、私を助けてくれてありがとう。
<?php
// connect to the database
$connect = mysql_connect('localhost','root','');
$database = mysql_select_db('songdb');
function renderForm($songid, $title, $artist, $genre, $language, $lyrics, $update)
// check if the form has been submitted. If it has, process the form and save it to the database
if (isset($_POST['submit'])) {
// confirm that the 'id' value is a valid integer before getting the form data
if (is_numeric(isset($_POST['songid']))) {
// get form data, making sure it is valid
$error = '';
$id = $_POST['songid'];
$title = isset($_POST['title']) ? $_POST['title'] : "";
$artist = isset($_POST['artist']) ? $_POST['artist'] : "";
$genre = isset($_POST['genre']) ? $_POST['genre'] : "";
$language = isset($_POST['language']) ? $_POST['language'] : "";
$lyrics = isset($_POST['lyrics']) ? $_POST['lyrics'] : "";
$update = isset($_POST['update']) ? $_POST['update'] : "";
$edit = "UPDATE songs SET title='.$title.',artist='.$artist.',genre='.$genre.',language='.$language.',lyrics='.$lyrics.',update='.$update.' where songid=$songid";
// check that fields are filled in
if ($title == '' || $artist == '' || $genre == '' || $language == '' || $lyrics == '' || $update == '') {
// generate error message
$error = 'ERROR: Please fill in all required fields!';
renderForm($songid, $title, $artist, $genre, $language, $lyrics, $update);
} else {
// save the data to the database
mysql_query($edit) or die(mysql_error());
// once saved, redirect back to the view page
header("Location: view.php");
}
}
} else {
// if the form hasn't been submitted, get the data from the db and display the form
// get the 'id' value from the URL (if it exists), making sure that it is valid (checing that it is numeric/larger than 0)
if (isset($_GET['id']) && is_numeric($_GET['id']) && $_GET['id'] > 0) {
// query db
$songid = $_GET['songid'];
$result = mysql_query("SELECT * FROM songs WHERE songid=$songid")
or die(mysql_error());
$row = mysql_fetch_array($result);
// check that the 'id' matches up with a row in the databse
if($row) {
// get data from db
$title = $row['title'];
$artist = $row['artist'];
$genre = $row['genre'];
$language = $row['language'];
$lyrics = $row['lyrics'];
$update = $row['update'];
renderForm($songid, $title, $artist, $genre, $language, $lyrics, $update);
} else {
// if no match, display result
echo "No results!";
}
} else {
// if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error
}
}
?>
<html>
<head>
<title>Edit Record</title>
</head>
<body>
<?php
if (isset($error)) {
echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
}
?>
<form action="edit.php" method="post">
<input type="hidden" name="id" value="<?php echo $id; ?>"/>
<table style="margin-left:auto; margin-right:auto; width:400px;">
<tbody>
<tr style="text-align:center">
<td colspan="2"><h2 style="color:#00008b;">Edit song into Music Database</h2><label style="color:#FF0000;"></label></td>
</tr>
<tr>
<td>Title<label style="color:#FF0000;"></label></td>
<td><input type="text" name="title"></td>
</tr>
<tr>
<td>Artist<label style="color:#FF0000;"></label></td>
<td><input type="text" name="artist"></td>
</tr>
<tr>
<td>Genre<label style="color:#FF0000;"></label></td>
<td><input type="text" name="genre"></td>
</tr>
<tr>
<td>Language<label style="#FF0000;"></label></td>
<td><input type="text" name="language"></td>
</tr>
<tr>
<td>Lyrics: <label style="#FF0000;"></label></td>
<td><textarea name="lyrics" rows="5" cols="50"></textarea></td>
</tr>
<tr>
<td>Updated by<label style="#FF0000;"></label></td>
<td><input type="text" name="update"></td>
</tr>
<tr style="text-align:center">
<td colspan="2"><input type="submit" name="submit" value="Submit"></td>
</tr>
</tbody>
</table>
</form>
</body>
</html>
[ 'songid'];'置く '$エラー= '';!'、代わりに 'ISSET($エラー)の= '''(場合 '書きます!空($エラー)) ' –
isset($ error)!= 'これは何ですか? –
@KrisRoofeそれは問題なく動作します –