[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с $_GET[]
RRR
Да, сам знаю что что утверждение полная чушь, но все же столкнулся с проблемой: ПХП страница генерировала разный код в зависимости от браузера, причем различия были именно в ПХП (а не в CSS или HTML). Ближе к делу, на блоге mawerick.hmsite.net коментарии хранятся в БД и выводятся согласно переменной id, полученой из ГЕТ, все браузеры нормально отображают уже существующие коментарии и добавляют новые, исключение составляет ФФ, почему то только в этом браузере переменная id при обращении к комментам зануляется, и как результат нечего не выводит, и неправильно сохраняет комменты, кто не верит этим росказням на слово - милости прошу проверить и отписать, интересующие учаски кода буду приводить по надобности, тк выкладывать все сразу слишком много.



Спустя 11 минут, 54 секунды (27.08.2010 - 21:07) Onehp написал(а):
сделай просто, ссылку 'Рекомендую использовать на сайте - "брауйзер", для более комфортной работы' ну или придумай своё laugh.gif

Спустя 5 минут, 27 секунд (27.08.2010 - 21:13) RRR написал(а):
определенно не выход, кстати еще добавлю что на локалхосте все коректно работает

Спустя 9 минут, 32 секунды (27.08.2010 - 21:22) Onehp написал(а):
ну тогда это наверно от хостинга зависит smile.gif

Спустя 7 минут, 32 секунды (27.08.2010 - 21:30) RRR написал(а):
да, это идея на крайний случай

Спустя 4 минуты, 14 секунд (27.08.2010 - 21:34) twin написал(а):
Хрень. Лис конечно фтопку, но работать должно везде.
Код покаж. Гдето косяк.

Спустя 10 минут, 47 секунд (27.08.2010 - 21:45) RRR написал(а):
и так, гавнокод в студию:

начало view.php?id=(допустим 10)

<?php
if(isset($_GET['id'])){$id=$_GET['id'];}
$id = intval ($id);
include ("../blocks/mysql_db.php");
$res = mysql_query("SELECT * FROM base WHERE id='$id'",$db);

далее типо вывод коммента

$res = mysql_query("SELECT * FROM comment WHERE id_t='$id' ORDER BY id;");
while ($myrow = mysql_fetch_array ($res)){?>

<div id="comment">


и если проходим капчу


date_default_timezone_set('Europe/Kiev');
$date = date ("d.m.Y");
$time = date ("H:i");
?>

<form method=post action="addcomment.php">
<
br>
Nick:<br> <input name=autor> <br>
Comment:<br> <textarea name=text rows=4 cols=82></textarea><br>
<
br><input type=submit>
<
input type=hidden name=date value=<?echo $date;?>>
<
input type=hidden name=time value=<?echo $time;?>>
<
input type=hidden name=id_t value=<?echo $id;?>>
</
form>

ну и собственно сохраняем коммент


<?php
include ("../blocks/mysql_db.php");
if (isset($_POST['id_t'])) if($_POST['id_t']){$id_t=$_POST['id_t'];}
if (isset($_POST['date'])) if($_POST['date']){$date=$_POST['date'];}
if (isset($_POST['time'])) if($_POST['time']){$time=$_POST['time'];}
if (isset($_POST['text'])) if($_POST['text']){$text=$_POST['text'];}
if (isset($_POST['autor'])) if($_POST['autor']){$autor=$_POST['autor'];}

$id_t = intval($id_t);
$nic = $_COOKIE['login'];
$res = mysql_query("SELECT ava FROM reg WHERE nic='$nic'");
$row = mysql_fetch_array ($res);
$ava = $row['ava'];

if (isset($text) && isset($autor) && isset($id_t))
{
$res=mysql_query("INSERT INTO comment (id_t,date,time,text,autor,ava) VALUES ('$id_t','$date','$time','$text','$autor','$ava');");

if($res)
{
$res = mysql_query ("UPDATE base SET com=com+1 WHERE id = '$id_t';");
}
}

header ("Location: view.php?id=".$id_t);
?>
[/s][s]

Спустя 1 час, 54 минуты, 39 секунд (27.08.2010 - 23:39) Rivalryzerg написал(а):
Для кого Николай пишет туториалы и курсы обучения непонятно..
Обо всех серьезных ошибках, которые присутствуют на вашем сайте RRR, можно почитать в курсе. Пожалуйста обратите особое внимание на ошибки типа XSS, SQL Injection.

По вашему вопросу не знаю что ответить. В фф все работает. Плохо, но работает.

Лишь посоветую: никогда не доверяйте пользователю, проверяйте все данные, которые приходят от пользователя. Даже в COOKIE можно записать что угодно.
Проверяйте наличие объекта, к которому добавляете комментарий.
Капчу лучше располагать на той же странице, где вводится текст комментарий.
Конкретный ID может быть только у одного тега.
Следуйте стандартам html - оформляйте теги и их аттрибуты полностью, экономия времени тут ни к чему (имеются ввиду моменты вроде value="text")

Спустя 6 часов, 26 минут, 27 секунд (28.08.2010 - 06:06) twin написал(а):
(устало) Пойдем сюда.

Спустя 1 час, 39 минут, 33 секунды (28.08.2010 - 07:45) RRR написал(а):
большое спасибо (особенно за XSS комент) , это уже прочитал и будем все серьезно фиксить, но основной вопрос остался открытым, все та же переменная в ГЕТ, гавнокод гавнокодом, но всеже , почему его работа зависит от браузера ?

Спустя 6 минут, 58 секунд (28.08.2010 - 07:52) Basili4 написал(а):
Мне кажется ты не правильно связал причину и следствие Пых ну не как не завист от бравзера вот я щас скрипт пишу которому и бравзер не нужен.

Спустя 1 минута, 30 секунд (28.08.2010 - 07:54) proviruz написал(а):
Это как браузер не нужен ? а чем тогда его отображать ?

Спустя 6 минут, 12 секунд (28.08.2010 - 08:00) proviruz написал(а):
дак таких скриптов обработчиков на каждом сайте полно

Спустя 14 минут, 30 секунд (28.08.2010 - 08:15) proviruz написал(а):
но в итоге то какой-нибудь скрипт всё равно должен выводить чё-нибудь иначе нах он тогда нужен
[php
a=1; c=0;
while (a != c)
{a=1;c = 0;}
]

Спустя 1 час, 1 минута, 16 секунд (28.08.2010 - 09:16) proviruz написал(а):
флейм уже - и так всем ясно чё почём

Спустя 4 часа, 1 минута, 37 секунд (28.08.2010 - 13:17) inpost написал(а):
proviruz
Тебя только красивый аватар спасает от моего гнева!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.