2016-10-07 45 views
-3

登録後、私のアカウントへの自動ログインに問題があります。助けてください、ここに私のコードです。私は電子メールの確認なしでユーザーにログインしようとしています。登録後の自動ログインPHP

<?php 
    @ob_start();session_start(); 

    if($_SESSION['LOGIN_ID'] > 0) 
    header("location:myaccount.php"); 

    $invalidcaptcha = 0; 
    if($_POST['register_submit']) 
    { 

     $ip = getIP();  
     $emailid = $_POST['emailid']; 
     $pwd = $_POST['pwd']; 
     $confirm = '1'; 
     $blocked = '0'; 
     $ccode = base64_encode($email); 

     $ures = mysql_query("select id from user where emailid='".mysql_real_escape_string($_POST['emailid'])."'"); 
     if(mysql_num_rows($ures) > 0) 
     { 
      header("location:login.php?emailexist=1"); 
     } 
     else if($_POST['security_code']==$_SESSION['freecap_word_hash']) 
     {  
      mysql_query("insert into user set emailid='".mysql_real_escape_string($emailid)."',pwd='".md5($pwd)."',blocked='".$blocked."',confirm='".$confirm."',ccode='".$ccode."',reg_date=now(),reg_ip='".$ip."'"); 
      $i_id = mysql_insert_id(); 

      $res=mysql_query("SELECT id, emailid, pwd FROM users WHERE emailid='$emailid'"); 
     $row=mysql_fetch_array($res); 
     $count = mysql_num_rows($res); // if uname/pass correct it returns must be 1 row 

     $_SESSION['LOGIN_ID'] = $row['userId']; 
     header("Location: myaccount.php"); 

     } 

    } 

    ?> 
+3

開かれた[SQLインジェクション攻撃](http://bobby-tables.com)の脆弱性以外の脆弱性**このコードは動作しませんか? –

+0

あなたは私たちがあなたのコード全体を調べて、それをデバッグ/テストしてもらいたいですか?これに欠けているHTMLはもちろんのこと、さらに、「jquery」との関連性は何ですか? –

+0

'$ row ['userId']' = '$ i_id' 2番目の選択クエリを使用する必要はありません – devpro

答えて

1

あなたはここに

$_SESSION['LOGIN_ID'] = $row['userId']; 

useridを使用してSELECTクエリではuserId列を使用していません。

この問題以外は、$ i_idは$ row ["userId"]に等しいので、2番目のSELECT QUERYを使用する必要はありません。

あなたはこのクエリではuserId列を追加する必要がありますあなたの場合は

SELECT id, emailid, pwd, userId FROM 

しかし、私が述べたように、このクエリは余分です。

これは別の特別な点です。mysql_ *の使用をやめることは推奨されておらず、PHP 7で閉じられています。mysqli_ *またはPDOを使用できます。

プリペアドステートメントを使用したほうが良いでしょう。これにより、SQLインジェクションでコードが保存されます。

+0

あなたは正確な行を投稿することができます、それは助けになるでしょう –

+0

OK thanksresolved –

+0

@ rajat-guptaあなたのクエリにuserIdカラムを追加する必要がありますが、このクエリは余分です – devpro

関連する問題