| Autor | Zpráva | ||
|---|---|---|---|
| Petr Havel Profil |
#1 · Zasláno: 13. 9. 2010, 16:20:18
Potřeboval bych pomocí funkcí php ovlivnit proměnné, které jsou mimo funkce.
Abych nemusel dělat toto: $promenna = funkce(param_1, param_2); ale moch sem přímo ve funkci nějakým způsobem změnit proměnnou $promenna , která je mimo funkci Nevíte jak na to? Dík |
||
| nightfish Profil |
#2 · Zasláno: 13. 9. 2010, 16:24:48
Jde to, říká se tomu globální proměnná, a ve většině případů to není dobrý nápad.
|
||
| Joker Profil |
#3 · Zasláno: 13. 9. 2010, 16:25:25
Petr Havel:
Předejte parametr odkazem (referencí): funkce(&$promenna); |
||
| Petr Havel Profil |
#4 · Zasláno: 13. 9. 2010, 17:04:10
právě že podle knížky by se globální proměnná měla pouze dostat do funkce, ale ven ne - ani mi to tak nefungovalo. A parametr odkazem jsem zkoušel taky, a taky nefungoval - ale možná je chyba u mě.
Tak radši uvedu veškerý kód - pomocí funkce potřebuji aktualizovat údaje v databázi a pokud se něco nepovede, má se $pocet_chyb zvýšit o 1. no a potom je další funkce, která se spustí, pokud je $pocet_chyb > 0 $pocet_chyb = 0;
function update_doprava($doprava, $cena, $jmeno, &$pocet_chyb){
if($doprava == "1"){$doprava = 1;}else{$doprava = 0;}
if($cena == ""){$cena = 0;}
$update = mysql_query("UPDATE nastaveni_eshopu SET hodnota='$doprava', cislo=$cena WHERE jmeno='$jmeno'");
if(!$update OR mysql_affected_rows()!=1){$pocet_chyb =+ 1;}
} // funkce pro aktualizaci údajů o dopravě a ceně
update_doprava($_POST[doprava_osob_odber], $_POST[cena_osob_odber], doprava_osob_odber, $pocet_chyb);
update_doprava($_POST[doprava_osob_ucet], $_POST[cena_osob_ucet], doprava_osob_ucet, $pocet_chyb);
if($pocet_chyb < 0){
$hlaska = hlaska("Nepovedlo se aktualizovat $pocet_chyb řádků nastavení!", 2);
}else{
$hlaska = hlaska("Změna v nastavení byla provedena", 1);
}
vše mi funguje, jen né ta proměnná $pocet_chyb |
||
| Alphard Profil |
#5 · Zasláno: 13. 9. 2010, 17:09:00 · Upravil/a: Alphard
Petr Havel:
„$pocet_chyb =+ 1;“ Má být += 1. Ale můžete to zkrátit na $pocet_chyb++;
„if($pocet_chyb < 0){“ Máte to obráceně. |
||
| Petr Havel Profil |
#6 · Zasláno: 13. 9. 2010, 17:17:06
tak to byl takovej menší zkrat :-) dík, už to běží
|
||
|
Časová prodleva: 15 let
|
|||
0