Autor | Zpráva | ||
---|---|---|---|
MilanJ Profil |
#1 · Zasláno: 24. 2. 2006, 11:53:50
Co znamená hláška:
Fatal error: Cannot redeclare otevridb() in /www/doc/www/otevridb.php on line 1 ? otevridb.php je script, který se zařídí napojení na DB, funguje bez problémů |
||
Hugo Profil |
#2 · Zasláno: 24. 2. 2006, 11:54:38
MilanJ
To znamená, že jednu funkci (otevridb) deklaruješ dvakrát. |
||
MilanJ Profil |
#3 · Zasláno: 24. 2. 2006, 12:04:06
Ale k zavření spojení s DB došlo, tak ji snad mohu otevřít znovu v jednom scriptu, ne?
|
||
Leo Profil |
#4 · Zasláno: 24. 2. 2006, 12:06:22
To ano, volat fci muzete kolikrat chcete, ale ne ji dvakrat deklarovat. Leo
|
||
MilanJ Profil |
#5 · Zasláno: 24. 2. 2006, 12:20:49 · Upravil/a: MilanJ
F-ci mám v ext. souboru a vkládám ji pomocí INCLUDE, vrací hodnotu TRUE nebo FALSE podle toho, jestli naváže nebo nenaváže spojení.
Jak tedy docílit toho, abych ji mohl zavolat znovu a nedošlo k opětovné deklaraci? Obsah souboru otevridb.php <?php function OtevriDB($hostitel = "uvdb2.globe.cz", $uziv_jmeno = "", $heslo = "", $DB = "db") { $navratova_hodnota = false; $spojeni = mysql_connect($hostitel, "db", "heslo"); if(!$spojeni) echo "Nepodařilo se vytvořit spojení s hostitelem $hostitel!"; else { $navratova_hodnota = mysql_select_db($DB); if (!$navratova_hodnota) echo "Nepodařilo se nastavit pracovní databázi $DB!"; } return $navratova_hodnota; } ?> |
||
gajdynator Profil |
#6 · Zasláno: 24. 2. 2006, 12:22:53
MilanJ
Pre výpis kódu používaj ten dolár hore... |
||
MilanJ Profil |
#7 · Zasláno: 24. 2. 2006, 12:24:13
Pre výpis kódu používaj ten dolár hore...
Jaký dolar? |
||
MilanJ Profil |
#8 · Zasláno: 24. 2. 2006, 12:25:43
OK
|
||
Leo Profil |
#9 · Zasláno: 24. 2. 2006, 12:26:19
"Jak tedy docílit toho, abych ji mohl zavolat znovu a nedošlo k opětovné deklaraci?"
Rozhodne ne tim, ze znovu includujete soubor otevritdb.php, Leo |
||
Hugo Profil |
#10 · Zasláno: 24. 2. 2006, 12:34:29
MilanJ
Jakmile ten soubor jednou vložíš pomocí include, tak všechny funkce, které jsou v něm deklarované budou existovat až do konce skriptu. Takže ji můžeš volat kolikrát chceš. |
||
MilanJ Profil |
#11 · Zasláno: 24. 2. 2006, 12:34:48
Vyřešila by to deklarace funkce přímo ve zdrojovém souboru?
|
||
MilanJ Profil |
#12 · Zasláno: 24. 2. 2006, 12:39:16
Už jsem to pochopil...:-)
|
||
Časová prodleva: 5 měsíců
|
|||
Zdenek13 Profil |
#13 · Zasláno: 11. 7. 2006, 14:59:39
Mám stejný problém, ale zatím jsem to nepochopil:-(
V souboru mám funkci, kterou chci z jednoho skriptu volat víckrát s různými parametry. Jak to mám udělat? Pořád přesně nevím, co znamená funkci deklarovat. |
||
Hugo Profil |
#14 · Zasláno: 11. 7. 2006, 15:24:33
Zdenek13
Funkci muzes volat kolikrat chces. Deklarace funkce je jeji definice, tzn. function NovaFunkce() { ... } |
||
Zdenek13 Profil |
#15 · Zasláno: 12. 7. 2006, 07:33:51
Díky, už jsem to taky pochopil.
Měl jsem include uvnitř volané funkce, takže při jejím dalším zavolání jsem znovu includoval soubor a tím i znovu deklaroval funkci, která v něm byla. |
||
Hugo Profil |
#16 · Zasláno: 12. 7. 2006, 07:37:00
Zdenek13
Proti tomuto pomu ze pouzivani funkci include_once() a reaquire_once(), ovsem ne vzdy je to mozne. |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0