Portál AbcLinuxu, 10. května 2025 02:10

Dotaz: PHP includování

8.9.2006 12:26 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
PHP includování
Přečteno: 244×
Odpovědět | Admin
Nevíte proč mi nefunguje includování proměnných v PHP? V souboru include/db.inc mám údaje pro připojení k databázi:
<?php
$hostName= "localhost";
$databaseName= "db";
$username= "uzivatel";
$passwd= "heslo";
?>
a když to chci použít ve funkci pro připojení k databázi:
<?php
include './include/db.inc';
include './include/error.inc';
function mysql_c() {
if (!($connection= @ mysql_connect($hostName, $username, $passwd))) {
showerror();
	}
if (!mysql_select_db($databaseName, $connection)) {
showerror();
	}
return $connection;
}
?>
Tak mi to ty proměnné ze souboru db.inc nepoužije a hlásí chybu připojení k databází. Když ty stejné údaje vyplním přímo do té funkce, tak připojení funguje v pořádku.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

8.9.2006 12:31 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: PHP includování
Odpovědět | | Sbalit | Link | Blokovat | Admin
mas vypnute register_globals nejspis , takze pouzij napr. $GLOBALS["hostName"]
Urine should only be green if you're Mr. Spock.
8.9.2006 12:54 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: PHP includování
Podle phpinfo(); jsou register globals zapnuté a když předávám parametry pomocí GET v URL tak to funguje normálně.
8.9.2006 12:56 Jookyn | skóre: 6 | blog: Jookyn | Mariánské Lázně
Rozbalit Rozbalit vše Re: PHP includování
To s register_globals nemá nic společnýho. Ale ty proměnný nejsou uvnitř tý funkce vidět, takže buď si to nadefinovat jako konstanty, nebo jako statický vlastnosti třídy, nebo předat jako parametr funkci a v poslední řadě bych šel do globals
8.9.2006 13:02 Libor Klepac | skóre: 45 | Mýto
Rozbalit Rozbalit vše Re: PHP includování
no nicmene pres $GLOBALS[] by je tam mel videt tak jako tak, ja bych je delal jako konstanty
Urine should only be green if you're Mr. Spock.
8.9.2006 13:00 pilifs | skóre: 12 | blog: jenom_tak_mimochodem | Příbor
Rozbalit Rozbalit vše Re: PHP includování
Odpovědět | | Sbalit | Link | Blokovat | Admin
include './include/db.inc';
include './include/error.inc';
function mysql_c() {
  global $hostName;
  global $username;
  global $passwd;
  if (!($connection= @ mysql_connect($hostName, $username, $passwd))) {
    showerror();
  }
  if (!mysql_select_db($databaseName, $connection)) {
    showerror();
  }
  return $connection;
}
8.9.2006 14:13 tonda
Rozbalit Rozbalit vše Re: PHP includování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj, jsem zacatecnicka lama :-) Nemaji byt v ceste dve tecky? Resp. v te ceste bych hledal chybu.
8.9.2006 14:20 filbar | skóre: 36 | blog: Denicek_programatora | Ostrava
Rozbalit Rozbalit vše Re: PHP includování
Už to funguje, do té funkce patřilo to global.
Ondrej avatar 8.9.2006 14:56 Ondrej | skóre: 20 | blog: darkblair_server | Praha
Rozbalit Rozbalit vše Re: PHP includování
Ale stejne bych v tom inc to mel jako konstanty, ono je to prehlednejsi
Nikdo neni nikdy lepsi nez ty! Pouze ty jsi obcas horsi nez ostatni.
8.9.2006 14:52 Arnošt Málek | skóre: 17
Rozbalit Rozbalit vše Re: PHP includování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ach jo, to reseni pomoci Global je na ... Pokud chcete programovat, tak se prosim v prvni rade neco naucte - prectete si, nechte se naucit. V kazde rozumne knizce o zakladech programovani se to doctete. Tady se prece jednoznacne jedna o parametry funkce.
function mysql_c($host, $user, $passw) {
...
  mysql_connect($host, $user, $passw)
...
} //function mysql_c($host, $user, $passw)

//volani funkce
mysql_c($hostName, $username, $passwd);

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.