0

我有一个登录系统工作。我还有一个表单,当您选择某些内容时,数据或值将被发送到 SQL 数据库,并在不同的页面上显示表中所有发送的值。

我将如何在表格上显示发送该数据的用户?

这是我用于将表单发布到数据库的代码。

<form action="add_order.php" method="post">
<input type="hidden" name="s_table" value="$username"/>
<p><input type="checkbox" name="s_food" value="Pepsi" /><font color="gray">PEPSI® </font>
 <font color="white">$2.39</font>       

<p><input type="checkbox" name="s_food" value="Diet Pepsi" /><font color="gray">DIET PEPSI®</font>
 <font color="white">$2.39 </font>      

<p><input type="checkbox" name="s_food" value="Pepsi Max" /><font color="gray">PEPSI MAX®</font>
 <font color="white">$2.39  </font> 

<p><input type="checkbox" name="s_food" value="Mountain Dew" /><font color="gray">MOUNTAIN DEW®</font>
 <font color="white">$2.39 </font>      

<p><input type="checkbox" name="s_food" value="Sierra Mist" /><font color="gray">SIERRA MIST®</font>
 <font color="white">$2.39 </font>      

<p><input type="checkbox" name="s_food" value="Mug Root Beer" /><font color="gray">MUG ROOT BEER®</font>
 <font color="white">$2.39 </font>      

<p><input type="checkbox" name="s_food" value="Spring Water" /><font color="gray">SPRING WATER</font>
 <font color="white">$2.79  </font> 

<p><input type="checkbox" name="s_food" value="Perrier" /><font color="gray">PERRIER®</font>
<font color="white"> $2.79</font>

这是我的登录系统代码。

$_SESSION['username']=$_POST['username'];

 //Checks if there is a login cookie

 if(isset($_COOKIE['ID_my_site']))


 //if there is, it logs you in and directes you to the members page

 { 
    $username = $_COOKIE['ID_my_site']; 

    $pass = $_COOKIE['Key_my_site'];

        $check = mysql_query("SELECT * FROM users WHERE username = '$username'")or die(mysql_error());

    while($info = mysql_fetch_array( $check ))  

        {

        if ($pass != $info['password']) 

            {

                        }

        else

            {

            header("Location: menu.php");



            }

        }

 }


 //if the login form is submitted 

 if (isset($_POST['submit'])) { // if form has been submitted



 // makes sure they filled it in

    if(!$_POST['username'] | !$_POST['pass']) {

        die('You did not fill in a required field.');

    }

    // checks it against the database



    if (!get_magic_quotes_gpc()) {

        $_POST['email'] = addslashes($_POST['email']);

    }

    $check = mysql_query("SELECT * FROM users WHERE username = '".$_POST['username']."'")or die(mysql_error());



 //Gives error if user dosen't exist

 $check2 = mysql_num_rows($check);

 if ($check2 == 0) {

        die('That user does not exist in our database. <a href=add.php>Click Here to Register</a>');

                }

 while($info = mysql_fetch_array( $check ))     

 {

 $_POST['pass'] = stripslashes($_POST['pass']);

    $info['password'] = stripslashes($info['password']);

    $_POST['pass'] = md5($_POST['pass']);



 //gives error if the password is wrong

    if ($_POST['pass'] != $info['password']) {

        die('Incorrect password, please try again.');

    }
 else 

 { 


 // if login is ok then we add a cookie 

     $_POST['username'] = stripslashes($_POST['username']); 

     $hour = time() + 3600; 

 setcookie(ID_my_site, $_POST['username'], $hour); 

 setcookie(Key_my_site, $_POST['pass'], $hour);  



 //then redirect them to the members area 

 header("Location: menu.php"); 

 } 

 } 

 } 

 else 

{    



 // if they are not logged in 

 ?> 

 <form action="<?php echo $_SERVER['PHP_SELF']?>" method="post"> 

 <table border="0"> 

 <tr><td colspan=2><h1>Login</h1></td></tr> 

 <tr><td>Username:</td><td> 


 <input type="text" name="username" maxlength="40"> 

 </td></tr> 

 <tr><td>Password:</td><td> 

 <input type="password" name="pass" maxlength="50"> 

 </td></tr> 

 <tr><td colspan="2" align="right"> 

 <input type="submit" name="submit" value="Login"> 

 </td></tr> 

 </table> 

 </form> 

 <?php 

 } 



 ?> 

 </body>
</html>

我希望能够获取我登录的用户并将该用户添加到我正在订购的饮料中并将其发送到 SQL 表并显示用户和他们订购的饮料。

4

1 回答 1

0

Well you might want to take this approach,

when you authenticate the user store the user's common information in sessions. Then when you have the information for the drink you can make use of the data in the sessions.

Or if you have a table for the drinks being ordered, then I am going to assume that you enter a new record per drink order. You would use a column to store the user's username or even better their user_id (if you have one in the users table).

Then when you run a query to get the drink orders, you can JOIN the tables like this

SELECT u.username, u.first_name, o.drink_name FROM users u JOIN orders o ON u.username = o.username

So this will pull up the records of the order and also give you the information of the user who the order belonged to.

Your login script is simple and does needs some work to make it more secure, but its a great start. The problem you have is that you need to expand on how you plan to save your users' information and the drink order information, then how to make use of some type of JOIN to make all that data flow together.

于 2013-05-11T08:02:57.100 回答