получить значение из текстового поля php и сопоставить с базой данных - PullRequest
0 голосов
/ 18 января 2012

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

   <?php
header('P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"');
include_once "fbmain.php";
include_once "mysqli.connect.php";
mysql_connect(".....") or die(mysql_error()) ;
mysql_select_db("jetstardatabase") or die(mysql_error()) ;

?>    
<html>
    <link type= "text/css" rel="stylesheet" href="starpickStyle.css">

    <head>
        <title>StarPick</title>

    </head>
    <body>
<?php
if (!isset($_POST["code"]))
{
?>

<form action="" method="post">

 <strong>Code: *</strong> <input type="text"  name = "code" >
 <input type="submit" name="submit" value="Submit">
    </form>
    <?php
}else
{
$code = $_POST["code"]; }
$sql = "SELECT bookingref FROM starpick WHERE obsolete = 0";
$result = $mysqli->query($sql);

while($row = $result->fetch_object())
{           
    if($row->bookingref == $code)
    {
        echo 'Found';
    }
    else
    {
        echo 'Try Again';
    }
}
?>
</body> 
</html>

1 Ответ

0 голосов
/ 18 января 2012

Вы подходите неправильно, вам нужно позволить базе данных выполнить сопоставление, а не получить все строки и выполнить сопоставление в php.

Что-то вроде:

$sql = "SELECT bookingref FROM starpick WHERE obsolete = 0 AND bookingref='" . mysql_real_escape_string($_POST["code"]) . "'";    // better use a prepared statement by the way but you'll have to check the manual for mysqli

и затемпросто проверьте, найдена ли строка.

Я сам использую PDO, но вот руководство по подготовленным операторам для mysqli .

...