【问题标题】:why cant i get the $_post for some values this?为什么我不能得到 $_post 的某些值?
【发布时间】:2009-10-22 20:50:20
【问题描述】:

我对 php 还是很陌生,所以我对跨页面获取帖子值有点犹豫。

我有一个我正在制作的在线应用程序,到目前为止它大部分都在工作,但我遇到了 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);

值来自的 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>

【问题讨论】:

    标签: php postback


    【解决方案1】:

    如果您发布了其余的表单代码,将会有所帮助。无论如何,作为表单调试的第一级,值得尝试的是您要发布到的页面上的以下代码:

    <pre>
    <?php print_r($_POST);?>
    </pre>
    

    这至少可以明确哪些变量正在发布到您的脚本中

    【讨论】:

    • 也许他应该发布完整的 HTML 页面,$_POST 不会填充的唯一方法是因为他没有设置发布方法。
    • www.markonsolutions.com/apply.php 是这个东西开始的完整 html 页面
    • 这其实很有帮助
    • 是的,但我不确定在我使用你的代码之后是什么我重写了所有正在运行的帖子,现在它可以工作了
    【解决方案2】:

    你想做什么?看起来您正试图让某人填写数据,然后将其发布到另一个页面......是吗?如果是这样,您需要使用表单将数据发布到某个地方,然后您可以通过 $_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 上输出“教育”的发布值:

    <?php
    echo $_POST['education'];
    ?>
    

    这有帮助吗?

    【讨论】:

    • 对不起,如果我不清楚。我正在这样做,但有些工作,有些没有。我不清楚为什么那些不起作用的会坏。
    • 在这种情况下,在您发布的页面上执行 seegee 的建议并运行 print_r($_POST) (并按照建议在其周围添加
       标签。这将使其更具可读性) .这将显示所有可用的 $_POST 变量。
    猜你喜欢
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 2022-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-04
    • 2015-03-02
    • 2019-05-29
    相关资源
    最近更新 更多