なぜこれのいくつかの値に対して$ _postを取得できないのですか?
質問
私はまだphpにかなり慣れていないので、ページをまたいで物事の投稿値を取得することに少し不安があります。
作成中のオンラインアプリケーションがあり、これまでほとんど機能していましたが、3つのフィールドで問題が発生しました。
他の変数があり、うまく動作しているのとまったく同じように見えますが、これら3つは私に問題を与えています
誰かが私が間違っていることを指摘できますか?
これまでのphpコード
$notes = $_POST["notes"];
echo "<br>experince <br>";
echo $experince = $_POST["exp"];<--------------
$education = $_POST["education"];
echo "<br>clearnce <br>";
echo $clearance = $_POST["clearance"]; <-----------------
echo "<br>jobname <br>";
echo $jobname = $_POST["jobname"];<--------------
$name = $_POST["username"];
$phone= $_POST["phone"];
$email= $_POST["email"];
$avail =$_POST["availability"];
$subject = "New Online Application: $jobname " ;
$subject .= rand(1000,9999);
valuseが由来するhtml / phpコード
Select a Level of Education:<br />
<select name="education">
<option value="None">None</option>
<option value="HighSchool">HighSchool</option>
<option value="BA/BS">BA/BS</option>
<option value="MA/MS">MA/MS</option>
<option value="MBA">MBA</option>
<option value="Ph.D">Ph.D</option>
<option value="Other">Other</option>
</select>
<br>
<br>
Years of Experince:<br />
<select name="exp">
<option value="0-4">0-4</option>
<option value="5-10">5-10</option>
<option value="11-20">11-20</option>
<option value="20+">20+</option>
</select>
<br>
<br>
Select a Clearance Level:<br />
<select name="clearance">
<option value="None">None</option>
<option value="Confidential">Confidential</option>
<option value="Secret">Secret</option>
<option value="Top Secret">Top Secret</option>
<option value="TS/SCI">TS/SCI</option>
<option value="TS/SCI Counter Inteligence Polygraph">TS/SCI Counter Inteligence Polygraph</option>
<option value="TS/SCI Full Scope Polygraph">TS/SCI Full Scope Polygraph</option>
<option value="Other">Other</option>
</select>
<br>
<br>
Select Job your Intrested in:<br>
<?php
$files = glob("./jobops/*.pdf");
sort($files);
print("<select name=\"jobname\">");
foreach ($files as &$file)
{
$Jobname =substr($file,0,strlen($file)-4);
$Jobname = str_replace("./jobops/","",$Jobname);
print("<option value=\"$Jobname\">$Jobname</option>\r\n");
}
print("<option value=\"Other\">Other</option>");
print("</select>");
?>
<br>
解決
フォームコードの残りを投稿すると役立ちます。とにかく、フォームを使用したデバッグの第1レベルとして試す価値があるのは、投稿先のページにある次のコードです。
<pre>
<?php print_r($_POST);?>
</pre>
これにより、少なくともスクリプトにPOSTされている変数が明確になります
他のヒント
何をしようとしていますか?誰かにデータを入力させてから、別のページに投稿しようとしているようです...はい?その場合は、フォームを使用してデータをどこかに投稿する必要があり、$ _ POST []を介して投稿されたデータにアクセスできます。
フォームページで:
<form name="myForm" method="post" action="someotherpage.php">
<select name="education">
<option value="None">None</option>
<option value="HighSchool">HighSchool</option>
</select>
<input name="submit" type="submit">
</form>
その後、someotherpage.phpで<!> quot; education <!> quot;の投稿値を出力します:
<?php
echo $_POST['education'];
?>
それは役立ちますか?
所属していません StackOverflow