Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql PHP头问题_Php_Mysql - Fatal编程技术网

Mysql PHP头问题

Mysql PHP头问题,php,mysql,Php,Mysql,我目前正在学习数据库和php,遇到了很多麻烦。 希望你们能帮忙。。好的,问题来了 我在Mysql中创建了3个表,Admin(在Mac上使用PHPADMIN) 我创建了3个单独的html表单,将信息输入到这些表中 当我点击submit时,我需要将信息重定向并显示在一个单独的.php/html页面上。我遇到的问题是,信息被正确地输入到表中,它第一次将我重定向到配置文件页面。 当我返回并在同一表单中输入另一个条目(包含不同的信息)并点击submit时,它会将我带到profile页面,但从第一个条目加载

我目前正在学习数据库和php,遇到了很多麻烦。 希望你们能帮忙。。好的,问题来了

我在Mysql中创建了3个表,Admin(在Mac上使用PHPADMIN) 我创建了3个单独的html表单,将信息输入到这些表中

当我点击submit时,我需要将信息重定向并显示在一个单独的.php/html页面上。我遇到的问题是,信息被正确地输入到表中,它第一次将我重定向到配置文件页面。 当我返回并在同一表单中输入另一个条目(包含不同的信息)并点击submit时,它会将我带到profile页面,但从第一个条目加载相同的信息。无论我尝试重新输入信息多少次,它都会继续加载第一个条目。 我输入的所有信息都正确地输入到表中

这是提交的代码

 **<?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();
    ?>**

***我认为错误已被抑制。。。尝试忽略错误报告,然后再次尝试查看是否有任何错误。

Steven

你们并没有给我们足够的信息,比如HTTP方法(POST/GET)、Web服务器、表单的源代码等等

不过,根据您提供的信息,我的最佳选择是您的302重定向以某种方式被缓存,并且您总是被重定向到相同的
。/staff/salesmans/salesmans\u profile\u page.php?SalesmanID=$ID
页面


这可能是由于您的Web服务器前面的代理/缓存服务器、Web服务器配置错误、缓存头、使用的扩展等造成的。

可能您的服务器被重定向,状态为“301已永久移动”
,请在浏览器的devtools中查看。如果是这样,您可能希望尝试设置附加标题:
302 found
307 Temporary Redirect

首先,停止使用
mysql\uuuuz
方法-这些方法已被弃用多年,并且存在严重缺陷。使用PDO或MySQLi。其次,您的代码对SQL注入非常开放,因此不难破解,任何包括字符
在内的内容都会破坏您的数据库调用。使用准备好的语句和绑定变量。第三,不要将密码存储在明文中。对它们进行散列(最好使用bcrypt函数
password\u Hash
),通过phpmyadminun运行select语句,确保其正确性幸运的是,我目前正在学习的课程使用Mysql,他们希望我们学习的所有信息和书籍都使用这种旧方法。。我不知道从哪里开始使用Mysqli。@StevenMihelakis然后至少使用
mysql\u real\u escape\u string
。谢谢大家的建议,在我翻阅这本书并从头开始之前,我什么都做不了。意识到我需要创建一个不同的主键(如UserID),并使其自动递增,而不是作为字段包含在表单中。。。现在一切都正常了。当我点击submit时,它在开发工具中说,302找到了,方法是POST,我使用的是localhost服务器MAMPAs,这在我的回答中已经解释过,并且得到了您上一条评论(302找到)的确认,您遇到了缓存(导航器)问题。
  **<?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}");
    }

    ?>**