2012-01-17 8 views
0

私はフォームを提出しようとしていますが、それは名前を送るべきですが、私は何かばかげていることを知っています。 !仕事で最後の夜+新しいコーディングプロジェクト=スマートアイデア)

は、ここに1つのページに私のフォームです:

<form action="add.php" method="POST"> 
    <button type="submit" name="exportcult">Export All</button> 
</form> 

そして、ここでPOSTを処理することを意図し、他のページ、上のコードです:

は、
if (!isset($_POST["name"]) || $_POST["name"] == '') { 
    header('Location: '.$criteria."?error=data"); 
    die(); 
} 

エラーメッセージが表示されます。私はそれが名前を登録していないことを知っています - なぜそれができますか?

+0

あなたは 'if(!isset(" exportcult "))|| $ _POST [" exportcult "] == '){{' – j08691

答えて

0

フォームにボタン以外のフィールドが含まれていないため、$_POSTにはフィールドexportcultのみが含まれます。

編集:<input>の代わりに<button>を使用するため、POSTされたデータには入らない可能性があります。

0

の操作を行います。

if (!isset($_POST["exportcult"]) || $_POST["exportcult"] == '') { 
    header('Location: '.$criteria."?error=data"); 
    die(); 
} 

現在、フィールドが「exportcult」と命名されたときに、「名前」という名前のフィールドをチェックしています。また、でなく、<buttonである必要があります。

0

あなたはまさにこの

<input type="button" name="exportcult" value="Whatever you want" /> 

を追加し、代わりにname

0

使用のisset()exportcultを確認する必要があります。

<form action="add.php" method="POST"> 
<input type="submit" name="name" value="Export All"></form> 

if (!$_POST["name"])) { 
    header('Location: '.$criteria."?error=data"); 
    exit(); 
} 
2

私はどのようにフォームデータ、実際にあなたが混乱していると思います提出されます。 "name"は属性であり、POSTデータで見つかったキー値ではありません。その要素の名前を指定する必要があります。これはPOSTデータに存在するキー値になります。 name="exportcult"を指定したので、POSTデータには変数は$_POST['exportcult']になります。ただし、ボタンにvalue属性が指定されていないため、この値は常に空の文字列になります。

送信ボタンを処理する場合、のみが、フォームの送信に使用されたボタンの値が残りのフォームデータとともに含まれます。これを使用してみてください:その特定のボタンがフォームを送信するために使用された場合は

<button type="submit" name="exportcult" value="export">Export All</button> 

、そして$_POST['exportcult']'export'に等しいはずです。

わからない人は:buttons do get submitted with the formですが、それでも値属性が必要です。

関連する問題