【问题标题】:Submitting a form doesn't work as it should提交表单无法正常工作
【发布时间】:2014-01-23 08:27:09
【问题描述】:

我一直在尝试做最简单的事情,在我的服务器上创建一个登录页面,但由于某种原因它不起作用。我一遍又一遍地检查我的代码,但找不到解决方案。猜测这是相当简单的事情,但我对自己的代码视而不见。 :( 我有一个可以工作的 register.php 网站,只是登录部分(在 index.php 上)不起作用。:( 代码甚至没有注册我已经推送了“提交”,只是进入我的

   if (!isset($_POST['submit']))

我正在使用 PHP 和 HTML5。这是我的代码如下(对不起,它很长,但只在一个文件中......而且很抱歉,那里有一些冰岛的 cmets ;)):

<div id="content">
<?php 
if (!isset($_POST['submit'])) 
{
    echo " ! isset( $ _POST [ ' submit ' ] ";

    if(!isset($_SESSION['logged']))
    {
        echo " ! isset ( $ _SESSION [ ' logged ' ] ";
    ?>
        <h1>Umsjónarsvæði - innskráning</h1>

        <form action='' method='post'>
            <div class='form_line'>
                <div class='form_left_side'>Notandanafn:</div>
                <div class='form_right_side'><input type='Text' name='user'></div>
            </div>
            <div class='form_line'>
                <div class='form_left_side'>Lykilorð:</div>
                <div class='form_right_side'><input type='Password' name='pass'></div>
            </div>
            <div class='clear'><hr /></div>
            <div class='form_button'><input class='buttons' type="submit" name="submit" value='Skrá' />&nbsp;&nbsp;<input class='buttons' type='reset' value='Hreinsa' /></div>
        </form>
    <?php
    }
    else 
    {
        echo " isset ( $ _SESSION [ ' logged ' ] ";
    ?>
        <h1>Umsjónarsvæði</h1>
        <p>Á umsjónarsvæðinu er hægt að skoða mótteknar fyrirspurnir, virkar eignavaktir og nýskrá og sýsla með eignir á forsíðu.</p>
        <p>Notið valmyndina hér til hliðar til að flakka um síðuna.</p>
    <?php
    }
}
else {
    session_destroy();
    $skuli = new SQL();

    $user = $skuli->isSafe($_POST['user']);
    $pa = $skuli->isSafe($_POST['pass']);

    $db_users = $skuli->getUsers($user, $pa);
    $count = mysqli_num_rows($db_users);
    if($count > 0)
    {
                $_SESSION['valid_user'] = $user;
        $_SESSION['logged'] = 1;
        // og stillum það að session "lifi" í 5 tíma
        ini_set("session.gc_maxlifetime", "18000");
        echo "isLogged: ".$_SESSION['logged']."<br/>";
        //session_write_close(); 
        // förum loks aftur á þessa aðal síðu ...
        header('Location: index.php'); 
        exit(); 
    }
    else 
    {
        $count = $skuli->checkUser($user);
        echo "<h1>Umsjónarsvæði - innskráning - $count</h1>";

        if($count < 1)
        {
            echo "<p>Notandinn <i>$user</i> finnst ekki á skrá. Vinsamlegast reynið aftur.</p><br/>";

        }
        else {
            echo "<p>Notandinn <i>$user</i> með þessu lykilorði finnst ekki á skrá. Vinsamlegast reynið aftur.</p><br/>";
        }
        ?>

        <form action='' method='post'>
            <div class='form_line'>
                <div class='form_left_side'>Notandanafn:</div>
                <div class='form_right_side'><input type='Text' name='user'></div>
            </div>
            <div class='form_line'>
                <div class='form_left_side'>Lykilorð:</div>
                <div class='form_right_side'><input type='Password' name='pass'></div>
            </div>
            <div class='clear'><hr /></div>
            <div class='form_button'><input class='buttons' type='submit' name='submit' value='Skrá' />&nbsp;&nbsp;<input class='buttons' type='reset' value='Hreinsa' /></div>
        </form>
    <?php
    }
}

任何帮助将不胜感激,我迷失了(一直在寻找很长时间,只是看不到我缺少什么)。 :(

谢谢

没有cmets?我还是迷路了:(

【问题讨论】:

  • "my if (!isset($_POST['submit'])) -loop" -- if 语句不是循环。
  • print_r($_POST); 看到问题了吗?
  • 对不起 Jonathon Reinhart,我知道这不是一个循环,一些语言问题(加上睡眠不足)。 :)
  • @Dagon,这只是打印出一个空数组。我迷路了:(

标签: php forms submit


【解决方案1】:

尝试编辑表单的动作,例如:

<form action='<? echo $_SERVER['PHP_SELF']; ?>' method='post'>

附:在 HTML 中最好写 &lt;hr&gt; 或 &lt;br&gt; 而不是 &lt;hr /&gt; 或 &lt;br /&gt; 但仅用于非警告,但代码是正确的。

【讨论】:

  • @Loreti,这不会改变任何事情。我试过 PHP_SELF 但没有运气。
猜你喜欢
  • 1970-01-01
  • 2018-10-21
  • 2017-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-25
相关资源
最近更新 更多