Проверка значений строки запроса в PHP - PullRequest
1 голос
/ 17 ноября 2009
http://localhost/?area=characters&name=Michal+Stroganof



$result = mysql_query("SELECT * from players WHERE name = '$_GET[name]'");

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

    echo "Name: " .$row['name']. "<br>";
    echo "Level: " .$row['level']. "<br>";

}

Это весь код моих персонажей. Php

Если переменная get name не включена в URL, я хочу показать форму поиска, которая ищет игроков в таблице. Как бы я это сделал?

Ответы [ 3 ]

9 голосов
/ 17 ноября 2009

Вы хотите просто изменить строку SQL следующим образом?

$sql = 'SELECT * from players';
if (isset($_GET['name'])) {
    $safename = mysql_real_escape_string($_GET['name']);
    $sql .= " WHERE name='$safename'";
}
$result = mysql_query($sql);

Обязательно дезинфицируйте свой SQL!

5 голосов
/ 17 ноября 2009

Использование isset():

if (isset($_GET['name'])) {
    // your above code
} else {
    // display form        
}
1 голос
/ 17 ноября 2009

Быстро и грязно:

<?php
if (!isset($_GET['name']))
{
    echo  '<form action="'. $_SERVER['PHP_SELF'] .'" method="GET">'
         .'<input type="text" name="name" />'
         .'</form>';
}
else
{
    // your current code that queries your database here
}
?>
...