なぜこれのいくつかの値に対して$ _postを取得できないのですか?

StackOverflow https://stackoverflow.com/questions/1609877

  •  05-07-2019
  •  | 
  •  

質問

私はまだ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'];
?>

それは役立ちますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top