Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   PHP (https://forum.zone-game.info/forumdisplay.php?f=125)
-   -   Вывод информации по GET запросу (https://forum.zone-game.info/showthread.php?t=36103)

foxovsky 11.08.2014 14:21

Вывод информации по GET запросу
 
Привет всем

Я начинающий в php , потому ошибки могут быть банальными бла бла бла
В общем : index.php должен обрабатывать несколько get запросов
То есть,при обращении index.php?user=admin , он(index.php) должен выводить информацию о пользователе(коннект к бд,запрос,вывод все есть,проблема ниже);при обращении index.php?app=1 , он(index.php) должен выводить уже другую информацию и так далее

Пробовал подсчитать сколько символов в запросе index.php?user=admin и при $user_str > 0 выводить нужную информацию,но не выходит что-то

Вот пример кода:

Цитата:

<?php
/*
Пробник
*/

/* GET */
$user_login_get = (int) $_GET['user']; // Ссылка вида index.php/?user=the__all
$game_id = (int) $_GET['game']; // Ссылка вида index.php?game=1
$library_user = (int) $_GET['library']; // Ссылка вида index.php/?library=the__all

/* Подключение к базе данных */
$db_mysql = mysql_connect ("localhost","root","123456");
mysql_select_db ("test",$db_mysql);

/* Пользователь - ?user=the__all */
$user_login_strlen = strlen($user_login_get);// Считаем кол-во символов
if ($user_login_strlen > 0)
{// Если больше 0,то продолжаем
$user_login_info = mysql_query("SELECT * FROM users WHERE login='$user_login_get'",$db_mysql);// Запрос в базу данных
$myrow_user_login_info = mysql_fetch_array($user_login_info);
// Данные о пользователе в переменные
$user_login = $myrow_user_login_info['login']; // Логин
$user_nickname = $myrow_user_login_info['nickname']; // Никнейм
$user_country = $myrow_user_login_info['country']; // Страна
$user_avatar = $myrow_user_login_info['avatar']; // Путь до аватара
$user_fon = $myrow_user_login_info['fon']; // Путь до фона
$user_banner = $myrow_user_login_info['banner']; // Путь до баннера
$user_emblem = $myrow_user_login_info['emblem']; // Путь до эмблемы
$user_verify = $myrow_user_login_info['verify']; // Активация
// Вывод

}
else {}

?>

APKO 11.08.2014 14:39

Re: Вывод информации по GET запросу
 
(int) вы присвоили strlen считает строку , а у вас число..

Добавлено через 1 минуту
и перед тем как проверять чтото, выводите на екран, чтобы видеть что оно дает
Код:

$user_login_strlen = strlen($user_login_get);// Считаем кол-во символов
echo $user_login_strlen;


ExLite 11.08.2014 14:41

Re: Вывод информации по GET запросу
 
а зачем вообще подсчет символов ? почему не воспользоваться isset() ?
 
 
if(isset($_GET['user']))	
{
	$user_login_get = $_GET['user'];  // Ссылка вида index.php/?user=the__all
}	
 
Code: PHP

foxovsky 11.08.2014 14:45

Re: Вывод информации по GET запросу
 
Спасибо за ответы , ExLite - воспользовался вашим вариантом,работает

Donatte 11.08.2014 14:46

Re: Вывод информации по GET запросу
 
PHP код:

    if (isset($_GET['user'])
    {
        
// Тут код если переменная не пуста
    
}
    else if (isset(
$_GET['game'])
    {
        
// Тут код если переменная не пуста
    
}
    else if (isset(
$_GET['library']))
    {
        
// Тут код если переменная не пуста
    


Использование (int) для объявления типа переменной не обязательно в PHP. А поскольку необязательно, то не плодите избыточного кода.

foxovsky 11.08.2014 14:48

Re: Вывод информации по GET запросу
 
Не успел убрать одну ошибку,как появилась другая :

Цитата:

/* Пользователь - ?user=the__all */
if(isset($_GET['user']))
{
$user_login_get = $_GET['user']; // Ссылка вида index.php/?user=the__all
$user_login_info = mysql_query("SELECT * FROM users WHERE login='$user_login_get'",$db_mysql);// Запрос в базу данных
$myrow_user_login_info = mysql_fetch_array($user_login_info);
// Данные о пользователе в переменные
$user_nickname = $myrow_user_login_info['nickname']; // Никнейм
$user_country = $myrow_user_login_info['country']; // Страна
$user_avatar = $myrow_user_login_info['avatar']; // Путь до аватара
$user_fon = $myrow_user_login_info['fon']; // Путь до фона
$user_banner = $myrow_user_login_info['banner']; // Путь до баннера
$user_emblem = $myrow_user_login_info['emblem']; // Путь до эмблемы
$user_verify = $myrow_user_login_info['verify']; // Активация
// Вывод
echo <<<EOT

EOT;
}
Вывод через EOT считает синтаксической ошибкой

Donatte 11.08.2014 15:04

Re: Вывод информации по GET запросу
 
PHP код:

        $db = array
        (
            
'DBHOST'             =>    "localhost",        // Адрес SQL сервера
            
'DBNAME'            =>    "cms",                // Имя SQL базы
            
'DBUSER'            =>    "root",                // Пользователь SQL
            
'DBPASS'            =>    "vertrigo",            // Пароль SQL
            
'COLLATE'            =>    "cp1251",            // Кодировка SQL запросов
            
'COLLATE_FULL'        =>    "cp1251"            // Полная кодировка SQL запросов
        
);

        
$dbcnx = @mysql_connect($db['DBHOST'], $db['DBUSER'], $db['DBPASS']);

        if (
$dbcnx)
        {
            if (@
mysql_select_db($db['DBNAME'], $dbcnx))
            {
                @
mysql_query("set character_set_client='".$db['COLLATE']."'"); // Можно не использовать
                
@mysql_query("set character_set_results='".$db['COLLATE']."'");   // Можно не использовать
                
@mysql_query("set collation_connection='".$db['COLLATE_FULL']."'"); // Можно не использовать

                
$query = @mysql_query(SELECT FROM users WHERE login='{$user_login_get}'");

                while (
$row = @mysql_fetch_array($query))
                {
                    
$user_nickname = $row['nickname'];    // Никнейм
                    
$user_country = $row['country'];    // Страна
                    
$user_avatar = $row['avatar'];    // Путь до аватара
                    
$user_fon = $row['fon'];    // Путь до фона
                    
$user_banner = $row['banner'];    // Путь до баннера
                    
$user_emblem = $row['emblem'];    // Путь до эмблемы
                    
$user_verify = $row['verify'];    // Активация
                }

                echo "
Nickname" . $user_nickname . "\n";
                echo "
Country" . $user_country . "\n";
                echo "
Avatar" . $user_avatar . "\n";
                echo "
Fon" . $user_fon . "\n";
                echo "
Banner" . $user_banner . "\n";
                echo "
Emblem" . $user_emblem . "\n";
                echo "
Verify" . $user_verify . "\n";
            }
            else
                echo "
DB error!"
        }
        else
            echo "
Connection failure!"; 

Как-то так.


Текущее время: 10:11. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot