(私の英語力がないため申し訳ありません)PHPシングルページフォーム処理の問題
まあ、私は自分のコードに3つの誤りがあります。
エラーの:注意:すべての
- まず、それはショーの未定義のインデックス:フォームCで:\ xamppの\ htdocsに\ evantechbd \ index.phpをライン461上の私は、このフォームを実行すると。
- エラーが表示された場合は、エラーメッセージが表示されますが、正しいフィールドは空です。例:このフォームには4つのフィールドがあります。 a)画像をアップロードする、b)ディスカッションを選択するc)サブジェクトおよびd)メッセージ。画像をアップロードし、ディスカッションを選択して件名を書きますが、メッセージを書くのを忘れたとします。次に、それは "メッセージが必要です"と表示され、すべてのフィールドは空です。私は正しい空欄を望まない。
- フォームの提出が成功した後、「ディスカッションが提出されました」と表示されます。しかし、その後、私はページを更新すると、データをデータベースに送ります。しかし、私は送信ボタンをクリックしませんでした。なぜこれが起こるのですか?
ここでは、私のコードは次のとおりです。あなたの助けのための
<?php
if ($_POST['form'] == "Submit") {
$err = array();
$filed = addslashes($_FILES['file']['tmp_name']);
$img_named = addslashes($_FILES['file']['name']);
$img_type = addslashes($_FILES['file']['type']);
@$imgd = addslashes(file_get_contents($_FILES['file']['tmp_name']));
function getExtension($str)
{
$i = strrpos($str, ".");
if (!$i) {
return "";
}
$l = strlen($str) - $i;
$ext = substr($str, $i + 1, $l);
return $ext;
}
$extension = getExtension($img_named);
$extension = strtolower($extension);
$image_named_uniq = uniqid() . '.' . $extension;
$upload_path_dis = 'user/manage/discussionimg/';
$diss = $_POST['type'];
$sub = $_POST['sub'];
$msg = $_POST['msg'];
$date = "On " . date("F Y h:i:s A");
if (!isset($_SESSION['uname']))
$err[] = "You need to login";
else {
$uname = $_SESSION['uname']; //session username
if (empty($sub) && empty($msg) && empty($filed))
$err[] = "All field required";
else {
if (empty($sub))
$err[] = "Subject Requried";
if (empty($msg))
$err[] = "Message Requried";
if (empty($filed))
$err[] = "SORRY, you have to be upload a image";
}
}
if (!empty($err)) {
foreach ($err as $er) {
echo "<font color=red>$er</font><br/>";
}
}
else {
$sql = mysql_query("INSERT INTO discussion VALUES ('', '$imgd', '$image_named_uniq',
'$diss', '$sub', '$msg', '$uname', '$date') ");
if (!$sql)
echo "Can't submit your discussion" . mysql_error();
if (!move_uploaded_file($_FILES['file']['tmp_name'], $upload_path_dis . $image_named_uniq)) {
die('File Not Uploading');
} else {
echo "Discussion was submitted";
}
}
}
?>
多くの感謝!
カンタ。
本当にインデントが必要です。まず、この 'if($ _POST ['form'] ==" Submit ")を参照してください。 {'、末尾の中括弧は何ですか? – Matt
261行目にエラーが報告されますが、コードには120行しかありません。どの行がエラーを報告していますか? – ManseUK
フォーマット済みのベスト私はif文の関数が正当なのでしょうか? – ManseUK