Вземане на id с GET

FrostTiger

Registered
Здравейте,
Въпросът ми този път е как мога да направя така че примерно имам файл profile.php и искам да извлека с GET id-то и да ми показва данните за този потребител който е с id-5 примерно ! Обръщам се към вас защото не съм много запознат с GET :( ! Благодарско на този който ми помогне ! :)
 
ето ти и малък съвет как да го подсигориш
profile.php?user_id=5
PHP:
$id = (int)$_GET['user_id'];

if(!is_numeric($id)){//ако user_id не е цифра
echo "Някаква грешка";
}
 
Jorko каза:
ето ти и малък съвет как да го подсигориш
profile.php?user_id=5
PHP:
$id = (int)$_GET['user_id'];

if(!is_numeric($id)){//ако user_id не е цифра
echo "Някаква грешка";
}

Е, ок де, и какъв е смисъла. Кастваш го към integer и проверяваш дали е число? Какво ще е? Крава?
 
Стана благодаря ви!
сега ще пробвам и в профила да го направя да показва информацията на потребителя с id=1 и ако не мога да се оправя ще пиша тук :)
 
ами ти на линкът който води към рази страница задал ли си му href="profile.php?user_id=<?php echo $poleto_za_id_potrebitelq; ?>" :/
 
Аз го бях направил така :
$id = $_GET['user_id'];
<a href="profile.php?id=<?php echo $id; ?>
а то било така :
<a href="profile.phpid=<?php echo $row['user_id']; ?> :D
 
Ами да те питам и по късно и ще тествам ами ако id съм задал int и не е число как ще ме прати към предишната страница?
 
Ако напишеш $id = (int) 'wardjhadjd'; ще стане на 0.
Има ctype_digit http://php.net/manual/en/function.ctype-digit.php за тази проверка.
 
Според мен адекватна обработка на грешките би процедирала по следния начин:

1. Взимаме $_GET параметъра и го присвояваме на променлива.
2. Кастваме евентуално към число.
3. Проверяваме дали съществува такъв потребител.
4. Според резултата показваме страница/редиректваме към error или нещо от сорта.
 
Jorko каза:
ето ти и малък съвет как да го подсигориш
profile.php?user_id=5
PHP:
$id = (int)$_GET['user_id'];

if(!is_numeric($id)){//ако user_id не е цифра
echo "Някаква грешка";
}

този иф мисля, че е малко объркан защото така или иначе $id ще бъде число..дори и да се въведе текст ръчно в адрес бара то че се появи като 0 заради това (int) което има преди GET
Така, че по-удачно е да проверява дали е по-голямо от нула т.е. да е това което трябва

PHP:
if($id<=0){
echo "ERROR";
}
 

Горе