Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.12.2010, 13:15   #11
TranceSmile
Смайлик :)
Форумчанин
 
Аватар для TranceSmile
 
Регистрация: 12.12.2010
Сообщений: 445
По умолчанию

Сделай проверку
Код:
if(isset($_GET['nid'])) $blalba = $_GET['nid'];
elseif(isset($_POST['nid'])) $blalba = $_POST['nid'];
else $blalba = "";
Самый перспективный framework Yii (c)
TranceSmile вне форума Ответить с цитированием
Старый 18.12.2010, 17:51   #12
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Denim, чтобы скрипт мог редиректнуть тебя, нужно чтобы он не выводил ни каких данных на страницу.
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 20.12.2010, 19:47   #13
Denim
Пользователь
 
Аватар для Denim
 
Регистрация: 16.12.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Linel Посмотреть сообщение
Denim, чтобы скрипт мог редиректнуть тебя, нужно чтобы он не выводил ни каких данных на страницу.
что-то я короче с этими хедерами неподружусь,
у меня в индексе уже выдает хедер, а в индексе же и показывает содержимое новостей и коментариев, тобиж даже при написании коментария редирект непрокатит решил сделать с помощью кукисов, чтоб нельзя было писать чаще чем в 1 мин(это даже лучше, мне на сайте чат мгновенных сообщений ненужен)
PHP код:
if(!empty($_SESSION))
addcomment();
if (
$_COOKIE["comment"] != null
if(!empty(
$_POST['comment'])){

$_POST['comment']=str_replace"'"''',$_POST['comment']);
$_POST['
comment']=htmlspecialchars($_POST['comment']);
$_POST['
comment']=str_replace("\n","<BR>",$_POST['comment']);
mysql_query("INSERT INTO `comments` (`comment`,`commentator`,`nid`)VALUES('".
$_POST['comment']."','".$_SESSION['login']."','{$id}');");
if(mysql_error()){ echo mysql_errno() . ": " . mysql_error() . "\n";}
setcookie("comment","",time()+60);}
 } 
но...
Код:
Notice: Undefined index: comment in C:\тутадрес\comments.php on line 13
if ($_COOKIE["comment"] != null) - 13 строка

Последний раз редактировалось Denim; 20.12.2010 в 21:30.
Denim вне форума Ответить с цитированием
Старый 20.12.2010, 22:10   #14
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Код функции addcomment() дай
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 20.12.2010, 22:18   #15
Denim
Пользователь
 
Аватар для Denim
 
Регистрация: 16.12.2010
Сообщений: 12
По умолчанию

PHP код:
if(empty($_COOKIE["comment"]) ) {
if(!empty(
$_POST['comment'])){

$_POST['comment']=str_replace"'"''',$_POST['comment']);
$_POST['
comment']=htmlspecialchars($_POST['comment']);
$_POST['
comment']=str_replace("\n","<BR>",$_POST['comment']);
mysql_query("INSERT INTO `comments` (`comment`,`commentator`,`nid`)VALUES('".
$_POST['comment']."','".$_SESSION['login']."','{$id}');");
setcookie("comment","",time()+60);
if(mysql_error()){ echo mysql_errno() . ": " . mysql_error() . "\n";}
}
 }
 }
 elseif(!empty($_COOKIE["comment"])) {Echo"нельзя писать чаще чем рас в 1 минуту";} 
сделал так теперь пишет
Цитата:
Warning: Cannot modify header information - headers already sent by (output started at ..\mypro\index.php:31) in ..\mypro\comments.php on line 20
31 строка индекса и далее
Код:
<script type="text/javascript">
$(document).ready(function(){	    
$("input, textarea").addClass("idle");            
$("input, textarea").focus(function(){                
$(this).addClass("activeField").removeClass("idle");	    
}).blur(function(){                
$(this).removeClass("activeField").addClass("idle");	    
});        
});    
</script>
Denim вне форума Ответить с цитированием
Старый 20.12.2010, 22:27   #16
Denim
Пользователь
 
Аватар для Denim
 
Регистрация: 16.12.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Linel Посмотреть сообщение
Код функции addcomment() дай
Код:
function addcomment()
{
?>

<div id="inputArea">
  <form method="post" action="#">
    
  <label>Текст комментария:</label><textarea rows="4" cols="30"name=comment></textarea>
  
  <input type="submit" value="Отправить"></form>
 </div>
<?
Denim вне форума Ответить с цитированием
Старый 20.12.2010, 22:33   #17
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Теги HTML тоже являются текстом. Пусть пользователь его не видет, но он выдается браузеру. Еще раз советую схему:

1) Есть страничка с твоим форумом, регистрацией, не важно чем. На ней есть форма. Пользователь заполняет ее. Аттрибут "action" тега "form" должен иметь значение скрипт-обработчика, например:
Код:
<form action="check_registration.php" method="POST">
....
<input type="submit" value="Готово">
</form>
2) Скрипт check_registration.php не должен ничего выводить. Ни тегов, ничего. Он просто проверяет введенных данных. Если все данные верны, он перенаправляет пользователя куда тебе надо. Если же нет, то переправляет на станичку ошибок. И уже на этой странице пользователь получает сообщение: "Вы неправильно сделали то-то и то-то". Ошибки можно передавать в сессии в виде массива. Если непонятно объяснил, добавь меня в скайп: EliteKSE
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 20.12.2010, 22:38   #18
Denim
Пользователь
 
Аватар для Denim
 
Регистрация: 16.12.2010
Сообщений: 12
По умолчанию

Цитата:
Сообщение от Linel Посмотреть сообщение
Теги HTML тоже являются текстом. Пусть пользователь его не видет, но он выдается браузеру. Еще раз советую схему:

1) Есть страничка с твоим форумом, регистрацией, не важно чем. На ней есть форма. Пользователь заполняет ее. Аттрибут "action" тега "form" должен иметь значение скрипт-обработчика, например:
Код:
<form action="check_registration.php" method="POST">
....
<input type="submit" value="Готово">
</form>
2) Скрипт check_registration.php не должен ничего выводить. Ни тегов, ничего. Он просто проверяет введенных данных. Если все данные верны, он перенаправляет пользователя куда тебе надо. Если же нет, то переправляет на станичку ошибок. И уже на этой странице пользователь получает сообщение: "Вы неправильно сделали то-то и то-то". Ошибки можно передавать в сессии в виде массива. Если непонятно объяснил, добавь меня в скайп: EliteKSE
да нет, я все верно понял, у меня в регистрации так и есть,в экшене register1.php там уже нечего не передается.
Denim вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
регистрация Dimarik PHP 1 17.07.2010 23:51
Регистрация Syltan Свободное общение 2 06.09.2009 15:41
Регистрация limon PHP 1 17.10.2008 10:33
Регистрация БД Gladiator БД в Delphi 1 05.06.2008 00:09