0

我有一个使用部分 PHP 来获取值的 HTML 表单,该表单基本上就像一个编辑帐户详细信息表单。

问题

我无法弄清楚为什么表单不起作用以及当notepad++我单击它来编辑我的代码时,它显示开始是一个 DIV,这只会让事情更加混乱......提交表单时,它会将您带回没有消息的表单页面所以我迷路了..

表单页面

<form method="POST" action="dev.php">
<!-- Row -->
<div class="row-fluid">

    <!-- Column -->
    <div class="span6">

    <!-- Group -->
        <div class="control-group">
            <label class="control-label" for="fname">First name</label>

            <div class="controls">
                <input type="text" name="fname" id="fname" value="<?php echo $user_fname; ?>" class="span10" />
                <span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="First name is mandatory"><i></i></span>
            </div>
        </div>
    <!-- // Group END -->

    <!-- Group -->
        <div class="control-group">
            <label class="control-label" for="lname">Last name</label>
            <div class="controls">
                <input type="text" name="lname" id="lname" value="<?php echo $user_sname; ?>" class="span10" />
                <span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="Last name is mandatory"><i></i></span>
            </div>
        </div>
    <!-- // Group END -->

    </div>
    <!-- // Column END -->

    <!-- Column -->
    <div class="span6">

        <!-- Group -->
        <div class="control-group">
            <label class="control-label" for="email">Email Address</label>
            <div class="controls">
                <input type="text" name="email" id="email" value="<?php echo $user_email; ?>" class="span10" />
                <span style="margin: 0;" class="btn-action single glyphicons circle_question_mark" data-toggle="tooltip" data-placement="top" data-original-title="First name is mandatory"><i></i></span>
            </div>
        </div>
        <!-- // Group END -->

        <!-- Group -->
        <div class="control-group">
            <label class="control-label" for="phonenumber" >Phone Number:</label>
            <div class="controls">
                <input type="text" name="phonenumber" id="phonenumber" value="<?php echo $user_number; ?>" class="span10" />
            </div>
        </div>
        <!-- // Group END -->

    </div>
    <!-- // Column END -->

</div>
<!-- // Row END -->

<div class="separator line bottom"></div>

    <!-- Group -->
    <div class="control-group row-fluid">
        <label class="control-label" for="bio">About me</label>
        <div class="controls">
            <textarea id="bio" name="bio" class="span12" rows="5"><?php echo $user_bio;?></textarea>
        </div>
    </div>

    <!-- Form actions -->
    <div class="form-actions" style="margin: 0;">
        <button type="submit" id="accountdetails" name="accountdetails" class="btn btn-icon btn-primary glyphicons circle_ok"><i></i>Save changes</button>
    </div>
</div>
</form>
    <!-- // Form actions END -->

开发者.php

if (isset($_POST['accountdetails'])) {
    if (isset($_POST['fname']) || isset($_POST['lname']) || isset($_POST['email']) || isset($_POST['phonenumber']) || isset($_POST['bio'])) {
        die ("HERE");
    };
};

我可能需要喝更多的咖啡,但我终其一生都无法弄清楚为什么它不起作用。

任何帮助,将不胜感激!

提前致谢。

编辑

我输入了名称,但没有帮助,现在页面的 URL 显示如下:

update.php?fname=Aaron&lname=Hatton&email=me%40aaronhatton.co.uk&phonenumber=0123456789&bio=+18+%7C+London+%7C+Taken&accountdetails=

有任何想法吗?

4

3 回答 3

0

您的表单页面似乎正确,但是,由于表单更新了用户数据,请查看 dev.php 代码在做什么:

如果设置了值并且您手动设置了字段,则 isset() 函数返回 true,因此它将评估为 true。

并且在您的 if 语句中,您正在对所有条件进行 ORing,以便一旦找到 1 个真实条件,它将进入 if 语句主体并执行 die,这将什么都不做。

因此,如果您想测试,而不是使用 die,请尝试 echo "here" 以查看是否打印了一条消息。

于 2013-09-30T13:14:30.740 回答
0

所以我发现这个表单很完美,并且有一些 AJAX 被另一个编码器使用,被删除了,令人惊讶的是它完美地工作了!

该死的同事!

感谢所有帮助!

于 2013-09-30T18:19:28.763 回答
0

一:按照弗雷德所说的做(输入标签上的名称属性)。

二:您</form>最后缺少标签。

于 2013-09-30T13:05:21.410 回答