2013-05-11 1 views
0

У меня есть система входа в систему. У меня также есть форма, в которой, когда вы выбираете то, что данные или значение будет отправлено в базу данных SQL, а на другой странице отображаются все отправленные значения в таблице.Проводка текущего пользователя в базу данных 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 и отображать пользователю и пить они заказали.

+0

Вы должны указать код, подтверждающий, что вы что-то пробовали. – Sanoob

+3

Lovely [SQL injection attack] (http://bobby-tables.com) дыры. Наслаждайтесь наличием вашего сервера pwn3d. –

+0

Имена пользователей и пароль не принадлежат к файлам cookie. Для этого используйте сеансы. Также пароли не должны сохраняться в виде обычного текста. – Arjan

ответ

0

Ну вы можете принять этот подход,

при аутентификации хранилища пользователя общей информации пользователя в сеансах. Затем, когда у вас есть информация о напитке, вы можете использовать данные в сеансах.

Если у вас есть стол для заказанных напитков, я собираюсь предположить, что вы вводите новую запись за заказ на напиток. Вы должны использовать столбец для хранения username пользователя или даже лучше их user_id (если у вас его есть в таблице пользователей).

Тогда при выполнении запроса, чтобы получить напиток заказов, вы можете JOIN таблицы, как этот

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

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

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

Смежные вопросы