検証が必要なファイル入力が含まれているため、php を使用してフォームを検証しようとしています。
基本的に、私のフォームのアクションはそれをvalidate.phpに送信します。これはフォームフィールドを検証し、cURLでPOSTを使用して無効なデータをフォームに送り返します:
$data = array(
'nameError' => $nameError,
'name' => $name,
'description' => $desc,
'descError' => $descError,
'spriceError' => $spriceError,
'sprice' => $sprice,
'iprice' => $iprice,
'incprice' => $incprice,
'incprice' => $incprice,
'durError' => $durError,
'location' => $location,
'img' => $imgError
);
foreach($data as $key=>$value){
$field_string .= $key.'='.$value.'&';
}
rtrim($field_string, '&');
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'sellanitem.php');
curl_setopt($ch, CURLOPT_POST, count($data));
curl_setopt($ch, CURLOPT_POSTFIELDS, $field_string);
curl_exec($ch);
curl_close($ch);
header("Location: sellanitem.php");
私のフォームページで、投稿データが設定されているかどうかを確認します:
if(isset($_POST['name'])){
$name = $_POST['name'];
}else{
$name = "";
}
if(isset($_POST['nameError'])){
$nameError = $_POST['nameError'];
}else{
$nameError = "";
}
if(isset($_POST['durError'])){
$durError = $_POST['durError'];
}else{
$durError = "";
}
if(isset($_POST['description'])){
$desc = $_POST['description'];
}else{
$desc = "";
}
等
次に、変数の値に基づいてメッセージを表示します。
<td>
<textarea id="name" name="name" title="name" rows="2" cols ="60" style="resize:none; float:right; font-family: Arial;" value=""><?php echo $name;?></textarea>
<?php
if($nameError != ""){
echo $nameError;
}
Googleで「フォームを自動的に送信するphp」を検索した後、このメソッドにたどり着きました。私の考えでは、フォームを自動的に送信できれば、エラー メッセージをデータ フィールドとして含めるだけで、sellanitem.php に戻すことができます。私は考えを知りません、このcURLは私を混乱させます.これまでのところ、無効な入力を含むフォームフィールドを送信してテストし、空白のページをロードするだけです. header("location: Sellanitem.php") も入れてみましたが、エラーメッセージが表示されません。
何が間違っている可能性があるか、または同じ結果を達成する代替方法の提案はありますか?
乾杯、バンディ