Вопрос по $php_self

123
wdsg
На сайте с 09.02.2009
Offline
31
#11

Так, стоп, а почему это он отправляет форму GET? И что там за method=POST в URL? Не по тому ли, что всё что после action= он за адрес принимает. Попробуйте вот так сделать:


echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';
Проектирование и разработка сложных IT-систем. Вожусь с проблемными задачами.
W
На сайте с 10.02.2009
Offline
80
#12
LEOnidUKG:
И какую ошибку то?

$_SERVER['PHP_SELF'] - suntrax error unexpected T_ENCAPSED_AND_WHITESPASE expecting T_STRING or T_VARIABLE or T_NUM_STRING

Wistis добавил 29.04.2009 в 21:35

wdsg:
Так, стоп, а почему это он отправляет форму GET? И что там за method=POST в URL? Не по тому ли, что всё что после action= он за адрес принимает. Попробуйте вот так сделать:

echo '<form action="'.$_SERVER['PHP_SELF'].'" method="POST">';

НАВЕРНО ОН ПРИНИМАЕТ ЗА АДРЕС, КАК ОТ ЭТОГО ИЗБАВИТСЯ?

wdsg
На сайте с 09.02.2009
Offline
31
#13

Wistis, Вы строку на то, что я написал подменили? Изменения есть?

W
На сайте с 10.02.2009
Offline
80
#14
wdsg:
Wistis, Вы строку на то, что я написал подменили? Изменения есть?

да, теперь он нормально идет токлько данные в корзину не добавляются,

wdsg
На сайте с 09.02.2009
Offline
31
#15

Wistis, это уже проблема N2. Как заметил уважаемый pistol, приведённый Вами (г)код ориентирован на работу с register_globals=on, который, в большинстве случаев, off. Код необходимо править.

W
На сайте с 10.02.2009
Offline
80
#16
wdsg:
Wistis, это уже проблема N2. Как заметил уважаемый pistol, приведённый Вами (г)код ориентирован на работу с register_globals=on, который, в большинстве случаев, off. Код необходимо править.

как можно по коду скрипта определить работает ли он при register_globals=on, просто на хостинге стоит OFF, но такой же скрипт работает

wdsg
На сайте с 09.02.2009
Offline
31
#17
Wistis:
просто на хостинге стоит OFF, но такой же скрипт работает

Если Вы мне покажите такой же код, нормально работающий на хосте с register_globals=off, я уйду в монастырь :)

W
На сайте с 10.02.2009
Offline
80
#18
wdsg:
Если Вы мне покажите такой же код, нормально работающий на хосте с register_globals=off, я уйду в монастырь :)

вот

<?unset($t);

session_start();
//set_time_limit(0);
//ini_set('display_errors',1);
//error_reporting(E_ALL ^E_NOTICE);
error_reporting(0);
function tadd($n)
{
global $t;
@include("./admin/config.php");
$f=file("$data1") or die("файл не найден");
$o=explode(":::",$f[$n]);
$id=$o[0];
if (isset($t[all][$id])) return;
$t[all][$id]=$id;
$t[$id][name]=$o[1];
$t[$id][info]=$o[2];
$t[$id][cena]=$o[3];
$t[$id][desc]=$o[4];
$t[$id][kol]=1;
session_register("t");
}


//-------------------------------------------------------------------------
function basket()
{
global $t,$PHP_SELF,$SID;
@include("./admin/config.php");
if($t<=0)
{echo"<BR><BR><center><b class='header2'>В вашей корзине ничего нет!</b></center><BR><BR>";}
else
{
$f=file("$data1") or die("файл не найден");
$ogl=explode(":::",$f[0]);
echo "<form action=$PHP_SELF method=POST>".
"<input type=hidden name=SID value='$SID'>".
"<input type=hidden name=c value=kolvo>".
"<table border=1 cellPadding=0 cellSpacing=0 bordercolor=$bordercolor_index><tR><td class='prise' width=250>Название</td></td><td class='prise' width=120>Цена</td>".
"<td width=120 class='prise'><a><b>Количество</b></a></td><td class='prise' width=80><a><b>Команды</a></b></td></tr>";
$k=@array_keys($t[all]);
for ($i=0; $i<count($k); $i++)
{
$id=$k[$i];
echo "<tr style=\"color:$colortext_index;\" onmouseover=\"this.style.backgroundColor='$select_over_index';\" onmouseout=\"this.style.backgroundColor='$select_default_index';\"><td class='prise'>{$t[$id][name]}</td>".
"<td class='prise'>{$t[$id][cena]}</td>".
"<td><input size=4 type=text name=v[$id] value={$t[$id][kol]}></td>".
"<td><a href=$PHP_SELF?c=del&id=$id&SID=$SID><img src='./design/img/del.gif' border=0> удалить</a></td></tr>";
}
@include("./admin/config.php");
echo "<title>:::Бал Цветов ver.$version::: Редактирование выбранного вами товара.</title>";
echo "</table><center><br><input type=submit style=\"color:#000000;cursor:hand;\" onmouseover=\"this.style.backgroundColor='#eaeff4';\" onmouseout=\"this.style.backgroundColor='#FFFFFF';\" name=edit value='Внести изменения'> &nbsp; &nbsp;".
"<input type=submit name=form style=\"color:#000000;cursor:hand;\" onmouseover=\"this.style.backgroundColor='#eaeff4';\" onmouseout=\"this.style.backgroundColor='#FFFFFF';\" value='Оформить заказ'></form>";
echo "<a href='$PHP_SELF?c=delete&SID=$SID'>Очистить корзину</a></center>";
}
}
@include("./admin/config.php");
$f=file("$data1") or die("файл не найден");
if(isset($page))
{
if($page > count($f)){$page=1;}
if($page==1){$page=1;}
if(!isset($page)){$page=1;}
}
else {$page=1;}


