即時通訊嘗試使用php驗證表單,因爲它有一個需要驗證的文件輸入。使用cURL進行php驗證
基本上,我的表單的動作將其發送到validate.php,驗證表單域,要麼無效數據發送回在捲曲使用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;
}
我在谷歌查找「提交表單自動php」後來到這個方法。我的想法是,如果我可以自動提交表單,我可以簡單地將錯誤消息作爲數據字段添加到我的sellanitem.php中。我不知道該怎麼想,這個捲曲的東西讓我感到困惑,到目前爲止,我提交了帶有無效輸入的表單字段來測試它,它只是加載一個空白頁面。我也嘗試把標題(「位置:sellanitem.php」),但沒有顯示錯誤消息。
對可能出錯的建議/將實現相同結果的備用方法?
歡呼聲, 邦迪
您可以在參數數組傳遞給'CURLOPT_POSTFIELDS'選擇,它會正確轉義參數(您目前缺少)。 – complex857