<?php
echo "some shit";
?>
Undefined index: action in....
Поставил себе пхп5(апач) сразу начали ошибки вылазить типа Undefined index: action и тд... вроде отключал нотайсы, но вот незадача скрипты тога вообче не пашут)
может ктонить знает как решить проблему такую?
заранее спасибо.
Попробуй более подробно описать какие нотайсы...
ещё лучше покури мануал по установке апач+пхп (иногда лишние вопросы отпадают)
не брезгй проверками типа:
Код:
если не отключать то ругается на $_POST['action'] т.е. на экшн что типа он Undefined index, хотя через echo $_POST['action'] все превосходно показывает что пришло
switch ($_POST['action'])
{
...
}
а по поводу мануалов прочитано не мало) и про эту проблему много прочитано все советуют просто отключит репорт нотайс и типа все будет ок... отключаю эта проблема исчезает но всеравно дальше скрипт не палит блин...
2.Попробуй приведи хоть тестовый кусок, на котором у тебя это возникает. Просто в 5 пыхе немного ужесточили некоторые правила. Например теперь он вопит, если ты определил аргументы в функции, но все их не заполнил (4 на эту тему молчит).
2.тестовый кусок приводил...данные из формы шлются постом к примеру на файлик a.php, а он начинается <? switch($_POST['same_var']){.... так вот и ругается на этот same_var, хотя echo $_POST['same_var'] показывает значение...да и функции никакой нет...вот такая вот беда
ты не пробовал просто вывести $same_var , там есть хоть какое-то значение? (т.е. echo($same_var ); а не echo($_POST[same_var ]))
я же писал что все ок данные через пост и выводит _ПОСТ[]....и так показывает без _ПОСТ тк у меня register_globals On....если оф сам понимаешь вместе значения я увижу х..)
А само сообщение можешь привести, так сказать в оригинале :), у меня тоже была проблема, давно, но там немного другое, глобальные переменные не выводились, т.е. print($_POST[переменная])) - ошибка, а print($переменная)), нормально, хотя глобальные переменные были включены.
короче такая вот бадья блин...
ктонить подскажите что с этой ... делать и так конец рабочего дня и бошка не варит а тута еще и затупка такая)
народ ну что ни кто не знает чтоли как эту проблему решить? да уж...
короче такая вот бадья блин...
ктонить подскажите что с этой ... делать и так конец рабочего дня и бошка не варит а тута еще и затупка такая)[/QUOTE]
А что за файл set_user_cookie.php? - покажи код.
ЗЫ Может у тебя просто отключены куки, а значит ничего не передается. Т.е. поставь проверку куки есть или нет. А код покажи, так пока ни чего не ясно.
Код:
switch ($_POST['action'])
{
case "set_user_cookie":
{
if(!isset($HTTP_COOKIE_VARS['order']) )
{
//$name=$_POST['name'];$quantity=$_POST['quantity'];
setcookie("order","n1=$name:q1=$quantity:p1|_1",604800);
//echo $name;
}
else
{
$order=$HTTP_COOKIE_VARS['order'];
$query_lenght=strlen("$order");
$q_pos=strpos($order,"_",0);
$q_all=substr($order,$q_pos+1,$query_lenght-$q_pos);
$old_order=substr($order,0,$q_pos);
$q_all++;
$new_order=$old_order."n$q_all=".$_POST['name'].":q$q_all=".$_POST['quantity']."|_$q_all";
//setcookie("order","",time() - 3600);
setcookie("order","$new_order",604800);
}
Header("Location: http://localhost");
break;
}
}
{
case "set_user_cookie":
{
if(!isset($HTTP_COOKIE_VARS['order']) )
{
//$name=$_POST['name'];$quantity=$_POST['quantity'];
setcookie("order","n1=$name:q1=$quantity:p1|_1",604800);
//echo $name;
}
else
{
$order=$HTTP_COOKIE_VARS['order'];
$query_lenght=strlen("$order");
$q_pos=strpos($order,"_",0);
$q_all=substr($order,$q_pos+1,$query_lenght-$q_pos);
$old_order=substr($order,0,$q_pos);
$q_all++;
$new_order=$old_order."n$q_all=".$_POST['name'].":q$q_all=".$_POST['quantity']."|_$q_all";
//setcookie("order","",time() - 3600);
setcookie("order","$new_order",604800);
}
Header("Location: http://localhost");
break;
}
}
вот тебе и сорс... только чем он помочь интересно может если в самом начале скрипта пост[action] ..и ругается видители он на блин экшн блин...
[color=red]Не забываем правильно офомлять код[/color]
Warning: Cannot modify header information - headers already sent by (output started at z:\home\localhost\www\cooc\action.php:11) in z:\home\localhost\www\cooc\action.php on line 27
Но значения в куках установлены.
Что делал:
Создал файл action.php, положил в него твой код, но доработанный, и в той же папке создал index.php, в индексе форму:
Код:
<form action="action.php" method="post">
Action: <input type="text" name="action"></br>
Name: <input type="text" name="name"></br>
quantity: <input type="text" name="quantity"></br>
<input type="submit">
</form>
Как переработал твой код:
<?php
switch ($_POST['action'])
{
case "set_user_cookie":
{
if(!isset($HTTP_COOKIE_VARS['order']) )
{
$name=$_POST['name'];$quantity=$_POST['quantity'];
if( setcookie("order","n1=$name:q1=$quantity:p1|_1",604800))
echo "ok";
}
else
{
$order=$HTTP_COOKIE_VARS['order'];
$query_lenght=strlen("$order");
$q_pos=strpos($order,"_",0);
$q_all=substr($order,$q_pos+1,$query_lenght-$q_pos);
$old_order=substr($order,0,$q_pos);
$q_all++;
$new_order=$old_order."n$q_all=".$_POST['name'].":q$q_all=".$_POST['quantity']."|_$q_all";
echo $_POST['action']." ".$order." ".$new_order;
//setcookie("order","",time() - 3600);
// setcookie("order","$new_order",604800);
}
Header("Location: http://localhost");
break;
}
}
?>
Action: <input type="text" name="action"></br>
Name: <input type="text" name="name"></br>
quantity: <input type="text" name="quantity"></br>
<input type="submit">
</form>
Как переработал твой код:
<?php
switch ($_POST['action'])
{
case "set_user_cookie":
{
if(!isset($HTTP_COOKIE_VARS['order']) )
{
$name=$_POST['name'];$quantity=$_POST['quantity'];
if( setcookie("order","n1=$name:q1=$quantity:p1|_1",604800))
echo "ok";
}
else
{
$order=$HTTP_COOKIE_VARS['order'];
$query_lenght=strlen("$order");
$q_pos=strpos($order,"_",0);
$q_all=substr($order,$q_pos+1,$query_lenght-$q_pos);
$old_order=substr($order,0,$q_pos);
$q_all++;
$new_order=$old_order."n$q_all=".$_POST['name'].":q$q_all=".$_POST['quantity']."|_$q_all";
echo $_POST['action']." ".$order." ".$new_order;
//setcookie("order","",time() - 3600);
// setcookie("order","$new_order",604800);
}
Header("Location: http://localhost");
break;
}
}
?>
Ввожу localhost/directory/
Заполняю форму все отправляется, выводится сообщение "ok", а на следующей строке сообщение об ошибке (см. выше).
ЗЫ в action ввожу значение set_user_cookie, естественно, что бы попасть внутрь switch
а вот что показал мне пхп )))
Notice: Undefined variable: quantity1 in c:\usr2\home\cookie2\action.php on line 9
потом немного исправил...и он мне показал ОК...но в куки ничего не закинул)))
что за блин...
Вот так:
Код:
if (isset($_POST['action'])) {
switch ($_POST['action'])
....
}
switch ($_POST['action'])
....
}
Советую не увлекаться сильно $HTTP_COOKIE_VARS, потом скажется. Лучше юзать $_COOKIE.
это конечно понятно, но дело в том что они постятся тобишь приходят в скрипт т.е. echo $_POST['action'] все нормально показывает... вот в чем фишка...
$HTTP_COOKIE_VARS просто проверял забыл обратно на $_COOKIE поменять..но сути то это не меняет... тк всеравно пишет Undefined index: order in... если я пишу $this->order = $_COOKIE['order'];
Уже интерестней... У тебя в коде НЕТУ объектов, а тут в примере есть. Короче, в аттач ВСЁ что связанно с этим.
да не важно блин...а просто дальше пишу модернизирую... затупка в том что он пишет что нет такого индекса и тд а на эхо значение с этим индексом показывается...
[color="red"]Предупреждение за нецензурное выражение. Прошу проявлять уважение к участникам форума[/color]