2016-10-14 7 views
1

挿入を選択してから選択することは可能でしょうか?私がしようとしているのは、ユーザーがアプリケーションを記入することです。アプリケーションは、ユーザーがそれぞれ異なるアプリケーションを数多く記入することができます。アプリケーションの最後には、ログインに使用した正しい電子メールアドレスを入力するために必要な電子メールアドレスを入力する必要があります。正しい電子メールアドレスを入力しなかった場合、無効な電子メールアドレスを示すメッセージが表示されます彼らはそれを正しく得るまで続けることができません。私の問題は、メッセージが無効な電子メールアドレスを示すことであるが、情報はまだsqlのinsert/select from ph

挿入ページにアップロードされている:

<?php 
    require_once("configur.php"); 
    $mysqli = new mysqli(localhost); 

    $query='INSERT INTO profile_table SET email="'.$_POST[email].'", name="'.$_POST[name].'", age="'.$_POST[age].'", status="display"'; 

    if ($mysqli->query($query) === TRUE) 
     { 
      echo "Record updated successfully"; 
     } 
    else 
     { 
      echo "Error updating record: " . $conn->error; 
     } 

    $mysqli->close(); 
?> 

メインページ:

<?php 
    require_once("configur.php"); 
    $mysqli = new mysqli(localhost); 
    # check connection 
    if ($mysqli->connect_errno) 
     { 
      echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>"; 
      exit(); 
     } 

    $email=$_POST['email']; 

    $sql = "SELECT * from register_login WHERE email='$email'"; 
    $result = $mysqli->query($sql); 
    if (!$result->num_rows == 1) 
     { 
      echo "<p>Invalid email Address</p>"; 
     } 
    else 
     { 
      $_SESSION['email'] = $email; 
      echo "<p>Logged in successfully</p>"; 
      // do stuffs 
     } 
?> 
+0

'$ mysqli = new mysqli(localhost);'あなたのホストに接続しているかもしれませんが、[データベースを選択しました](http://php.net/manual/en/mysqli.quickstart.connections.php )? – zanderwar

+0

私は間違った電子メールアドレスを言う電子メールエラーを受け取るが、間違った電子メールアドレス –

+0

'INSERT INTO profile_table SET email =" '。$ _ POST [email]。' "、name =" '。$ _ POST [name $ _ POST [age]。 ""、status = "display" ';あなたのテーブルのすべてのデータをここで失うことを求めています。 SQLインジェクション – zanderwar

答えて

1
require_once("configur.php"); 

$mysqli = new mysqli(localhost); 
# check connection 

if ($mysqli->connect_errno) 
    { 
     echo "<p>MySQL error no {$mysqli->connect_errno} : {$mysqli->connect_error}</p>"; 
     exit(); 
    } 

$email=$_POST['email']; 

$sql = "SELECT * from register_login WHERE email='$email'"; 
$result = $mysqli->query($sql); 

if ($result->num_rows == 0) // email id not present 
    { 
     echo "<p>Invalid email Address</p>"; 
    } 
else 
    { 
     $_SESSION['email'] = $email; 

     echo "<p>Logged in successfully</p>"; 

     $query='INSERT INTO profile_table SET email="'.$_POST[email].'", name="'.$_POST[name].'", age="'.$_POST[age].'", status="display"'; 

     if ($mysqli->query($query) === TRUE) 
     { 
       echo "Record updated successfully"; 
     } 
     else 
     { 
      echo "Error updating record: " . $conn->error; 
     } 

     $mysqli->close(); 

    } 

あなたのコードが私を混乱され、私はこれらの2つのスクリプトがどのように関連しているかを知りません。メインページコードを呼び出しているかページを挿入

まだ1つのソリューションがありますが、このような1つのスクリプトで2つのスクリプトを組み合わせることができます。

あなたは挿入ファイルを呼び出すためにページのリダイレクトを使用することができますが、あなたは同じ$ _POST配列を使用しているとして、あなたは両方のスクリプトを組み合わせる必要があります。

+0

それは彼のせいではなく、私のコードを編集した、それは読みにくいですが、あなたは "ページを挿入する"メインページ= – Laith