Вопрос по php

12
Master812
На сайте с 23.12.2007
Offline
168
835

Всем привет!

Изучаю php, написал простенький код, который в конце каждой ссылки вставляет id, указанный пользователем. Всего 8 ссылок, однако отображается почему-то только 4 :(

Помогите пожалуйста разобраться почему! Уже голову чуть ли не сломал, но так и непонял....

Вот ссылка на php-страничку, на которой 4 ссылки вместо восьми http://antizlo.ru/vkontakte/3.php

А вот сам код:


<html>
<title>Ссылки для просмотра данных со скрытых страниц сайта Вконтакте.ру</title>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
Номер <input type="text" name="FirstName" value="<?php echo $_POST['FirstName'];?>" size="20">
<input type="submit" name="submit" value="Настроить ссылки">
</form>
<?php
echo '<br> <a href="http://vkontakte.ru/photos.php?id='.$_POST['FirstName'].'>его(её) фотоальбомы (если не скрыты)</a>';
echo '<br> <a href="http://vkontakte.ru/photos.php?act=user&id='.$_POST['FirstName'].'>фотографии, на которых он(она) отмечен(а) (если не скрыты)</a>';
echo '<br> <a href="http://vkontakte.ru/video.php?id='.$_POST['FirstName'].'>его(её) видео</a>';
echo '<br> <a href="http://vkontakte.ru/video.php?act=tagview&id='.$_POST['FirstName'].'>видео, на котором он(она) отмечен(а) (если не скрыты)</a>';
echo '<br> <a href="http://vkontakte.ru/groups.php?id='.$_POST['FirstName'].'>группы человека с этим id</a>';
echo '<br> <a href="http://vkontakte.ru/friend.php?id='.$_POST['FirstName'].'>список друзей (если не скрыт)</a>';
echo '<br> <a href="http://vkontakte.ru/notes.php?id='.$_POST['FirstName'].'>заметки человека с этим id</a>';
echo '<br> <a href="http://vkontakte.ru/questions.php?mid='.$_POST['FirstName'].'>его(её) вопросы</a>';
?>
</body></html>
raspberry pi сайт ( https://4raspberrypi.ru/ ) и orange pi сайт ( https://orangepi.su/ ) и новостной движок ( https://generalscript.ru/ )
[Удален]
#1


"http://vkontakte.ru/photos.php?id='.$_POST['FirstName'].'>

а кавычку дядя федя будет закрывать?

S
На сайте с 07.11.2008
Offline
152
#2

Ага.

Написано

echo '<br> <a href="http://vkontakte.ru/questions.php?mid='.$_POST['FirstName'].'>его(её) вопросы</a>';

А надо

echo '<br> <a href="http://vkontakte.ru/questions.php?mid='.$_POST['FirstName'].'">его(её) вопросы</a>';
Alipapa
На сайте с 01.02.2008
Offline
234
#3

Не так, а вот как:

echo "<br> <a href=\"http://vkontakte.ru/photos.php?id='".$_POST['FirstName']."'\">его(её) фотоальбомы (если не скрыты)</a>";

хотя, последний вариант до моего тоже может работать.

Биржа фриланса - простая и удобная (http://kwork.ru/ref/2541)
M
На сайте с 03.11.2008
Offline
1
#4
<a photos.php?act="user&id=" vkontakte.ru="" http:="" href="http://vkontakte.ru/photos.php?id=>его(её) фотоальбомы (если не скрыты)</a><br> <a href=">фотографии, на которых он(она) отмечен(а) (если не скрыты)</a>
<br/>
<a video.php?act="tagview&id=" vkontakte.ru="" http:="" href="http://vkontakte.ru/video.php?id=>его(её) видео</a><br> <a href=">видео, на котором он(она) отмечен(а) (если не скрыты)</a>
<br/>
<a friend.php?id="" vkontakte.ru="" http:="" href="http://vkontakte.ru/groups.php?id=>группы человека с этим id</a><br> <a href=">список друзей (если не скрыт)</a>
<br/>
<a questions.php?mid="" vkontakte.ru="" http:="" href="http://vkontakte.ru/notes.php?id=>заметки человека с этим id</a><br> <a href=">его(её) вопросы</a>

что ж у вас в коде такое творится.. и XSS есть.

Работать, работать, работать...
[Удален]
#5

Гении собрались я смотрю.

XSS да, есть. А творится потому что кавычка не закрыта. А вы смотрите дебаггером поэтому у вас уже Dom-транслированный код. В исходном коде оно без подобных извратов.

И не надо там экранировать эти кавычки, ибо вся строка в echo заключена в одинарные апострофы (хотя обычно делают наоборот)

Givandos
На сайте с 25.06.2007
Offline
33
#6

neolord

Прошу прощения, имел ввиду Alipapa

Alipapa

Объясните, пожалуйста, почему Ваш вариант с экранированием правильнее нежели вариант выше от Вашего? Зачем путать новичка (который, кстати, сделал все правильно, не считая пропущеной из-за невнимательности кавычки) своими бэк-слешами, которые делают код менее читаемым сходу?

parMaster
На сайте с 25.07.2007
Offline
43
#7

1) за вывод html посредством echo надо сразу руки отрывать

2) за одинарные кавычки - отрывать все остальное

3) не судьба прогнать сгенерированный html на валидность?

4) про xss - молчу

Удобный сервис закладок (http://vzakladki.com.ua) ICQ: 280060143
[Удален]
#8
parMaster:
1) за вывод html посредством echo надо сразу руки отрывать

:D :D :D

Светаните еще методов? =)

Таггу x_x
На сайте с 31.10.2005
Offline
445
#9
neolord:
Светаните еще методов? =)

print :)

десять принтов.

☠️☠️☠️
Alek$
На сайте с 25.06.2008
Offline
34
#10
neolord:
Светаните еще методов? =)

Шаблонизаторы 🚬

Google Cache Dumper & Bing Cache Dumper (/ru/forum/479980) RegSubmitter - Регистратор аккаунтов в социальных закладках (/ru/forum/300978) Мой блог (http://nevkontakte.org.ru).
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий