Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: register_globals
 
 автор: Felix   (12.01.2005 в 09:35)   письмо автору
 
 

Как сделать чтобы данный скрипт работал с выключенным register_globals


<?
include "html/in.html";
include 
"connect.php";
print 
"<center><form action='' method='post'>";
print
"<table bgcolor='#c0c0c0' cellspacing='0' border='2' bordercolor='#000000'>";
//выбор позразделения предоставляющего услуги
print "<tr><td>Подразделение<br>предоставляющее услуги</td><td>
<select name='podr_in' size='1' onchange='this.form.submit()'>"
;
$ath mysql_query("select * from knp.baza_podrazd");
if(
$ath)
{
  while(
$List mysql_fetch_array($ath))
  {
    echo 
"<option value=".$List["shifr"].">".$List["znachenie"]."</OPTION>";
  }
       if(!isset(
$podr_in)) {print"Косяк!!!";}
    Else
    {
       
$r=mysql_query("SELECT znachenie FROM baza_podrazd WHERE shifr='$podr_in'");
        
$f=mysql_result($r,znachenie);
    echo 
"<option selected value=".$podr_in.">".$f."</OPTION>";
    }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
print 
"</select></td></tr><tr><td>Подразделение заказчик</td><td>";
// Подразделение Заказчик
print "<select name='podr_out' size='1' onchange='this.form.submit()'>";
$athi mysql_query("select * from baza_podrazd");
if(
$athi)
{
  while(
$Listi mysql_fetch_array($athi))
  {
      echo 
"<option value=".$Listi['shifr'].">".$Listi['znachenie']."</OPTION>";
  }
      if(!isset(
$podr_out)) {print"Косяк!!!";}
    Else
    {
       
$t=mysql_query("SELECT znachenie FROM baza_podrazd WHERE shifr='$podr_out'");
        
$f1=mysql_result($t,znachenie);
    echo 
"<option selected value=".$podr_out.">".$f1."</OPTION>";
    }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
print 
"</select></td></tr><tr><td>Участок<br>предоставляющий услуги</td><td>";
//Выбор участка предоставляющего услуги
print "<select name='uch_in' size='1' onchange='this.form.submit()'>";
$tbl mysql_query("select * from baza_uchastkov WHERE id_group='$podr_in'");
if(
$tbl)
{
  while(
$Lit mysql_fetch_array($tbl))
  {
    echo 
"<option value=".$Lit['shifr'].">".$Lit['znachenie']."</OPTION><br>";
  }
      if(!isset(
$uch_in)) {print"Косяк!!!";}
    Else
    {
       
$t3=mysql_query("SELECT znachenie FROM baza_uchastkov WHERE shifr='$uch_in'");
        
$f3=mysql_result($t3,znachenie);
    echo 
"<option selected value=".$uch_in.">".$f3."</OPTION>";
    }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
print
"</select></td></tr><tr><td>Участок заказчик</td><td>";
//выбор уастка заказчика
print "<select name='uch_out' size='1' onchange='this.form.submit()'>";
$tbls mysql_query("select * from baza_uchastkov WHERE id_group='$podr_out'");
if(
$tbls)
{
  while(
$Lits mysql_fetch_array($tbls))
  {
    echo 
"<option value=".$Lits['shifr'].">".$Lits['znachenie']."</OPTION><br>";
  }
    if(!isset(
$uch_out)) {print"Косяк!!!";}
    Else
    {
       
$t4=mysql_query("SELECT znachenie FROM baza_uchastkov WHERE shifr='$uch_out'");
        
$f4=mysql_result($t4,znachenie);
    echo 
"<option selected value=".$uch_out.">".$f4."</OPTION>";
    }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
print
"</select></td></tr><tr><td>Механизмы</td><td>";
//выбор механизмов
print "<select name='mehan' size='1' onchange='this.form.submit()'>";
$tble mysql_query("select * from baza_mehanizm");
if(
$tble)
{
    while(
$Lite mysql_fetch_array($tble))
  {
    echo 
"<option value=".$Lite['shifr'].">".$Lite['znachenie']."</OPTION><br>";
  }
   if(!isset(
$mehan)) { print "Косяк!!!";}
    Else
    {
       
$t2=mysql_query("SELECT znachenie FROM baza_mehanizm WHERE shifr='$mehan'");
        
$f2=mysql_result($t2,znachenie);
    echo 
"<option selected value=".$mehan.">".$f2."</OPTION>";
    }
}
else
{
  echo 
"<p><b>Error: ".mysql_error()."</b><p>";
  exit();
}
print
"</select></td></tr><tr><td>Моточасы м/ч</td><td>";
//выбор м/ч
print "<INPUT type='TEXT' name='times' maxlength='5' size='20' value='$times'>";
//Дата
print "</td></tr><tr><td>Дата (дд.мм.гггг)</td><td>";
$dat=date("d.m.Y");
print 
"<INPUT type='TEXT' name='date' maxlength='10' size='20' value='$dat'></td></tr>";
//кнопка отправки
print"<tr><td colspan='2' align='center'>";
print
"<INPUT type='submit' value='Выбрать'></form><form action='scripts.php' method='POST'>
<input type=hidden name=podr_in value='
$podr_in'>
<input type=hidden name=podr_out value='
$podr_out'>
<input type=hidden name=uch_in value='
$uch_in'>
<input type=hidden name=uch_out value='
$uch_out'>
<input type=hidden name=mehan value='
$mehan'>
<input type=hidden name=times value='
$times'>
<input type=hidden name=date value='
$date'>
<INPUT type='submit' value='послать'></form></td></tr></table>"
;
print 
"</center>";
include 
"html/out.html";
?> 


Если register_globals = On то все работает на ура

   
 
 автор: glsv (Дизайнер)   (12.01.2005 в 10:06)   письмо автору
 
   для: Felix   (12.01.2005 в 09:35)
 

Найти все параметры, которые Вы получаете из адресной строки методом $_GET или из формы (обычно метод POST) и инициализировать соответствующие переменные в самом начале скрипта.

<?
  $id 
$_GET['id'];
  
$var1 $_GET['var1'];
  
$var2 $_GET['var2'];
  
// и так все переменные получаемые из вне
  ////////////////////////////
  // Далее код вашего скрипта
?>


По ссылке Вы можете почитатать нашу статью о суперглобальных массивах.

http://www.softtime.ru/info/articlephp.php?id_article=13

   
 
 автор: Axxil   (12.01.2005 в 10:42)   письмо автору
 
   для: glsv (Дизайнер)   (12.01.2005 в 10:06)
 

А есть такой массив $_GLOBALS?
А то я его вроде в скриптах вижу, а в документации нет.

   
 
 автор: glsv (Дизайнер)   (12.01.2005 в 12:32)   письмо автору
 
   для: Axxil   (12.01.2005 в 10:42)
 

$GLOBALS - это массив, где содержатся глобальные переменные
Вот пример работы с ним из мануала PHP

<?php
$a 
1;
$b 2;
function 
Sum()
{
    
$GLOBALS["b"] = $GLOBALS["a"] + $GLOBALS["b"];

Sum();
echo 
$b;
?> 


Т.е. с его помошью можно получить доступ к глобальным переменным скрипта, которые недоступны внутри функций.

   
 
 автор: Axxil   (12.01.2005 в 13:52)   письмо автору
 
   для: glsv (Дизайнер)   (12.01.2005 в 12:32)
 

А ещё в нём, как я понимаю, можно параметры сайта хранить
типа

$GLOBALS['conf']['homepage']="www.homepage.ru"
$GLOBALS['conf']['background']="black";
$GLOBALD['path']['libs']="../lib/"

и т.д.
Насколько оправдан такой подход.
И легко ли перехватить этот массив?

   
 
 автор: morf   (22.01.2005 в 17:59)   письмо автору
 
   для: Axxil   (12.01.2005 в 13:52)
 

я для себя хачу спрросить,
а какую надо строчку прописывать в .htaccess
чтоб было register_globals
??

   
 
 автор: glsv (Дизайнер)   (23.01.2005 в 00:31)   письмо автору
 
   для: morf   (22.01.2005 в 17:59)
 

Это нельзя сделать в htaccess. Только в httpd.conf – главном конфигурационном файле Apache

   
 
 автор: cheops   (23.01.2005 в 01:07)   письмо автору
 
   для: glsv (Дизайнер)   (23.01.2005 в 00:31)
 

Я вроде где-то видел, что можно и в htaccess, покрайней мере выключить... Хотя может показалось...

   
 
 автор: morf   (23.01.2005 в 03:05)   письмо автору
 
   для: cheops   (23.01.2005 в 01:07)
 

у моего хоста можно так делать, он мне сам прописал эту строчку, а потом я случайно рпри редактирование этого файла удалил строчку.
написал письмо, но оно может долго не отвечаться.

   
 
 автор: glsv (Дизайнер)   (23.01.2005 в 10:09)   письмо автору
 
   для: morf   (22.01.2005 в 17:59)
 

Прошу прощения – спутал с другой директивой.

php_flag register_globals on


PS: Если это конечно разрешено на сервере.

   
 
 автор: morf   (23.01.2005 в 14:07)   письмо автору
 
   для: glsv (Дизайнер)   (23.01.2005 в 10:09)
 

спасиба большое.
именно то что нужно.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования