Autor | Zpráva | ||
---|---|---|---|
abcde5 Profil |
#1 · Zasláno: 20. 5. 2013, 13:18:41 · Upravil/a: abcde5
Zdravím, mám problém s vytvářením proměnné v php, máte někdo nějaké rady a typy ?
function checkForm(){ if ($_GET["1"] == "" || $_GET["2"] == "" || $_GET["3"] == "" || $_GET["4"] == ""){ echo "Nejsou zadány čtyři maturitní předměty!"; $musisZobrazit = true; }else{ echo "Zpracování formuláře OK.<br />"; echo "Uživatel zadal:<br />"; echo "1. maturitní předmět: " .$_GET["1"]."<br />"; echo "2. maturitní předmět: " .$_GET["2"]."<br />"; echo "3. maturitní předmět: " .$_GET["3"]."<br />"; echo "4. maturitní předmět: " .$_GET["4"]."<br />"; if ($_GET[5] != ""){ echo "5. maturitní předmět: " .$_GET["5"]."<br />"; } $musisZobrazit = false; } } $musisZobrazit = true; if (!empty($_REQUEST)){checkForm();} if ($musisZobrazit){ ?> <form action="mat_predmety.php" method="get"> 1. maturitní předmět: <input type="text" name="1" value="<?php echo $_GET["1"]?>" /><br /> 2. maturitní předmět: <input type="text" name="2" value="<?php echo $_GET["2"]?>" /><br /> 3. maturitní předmět: <input type="text" name="3" value="<?php echo $_GET["3"]?>" /><br /> 4. maturitní předmět: <input type="text" name="4" value="<?php echo $_GET["4"]?>" /><br /> 5. maturitní předmět: <input type="text" name="5" value="<?php echo $_GET["5"]?>" /><br /> <input type="submit" value="Odeslat" /> </form> |
||
juriad Profil |
#2 · Zasláno: 20. 5. 2013, 13:54:19
2. řádek změň na:
if(empty($_GET["1"]) || empty($_GET["2"]) || empty($_GET["3"]) || empty($_GET["4"])) { 5. řádek změň na: if(! empty($_GET[5])) { před 17. řádek přidej: return $musisZobrazit; 19. řádek nahraď za: if(! empty($_GET)) {$musisZobrazit = checkForm();} empty kontroluje, zda taková hodnota existuje a není prázdná (bohužel hodnota "0" znamená prázdná) Z funkce nemůžeš měnit proměnné definované mimo funkci. Můžeš maximálně hodnotu z funkce vrátit a venku ji nastavit. |
||
peta Profil |
#3 · Zasláno: 20. 5. 2013, 14:26:46
"Z funkce nemůžeš měnit proměnné definované mimo funkci." , pokud nepouzijes prikaz global, nejlepe na zacatku funkce.
http://cz1.php.net/manual/en/language.variables.scope.php References with global and static variables Ale osobne bych pouzil return, viz juriad . |
||
Joker Profil |
#4 · Zasláno: 20. 5. 2013, 15:41:15
peta:
„pokud nepouzijes prikaz global, nejlepe na zacatku funkce“ Začátečník ovšem udělá dobře, když zůstane u „Z funkce nemůžeš měnit proměnné definované mimo funkci“, protože použití global obvykle znamená špatně navržený kód. |
||
abcde5 Profil |
#5 · Zasláno: 20. 5. 2013, 22:34:01 · Upravil/a: abcde5
<title>Největší ze tří čísel</title> </head> <body> <script language="JavaScript"> var x=eval(prompt("Zadej první číslo:",1)); y=eval(prompt("Zadej druhé číslo:",2)); z=eval(prompt("Zadej třetí číslo:",3)); max=x; if (y>max) { if (z>y) { max=z; } else { max=y; } } else { if (z>x) { max=z; } } alert("Největší číslo bylo: "+max); </script> <body> <script language="JavaScript"> var povolani=prompt("Jaké je Vaše povolání?","programátor"); switch(povolani) { case "programátor": document.write("A co programujete?"); break; case "lékař": document.write("Počítač naštěsí nestoná."); break; case "učitel": document.write("To asi sotva uživíte svoji rodinu..."); break; default: document.write("Takové povolání neznám."); break; } </script> <body> <script language="JavaScript"> var objednavka=prompt("Čím posloužím?","účet"); do { document.write("Měli jste: "+objednavka+"<br>"); objednavka=prompt("Co si ještě dáte?", "účet"); } while (objednavka!="účet"); document.write("Těšíme se na Vaši další návštěvu."); </script> <?php $soucet = 0; $soucet += $soucet + 100; //předchozí výraz se dá nahradit úspornějším: $soucet += 100; echo $soucet; ?> function vypis_pole($pole){ while (list($i,$hodnota) = each($pole)){ echo "$i - $hodnota<br />"; } echo "<br />"; } $mat_pred = array(1=>"CJ", "AJ", "MA", "IVT"); sort($mat_pred); //setřídíme prvky pole vzestupně a získáme nové indexy od 0 vypis_pole($mat_pred); $mat_pred = array(1=>"CJ", "AJ", "MA", "IVT"); //opětovná deklarace pole rsort($mat_pred); //setřídíme prvky pole sestupně a získáme nové indexy od 0 vypis_pole($mat_pred); $mat_pred = array(1=>"CJ", "AJ", "MA", "IVT"); //opětovná deklarace pole asort($mat_pred); //setřídíme prvky pole vzestupně a zachováme původní indexy vypis_pole($mat_pred); $mat_pred = array(1=>"CJ", "AJ", "MA", "IVT"); //opětovná deklarace pole arsort($mat_pred); //setřídíme prvky pole sestupně a zachováme původní indexy vypis_pole($mat_pred); ?> |
||
peta Profil |
Joker: Nebo jde o usporu kod.
$a; function aaa(&$a) { $a = 1; } aaa($a); $a; function aaa() { global $a; $a = 1; } aaa(); Obvykle promenne maji delsi nazvy a kdyz jich takovych mas ve funkci 5, treba a musis to porad duplikovat... |
||
tiso Profil |
peta:
function aaa() { return 1; } $a = aaa(); $a je tam raz |
||
Časová prodleva: 11 let
|
0