2015-03-26 2 views
0

В настоящее время я изучаю базы данных и php, и у меня большие проблемы. Надеется, что вы, ребята, можете помочь .. КИ проблемыПроблемы с заголовком PHP Mysql

У меня есть 3 таблицы, созданная в Mysql, Admin (Использование PHPADMIN, на Mac) Я создал 3 отдельной HTML-формы для ввода информации в эти таблицы.

Когда я попал в submit, мне нужно, чтобы информация была перенаправлена ​​и отображена на отдельной странице .php/html. Проблема im заключается в том, что информация вводится правильно в таблицы, и она перенаправляет меня на страницу профиля в самое первое время. Когда я вернусь и сделаю еще одну запись в той же форме (с другой информацией) и нажмите «Отправить», она приведет меня к странице профиля, но загрузит ту же информацию из первой записи. Независимо от того, сколько раз я пытаюсь повторно ввести информацию, он продолжает загружать первую запись. Вся информация, которую я вводил, правильно входит в таблицы.

Heres это код для Submit

**<?php 
     require 'connect_mysql.php'; 

     error_reporting(E_ALL | E_WARNING | E_NOTICE); 
     ini_set('display_errors', TRUE); 


     $SalesmanID = trim($_REQUEST['SalesmanID']); 
     $password = trim($_REQUEST['password']); 
     $FirstName = trim($_REQUEST['FirstName']); 
     $LastName = trim($_REQUEST['LastName']); 
     $Phone = trim($_REQUEST['Phone']); 
     $Email = trim($_REQUEST['Email']); 
     $DateAdded = trim($_REQUEST['DateAdded']); 



     // Handle user request 
     $insert_sql = "INSERT INTO Salesman (SalesmanID, password, FirstName, LastName, Phone, Email, DateAdded) " . 
         "VALUES ('{$SalesmanID}','{$password}', '{$FirstName}', '{$LastName}', '{$Phone}', '{$Email}','{$DateAdded}') ; " ; 

// Insert the user into the database 
     mysql_query($insert_sql) 
      or die(mysql_error()); 

// Redirect the user to the page that displays user information 
    header("Location:../staff/salesmen/salesmen_profile_page.php?SalesmanID=" . mysql_insert_id()); 
    exit(); 
    ?>** 

А вот код на странице Перенаправление

**<?php 

    require '../../scripts/connect_mysql.php'; 

     error_reporting(E_ALL | E_WARNING | E_NOTICE); 
     ini_set('display_errors', TRUE); 

    // Get the user ID of the user to show 
    $SalesmanID = $_REQUEST['SalesmanID']; 

    // Build the SELECT statement 
    $select_query = "SELECT * FROM Salesman WHERE SalesmanID = " . $SalesmanID; 

    // Run the query 
    $result = mysql_query($select_query); 
    if ($result) { 
     $row = mysql_fetch_array($result); 
     $SalesmanID = $row['SalesmanID']; 
     $FirstName = $row['FirstName']; 
     $LastName = $row['LastName']; 
     $Phone = $row['Phone']; 
     $Email = $row['Email']; 

     while($row = mysql_fetch_array($result)){ 

     } 



    } else { 
     die("Error locating user with ID {$SalesmanID}"); 
    } 

    ?>** 

Предупреждение об ошибке ничего не показывает.

ПОЖАЛУЙСТА, ПОМОГИТЕ! Thanks

+0

Прежде всего, прекратите использовать методы 'mysql_' - они устарели многие годы и имеют большие недостатки. Используйте PDO или MySQLi. Во-вторых, ваш код невероятно открыт для SQL-инъекций, поэтому его не будет сложно взломать, и что-нибудь, включая символ '' ', испортит ваш вызов базы данных. Используйте подготовленные операторы и свяжите переменные. В-третьих, не храните пароли в открытом виде. Хешируйте их (предпочтительнее с помощью функции bcrypt 'password_hash') – h2ooooooo

+0

Откажитесь от своего оператора выбора и убедитесь, что это правильно, запустив его через phpmyadmin –

+0

К сожалению, в настоящее время в нем используется Mysql и вся информация и книги, которые они нам хотят исследование использует этот старый метод. Я бы не знал, с чего начать использовать Mysqli. –

ответ

0

Я думаю, что ошибка была подавлена ​​... попробуйте исключить error_reporting и повторите попытку, чтобы увидеть, есть ли какая-либо ошибка.

0

Стивен,

Вы не дают нам достаточно информации, как метод HTTP (POST/GET), веб-сервер, исходный код форм, и т.д. ...

Хотя, используя то, что вы дали , лучшим вариантом было бы то, что ваш 302 Redirect каким-то образом кэшируется, и вы всегда будете перенаправлены на ту же страницу ../staff/salesmen/salesmen_profile_page.php?SalesmanID=$ID.

Это может быть связано с прокси-сервера/кэша в передней части вашего веб-сервера, в неправильной конфигурации веб-сервера, заголовки кэша, расширений, используемых, и т.д. ...

+0

метод POST, а im с использованием сервера localhost MAMP –

+0

Как объясняется в моем ответе и подтвержденном вашим последним комментарием (302 Найдено), вы сталкиваетесь с проблемой ** cache ** (навигатора). –

0

Возможно, ваш сервер redirectict со статусом 301 moved permanently , проверьте его в devtools вашего браузера. Если это так, вы можете попробовать установить дополнительный заголовок: 302 found или 307 Temporary Redirect.

+0

когда я нажимаю submit, он говорит в инструментах dev, 302 Найдено, –