2016-10-14 2 views
1

삽입을 선택하고 선택할 수 있습니까? 사용자가 자신이 원하는만큼 많은 애플리케이션을 작성할 수있는 애플리케이션을 사용자가 작성하는 것이 무엇인지 알아야합니다. 응용 프로그램이 끝날 때 사용자는 로그인에 사용 된 올바른 전자 메일 주소를 입력하는 데 필요한 전자 메일 주소를 입력해야합니다. 올바른 전자 메일 주소를 입력하지 않으면 잘못된 전자 메일 주소로 메시지가 표시됩니다. 그들이 그것을 얻을 때까지 계속할 수 없습니다. 내 문제는 메시지가 잘못된 이메일 주소가 표시되는지하지만 정보는 여전히sql insert/into from php

삽입 페이지에 업로드하는 중입니다

<?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 ], age = " '. $ _ POST [age].", status = "display"'; 여기 테이블에있는 모든 데이터를 잃어 버릴 것을 요구하고 있습니다. SQL injection – 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(); 

    } 

귀하의 코드는 나를 혼란을, 이 두 스크립트가 어떻게 관련되어 있는지 알지 못합니다. 의미는 입니다. 코드 삽입 코드 포함

여전히 하나의 솔루션이 있습니다. 이처럼 단일 스크립트에서 두 개의 스크립트를 결합 할 수 있습니다.

당신은 삽입 파일을 호출하는 페이지 리디렉션을 사용할 수 있지만 같은 $의 _POST 배열 을 사용하는 당신은 두 스크립트을 결합해야한다.

+0

그것은 그의 잘못이 아니었다. 내 것이었다. 그의 코드를 편집했는데, 읽기가 복잡했다. 그렇지만 "삽입 페이지"의 의미를 알아야한다. – Laith