2016-10-14 16 views
1

Можно ли совместить вставку и выбрать? то, что я пытаюсь сделать, заключается в том, чтобы пользователь мог заполнить приложение, которое пользователь может заполнить как можно больше приложений, поскольку он или она хочет, чтобы каждый из них был другим. в конце приложения пользователь должен указать адрес электронной почты, который им нужен, чтобы указать правильный адрес электронной почты, который они использовали для входа в систему. Если они не набирают правильный адрес электронной почты, сообщение покажет недействительный адрес электронной почты, который он или она не сможете продолжать, пока они не поймут это правильно. моя проблема заключается в том, что сообщение показывает неверный адрес электронной почты, но информация по-прежнему загружаетсяsql insert in/select 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 "';' Вы просите потерять все данные в своей таблице здесь, btw. 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(); 

    } 

Ваш код смущая меня, Я не понимаю, как связаны эти два сценария. Я имею в виду: Главная страница код, вызывающий или включающий Вставить страницу

Тем не менее у меня есть одно решение для вас, вы можете комбинировать два сценария в одном скрипте, подобном этому.

Вы можете использовать перенаправление страницы для вызова файла вставки, но, как вы используете тот же массив $ _POST вы должны объединить оба сценария.

+0

Это была не его вина, она была моей, я отредактировал его код, это было сложно читать, но даже в этом случае вы должны знать, что означает главная страница «вставить страницу» =) – Laith