//-------------------------------------------------------------------------
function price()
{
global $t, $PHP_SELF,$SID, $page;
global $Kategory;
@include("./admin/config.php");
$f=file("$data1") or die("файл не найден");
$ogl=explode(":::",$f[0]);
$x=count($ogl);
$y=count($f);
if($_maxname <=0)
{}else{
echo "<form action=$PHP_SELF method=POST><input type=hidden name=c value=add>".
"<input type=hidden name=SID value='$SID'>";
$kol_kategory="<title>:::Бал Цветов.$version:::Категория - $Kategory</title><table width='100%' background=img/bg_.gif border=0 bordercolor='$bordercolor_index' cellPadding=0 cellSpacing=0 bgcolor='$bordercolor_index'><tr><td><b class=nav>Категория: - <a class=a2 href=\"index.php?Kategory=$Kategory\">$Kategory</a></b></td></tr></table>";
if($Kategory == 'all') {} else {echo"$kol_kategory";}
echo"
<table width='100%' border=1 cellPadding=0 cellSpacing=0 bordercolor=$bordercolor_index>";// рамка можнно изменить цвет
echo "<tr>";
for ($j=0; $j<$x; $j++)
{
if (strlen($ogl[$j])==0) echo "";
else
echo "";
}
@include("./admin/config.php");
echo "<title>Интернет магазин Бал Цветов -Клематис</title>";

$s=0;
for ($i=$page; $i<$y; $i++)
{
$a=explode(":::",$f[$i]);
if (count($a)<2) continue;
if ($Kategory !== 'all') {if ($a[2] !== $Kategory) continue;}
if($s < $_maxname){
$s=$s+1;
$id=$i;
$desc_temp=$a[4];
if($desc_temp >=" ")
{$web="<A HREF='#nul' ONCLICK=\"window.open('descript.php?str=$id','','Toolbar=0,Location=0,Directories=0,Status=1,bar=0,Scrollbars=1,Resizable=1,Width=550,Height=350');\"><img alt='Полное описание товара и изображение (если есть)...' border='0' src='./design/img/str.gif'></A>";} else {$web="";}
echo "<tr style=\"color:$colortext_index;\" onmouseover=\"this.style.backgroundColor='$select_over_index';\" onmouseout=\"this.style.backgroundColor='$select_default_index';\">";
for ($j==1; $j<$x; $j++)
{if (strlen($a[$j])==0) echo "";
else


echo "";}

$qwerty=" <tr><td align='left' valign='top'><a href=\"javascript://\" onclick=\"document.getElementById( 'descript' ).style.display='block';return false;\">&#8595; Раскрыть полное описание &#8595;</a></td>
<td align='right' valign='top'><a href=\"javascript://\" onclick=\"document.getElementById( 'descript' ).style.display='none';return false;\">&#8593; Закрыть полное описание &#8593;</a></td></tr>
</td></tr></table><BR>
<SCRIPT language=\"JavaScript\" src=\"./admin/js/maxcomment.js\"></SCRIPT>
<table width='100%' border='0' cellspacing='0' cellpadding='0'bgcolor=#00ff00>
<tr id='descript' style='display:none;'><td>
<iframe name=ifrm1 src=descript.php?str=$id height=160 frameborder=0></iframe>"// выпадающее меню
;
$wer="sm-"."$a[0]" ;
echo "
<td width=150 height= 120 background=a00007.jpg style=border-width:1; border-color:$bordercolor_index background=img/bg_.gif >";if (file_exists("./admin/foto/data/$a[0].jpg"))
{echo"<img src='./admin/foto/data/$wer.jpg'>";}
else
{echo"<img src='./admin/data/img/imagenot.jpg'>";} echo "</td>
<td width=800 height=141 valign=top background=a00007.jpg style=border-width:1; border-color:$bordercolor_index; >ID:$a[0]<br>Наименование:<A HREF='#nul' ONCLICK=\"window.open('descript.php?str=$id','','Toolbar=0,Location=0,Directories=0,Status=1,Menubar=0,Scrollbars=1,Resizable=1,Width=550,Height=350');\">$a[1]</A><br>Категория: $a[2]<br> Цена:$a[3]";
echo " <input type=checkbox name=v[$i] value=$i>$web <br> </td>
";}
}
echo "<br><center><input style=\"color:#000000;cursor:hand;\" onmouseover=\"this.style.backgroundColor='#eaeff4';\" onmouseout=\"this.style.backgroundColor='#FFFFFF';\" type=submit value='Добавить отмеченные товары в корзину'></center></form>";}
}


function summa() {
global $t,$_maxname,$f,$page;
global $Kategory;
$k=@array_keys($t[all]);
for ($i=0; $i<count($k); $i++) {
$id=$k[$i];
$summ+=(double)$t[$id][kol]*(double)$t[$id][cena];
$summ2+=$t[$id][kol];
}
@include("./design/top.html");

if(file_exists("setup.php"))
{echo"<center><a class='header2'>ВНИМАНИЕ!!!<BR>Вы не удалили инсталяционные файлы или не проинтсталировали скрипт!</a><BR><a class='p'>Если вы не удалите эти файлы продолжение работы скрипта будет невозможно!<BR>Чтобы удалить эти файлы необходимо зайти в административную часть скрипта выбрать пункт <b>«Удалить файлы»</b>, если же вы не удалите эти файлы, то любой сможет изменить ваши данные...<BR><BR><a href='./install/'>УСТАНОВИТЬ СКРИПТ Бал Цветов.$version</a></a></center>"; @include("./design/bottom.html");exit;}
echo "<a class='prise'background=img/bg_.gif>Корзина: Количество товаров $summ2 шт, за всё - ".sprintf("%.2f руб.<br>",$summ);
@include("./admin/config.php");
if(is_file($data1) && is_readable($data1))
{
$readdata=fopen($data1,"r") or die("<p class=error>Не могу открыть файл $data1</p>");
$file_array=file("$data1");
fclose($readdata);
}
else
die("<p class=error>Файл $data1 не существует или запрещено чтение из него !</p>");
$lines=count($file_array)-1;

if (!isset($page)) { $page = 1; }
if($Kategory == 'all'){
if($_maxname <=0)
{
echo"<br><center><a class='header2'>Заблокированно к показу владельцем!</center></a><br>";
}
else
{
W
На сайте с 10.02.2009
Offline
80
#19

echo "<background=img/bg_.gif>Всего товаров : $lines  Страницы :<br> </b><a href=index.php?page=1>[1]</a>";


$h=1;
$d=1;
$l=1;
for ($p=0;($p < count($f)-2); $p++)
{
$l++;
if($l >= $_maxname)
{
$h=$h+1;
$fuck=$fuck+1;
if($fuck==$maxpage){echo"<br>";$fuck=0;}
$d=$d+$_maxname;
echo"<a href=index.php?page=$d>[$h]</a>";
$l=0;
}
}
$h=0;$p=0;$d=0;$l=0;
echo"</center></td></tr></table>";
}
}
}
$post=array(
"* Ф.И.О.",
"* Область",
"* Почтовый индекс",
"* Город, Село",
"* Улица",
"* Телефон",
"* E-Mail");

if (!isset($c)) $c='';
if (!isset($Kategory)) $Kategory='all';

switch($c) {
case "":
summa();
price();

echo "<center><a href='$PHP_SELF?c=basket&SID=$SID'>Оформить заказ</a><a class='p'> | </a><a href='$PHP_SELF?c=delete&SID=$SID'>Очистить корзину</a></center>";
echo "<hr><center><a class=p2>Выбор товара</a><a class='p2'> » </a><a class=p2 href='$PHP_SELF?c=basket&SID=$SID'>Редактирование товара</a><a class='p2'> » </a><a class=p2 href='$PHP_SELF?c=form&SID='>Оформление товара</a><a class='p2'> » </a></center><hr>";
@include("./design/bottom.html");
break;

case "basket":
summa();
basket();
echo "<hr><center><a href='$PHP_SELF?SID=$SID' class=p2>Выбор товара</a><a class='p2'> » </a><a class=p2>Редактирование товара</a><a class='p2'> » </a><a class=p2 href='$PHP_SELF?c=form&SID='>Оформление товара</a><a class='p2'> » </a><a href='#' class='p'> &#8593; Наверх &#8593; </a></center><hr>";
@include("./design/bottom.html");
break;

case "add":
$k=@array_keys($v);
for ($i=0; $i<count($k); $i++) {
tadd($v[$k[$i]]);
}
exit(header("Location: index.php?$REQUEST_URI"));
break;

case "kolvo":
$k=@array_keys($v);
for ($i=0; $i<count($k); $i++) {
$t[$k[$i]][kol]=abs(intval($v[$k[$i]]));
}
session_register("t");
if (isset($edit)) exit(header("Location: $PHP_SELF?c=basket&SID=$SID"));
exit(header("Location: $PHP_SELF?c=form&SID=$SID"));
break;

case "del":
unset($t[$id]);
unset($t[all][$id]);
session_register("t");
exit(header("Location: $PHP_SELF?c=basket&SID=$SID"));
break;

case "delete":
$k=@array_keys($t[all]);
for ($i=0; $i<count($k); $i++) {
unset($t[$k[$i]]);
unset($t[all][$k[$i]]);
}
session_register("t");
exit(header("Location: $PHP_SELF?c=basket&SID=$SID"));

case "form":
@include("./design/top.html");
echo "<form action=$PHP_SELF method=post><input type=hidden name=c value=post>".
"<input type=hidden name=SID value='$SID'>".
"<table border=1 cellPadding=0 cellSpacing=0 bordercolor=$bordercolor_index>";
for ($i=0; $i<count($post); $i++) {
echo "<tr style=\"color:$colortext_index;\" onmouseover=\"this.style.backgroundColor='$select_over_index';\" onmouseout=\"this.style.backgroundColor='$select_default_index';\"><td class='prise' width='200'>$post[$i]</td><td class='prise'><input type=text size=50 name='v[$i]'></td></tr>";
}
@include("./admin/config.php");
echo "<title>:::Бал Цветов.$version::: Заполнение анкеты поситителя. Все поля являются обязательными к заполнению.После оформления заказа на Ваш e-mail будут высланы подробные условыия оплаты, и получения заказа а также платежные реквизиты</title>";
echo "</table><BR><input type=submit style=\"color:#000000;cursor:hand;\" onmouseover=\"this.style.backgroundColor='#eaeff4';\" onmouseout=\"this.style.backgroundColor='#FFFFFF';\" value='Отправить заказ'></form><a class='prise'><font color=red size=1>Все поля отмеченые знаком <*> являются обязательными к заполнению!После оформления заказа на Ваш e-mail будут высланы подробные условыия оплаты, и получения заказа а также платежные реквизиты</font><BR>";
echo "<hr><center><a href='$PHP_SELF?SID=$SID' class=p2>Выбор товара</a><a class='p2'> » </a><a href='$PHP_SELF?c=basket&SID=$SID' class=p2>Редактирование товара</a><a class='p2'> » </a><a class=p2>Оформление товара</a><a class='p2'> » </a><a href='#' class='p'> &#8593; Наверх &#8593; </a></center><hr>";
@include("./design/bottom.html");
break;

case "post":
$k=@array_keys($t[all]);
for ($i=0; $i<count($k); $i++) {
$id=$k[$i];
$msg.=($i+1).") {$t[$id][name]} |".doubleval($t[$id][cena])." руб| {$t[$id][kol]} шт.\r\n";
}
?>
<?
@include("./design/top.html");
@include("./admin/config.php");
if ($v[0] == "") {print "<title>:::Бал Цветов.$version::: Ошибка!</title><table width=100% height=20%><tr><td class='prise' align=center valign=top><center><h4><BR>Ошибка!<BR><BR><BR><font size='2' color=red><a>Вы не ввели Имя Фамилию и Отчество!</font></h4><BR><a href='javascript:history.back()' Title='Вернутся назад'>:: Назад ::</a></center></td></tr></table>"; @include("./design/bottom.html"); exit;}
if ($v[1] == "") {print "<title>:::Бал Цветов.$version::: Ошибка!</title><table width=100% height=20%><tr><td class='prise' align=center valign=top><center><h4><BR>Ошибка!<BR><BR><BR><font size='2' color=red><a>Вы не ввели Область!</font></h4><BR><a href='javascript:history.back()' Title='Вернутся назад'>:: Назад ::</a></center></td></tr></table>"; @include("./design/bottom.html"); exit;}
if ($v[2] == "") {print "<title>:::Бал Цветов.$version::: Ошибка!</title><table width=100% height=20%><tr><td class='prise' align=center valign=top><center><h4><BR>Ошибка!<BR><BR><BR><font size='2' color=red><a>Вы не ввели
embo
На сайте с 05.12.2008
Offline
24
#20

при register_globals = off переменной $PHP_SELF не существует

выполните

phpinfo()
и выложите результат
Плавно двигаемся от сапы к статьям (http://miralinks.ru/users/registration/from:4223)
123

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