ugrás a tartalomhoz

PHP adat átadási GET/POST probléma

dasky · 2005. Május. 1. (V), 10.46
Hello!

Most telepítettem fel az Apache-ot és a PHP 5.0.3-at.
Ez első problámám, hogy oldalak meghívásakor, az adatok nem továbbítódnak az oldalak között, vagyis nem úgy ahogy eddig.
Pl
- az alábbi oldalt hívom a következő adatokkal index.php?s=123
- az index.php-ben "print $s;" hatására nem írja ki az "s" értékét csak ha
"print $_GET["s"];" -t használok. Eddig viszont működött (csak nem az én szerveremen).

Mit kellene konfigurálnom, hogy így is működjön?
 
1

toxin · 2005. Május. 1. (V), 10.56
http://www.php.net/manual/hu/ini.core.php#ini.register-globals
2

register_globals

Anonymous · 2005. Május. 1. (V), 11.06
Ez a kérdés szinte minden nap elhangzik itt is, a php listán is.
Ha a register_globals off-ra allitva, akkor nem használható a "print $s;" formula.

Ha on-ra van, akkor igen. A register_globals off-ra állítása, és ezzel együtt a "print $_GET["s"];" évek óta fokozottan ajánlott bizonyos biztonsági okok miatt.

Emiatt a php default állapotban is off-ra állítja, és nem is érdemes átállítani, hanem nekünk kell a programjainkat úgy megírni, hogy off állapotban működjenek.

Ha nagyon sok helyen kellene átírni a programot, akkor valamilyen központi include file-ba, ami az elsők között töltődik be, írjuk be a
extract($_GET,EXTR_OVERWRITE);
extract($_POST,EXTR_OVERWRITE);

parancsokat. Ezzel nagyjából kihúzzuk a dolog méregfogát.

Olvasnivaló:
http://hu.php.net/manual/hu/function.extract.php
http://hu.php.net/register_globals

Gyulus
3

Köszönöm a gyors

dasky · 2005. Május. 1. (V), 11.15
Köszönöm a gyors választ, valóban ez volt a gond, azt hiszem akkor elkezdem átírni a kódoka :(
4

Van itt más gond is

dasky · 2005. Május. 1. (V), 12.11
Windows Server 2003 Web Edition + PHP5 + MySQL
A php iniben be akarom tölteni a php_mysql.dll-t, viszont induláskor mindig a következő hiba jelenik meg.
PHP Startup: Unable to load dynamic library 'c:\php5\ext\php_mysql.dll' - The specified module could not be found.
Ha jól értem az a gondja hogy nem találja a megadott helyen a modult, de ellenőriztem nincs elírva, tutira ott van (egyébként máshonnan is próbáltam de sikertelenül)
Van valami ötletetek?
5

Manualt olvasod?

attlad · 2005. Május. 1. (V), 12.28
A PHP 5-ben a MySQL már nincs alapértelmezetten beállítva, mint ahogyan a mysql kliens könyvtár sincs beépítve. Ennek okait ebben a Gy.I.K.-ban találod.

Megjegyzés: Ennek eredményeképpen a Windows-t használóknak engedélyezniük kell a php_mysql.dll-t a php.ini-ben, valamint be kell másolniuk a libmysql.dll-t a Windows system könyvtárába vagy a PATH-ba.

Ez megszünteti az "Unable to load dynamic library './php_mysql.dll'" hibát.


Forrás: http://hu2.php.net/manual/hu/ref.mysql.php

Attila
6

Francba

dasky · 2005. Május. 1. (V), 12.35
Ezt pedig tudtam, még is kihagytam.
Átmásoltam a fáljt és megy is.

Isten vagy! köszi