フィードバックフォームを作成するためにPHPを学んでいます。チュートリアルに従い、フォームとphpファイルを使用してhtmlページを作成し、リクエストを実行してデータベースに保存しました。不思議なことに、私には2つの問題があります。
送信を押した後、次のエラーが発生しました。未定義の変数:8行目の/Users/wj/Sites/all_sanbox/VTC-PHP/07/send_feedback.phpのユーザー
フォームにデータを入力しましたが、データが入力されていないかのようにphpファイルが実行されました。
私が使用したコードは次のとおりです。
Feedback.html
<HTML>
<HEAD>
<TITLE>Vinyl Dealers: feedback </TITLE>
</HEAD>
<BODY>
<H2>Feedback</H2>
<BR />
<FORM ACTION="send_feedback.php" METHOD="POST">
Your name:
<INPUT TYPE=TEXT NAME="user" MAXLENGTH=40 SIZE=40 />
<BR />
Your email:
<INPUT TYPE=TEXT NAME="email" MAXLENGTH=40 SIZE=40 />
<BR /><BR />
Can we keep you updated with news about our site?
<INPUT NAME="spam" TYPE=RADIO VALUE="1" CHECKED />Yes
<INPUT NAME="spam" TYPE=RADIO VALUE="0" />No
<BR /><BR />
Comments:
<BR />
<TEXTAREA COLS=60 ROWS=10 NAME="comments"></TEXTAREA>
<BR />
<INPUT TYPE=SUBMIT VALUE="submit" />
</FORM>
</BODY>
</HTML>
sendfeedback.php
<html>
<head>
<title>Vinyl Dealers: we appreciate your feedback</title>
</head>
<body>
<?php
if (!$user || !$email || !$comments){ ?>
<h2>Whoops</h2>
<br>Please fill in all fields<br>
<a href="feedback.html">Click here to go back to the feedback page.</a>
<?php
exit;
}
$user = addslashes($user);
$email = addslashes($email);
$comments = addslashes($comments);
$db = mysql_connect("localhost","root","admin");
mysql_select_db("vinyldealers",$db);
$addfeedback = "INSERT INTO feedback (user, email, spam, comments)
VALUES(" . '$user' . "," . $email . "," . $comments .")";
$result = mysql_query($addfeedback);
?>
<H2>Thank you</H2>
<BR>
We have added your comments to our database.
</body>
</html>