Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc
Comunitatea PHP Romania
 

register_globals Off, $_POST, $_GET
Vezi mesajul original

 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Subiectul anterior :: Subiectul următor  
Autor Mesaj
mihai13



Data înscrierii: 30/Dec/2003
Mesaje: 8

Trimis: Mie Ian 07, 2004 8:09 pm    Titlul subiectului: register_globals Off, $_POST, $_GET  

salut,

am facut o aplicatie php+mysql, acasa mergea si bineinteles cand am pus-o pe un server nu a mai functionat.

am inteles greseala venea de la register_globals, care erau On la mine. le-am schimbat in Off si a trebuit sa fac modificari; am adaugat:

if ($_POST['id_domeniu'] == null)
{
$id_domeniu = $_GET['id_domeniu'];
}
else
{
$id_domeniu = $_POST['id_domeniu'];
}

sa fac sa functioneze de exemplu

$sql_query = "SELECT * ..... <tabel>.id_domeniu = '$id_domeniu' LIMIT $limitvalue, $limit";

echo "<a href =\"$PHP_SELF?page=$pageprev&id_domeniu=$id_domeniu\">Pagina precedenta</a>&nbsp";

sunt incepator si de aceea nu sunt sigur daca aceasta este calea cea mai buna, adica unde aveam $<nume variabila> trebuie sa inlocuiesc cu $_POST<nume variabila> sau cu $_GET<nume variabila> , nu ?

multumesc,
mihai
Sus  
liviurad



Data înscrierii: 12/Sep/2003
Mesaje: 12
Locație: buc

Trimis: Joi Ian 08, 2004 2:10 pm    Titlul subiectului:  

Da.

Shi la test cred ca e mai fine sa foloseshti functia empty($_POST['var']) in loc de $_POST['var']==null, care da 1 daca variabila "E GOALA"
Sus  
luciansabo



Data înscrierii: 04/Ian/2004
Mesaje: 49

Trimis: Joi Ian 08, 2004 10:14 pm    Titlul subiectului:  

null nu inseamna neaparat un sir vid, ci inseamna ca variabila cu pricina nu a fost setata (isset($var)==false), sau a fost "desetata" (unset($var==true). Se pare ca daca $_POST["domeniu"] e un sir vid, se considera null.
Scriptul dat functioneaza si cu ==null.

Observ ca scriptul preia prin GET daca nu a fost trimis prin POST.
Pentru asta exista $_REQUEST["id_domeniu"] (>PHP v. 4.1) care preia ce a fost trimis fie prin POST fie prin GET sau COOKIE.
Sus  
iugin



Data înscrierii: 22/Mai/2003
Mesaje: 82
Locație: Oradea

Trimis: Vin Ian 09, 2004 5:10 pm    Titlul subiectului:  

Cod:

function register_globals( $order = 'EGPCS' )
{
  $order = strtoupper('EGPCS');
  $sg_xref = array(
    'E' => '_ENV'
    ,'G' => '_GET'
    ,'P' => '_POST'
    ,'C' => '_COOKIE'
    ,'S' => '_SERVER'
  );
  $sga = explode('|', chunk_split($order, 1, '|'));
  for($i=0, $j=count($sga); $i < $j; $i++) {
    if (array_key_exists($sga[$i], $sg_xref) ) {
      $sg = $sg_xref[substr($order, $i, 1)];
      //can't use $$sg here because PHP does not treat the variable
variable as super global
      if (!empty($GLOBALS[$sg]) && is_array($GLOBALS[$sg])) {
        //can't use extract here becuase itwould extract to the function
context, not global
        foreach($GLOBALS[$sg] as $key =>$value) {
          global $$key;
          $$key = $value;
        }
      }
    }
  }
}





Si eu am patit la fel si am zis ca nu se paote sa rescriu tot codul, as ca mam pus pe citite si am gasit chestia asta.
Sus  
PHPRomania Bot
Bot Member


Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google
Trimis: Mie Dec 26, 2007 7:01 pm   Titlul subiectului: Ad  

Sus  
 
       Pagina de start a forumului Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc -> Cod PHP
Pagina 1 din 1


Powered by phpBB 2.0.22 © 2001, 2002 phpBB Group
Varianta în limba română: Romanian phpBB online community