Autor Zpráva
becherman
Profil
Ahojte, chcem sa vas spytat ze ked mam na stranke jednoduchy formular na vynasobenie 2 cisel:
<form action="index.php" method="post">
<br>Zadaj prvé číslo: <input type="text" name="prve"><br>
Zadaj druhé číslo: <input type="text" name="druhe">
<input type="submit" value="OK">
<?php
  $prve = $_POST["prve"];
  $druhe = $_POST["druhe"];
echo "<br>", "$prve", " x ", "$druhe", " = ", $prve*$druhe, ".", "<br>";
?>
</form>

-ked zapnem stranku tak uz akoby chcelo vypocitat ten priklad, ale nie su zadane hodnoty tak mi tam vypise nejake blbosti, ale uz ked zadam cisla a potvrdim tak odvtedy to uz ide normalne lebo vie co ma pocitat
Lambada
Profil *
Riešil by som to cez ifset, alebo cez podmienky. Napr.
if (empty $_POST['prve']  or empty $_POST['druhe']) {
echo "<br>", "$prve", " x ", "$druhe", " = ", $prve*$druhe, ".", "<br>";  }
else {
<form action="index.php" method="post"> 
<br>Zadaj prvé číslo: <input type="text" name="prve"><br> 
Zadaj druhé číslo: <input type="text" name="druhe"> 
<input type="submit" value="OK"> }
Lambada
Profil *
medzi tým malo byť ešte koniec php pred formulárom a potom to znova otvoriť pomýlil som sa prepáčte :-)
panther
Profil
becherman:
těm blbostem se říká chybové hláška. Konkrétně o nedefinované proměnné na ř. 8.

Lambada:
zkusil sis spustit ten kód, co jsi sem napsal? Nezkusil, že?
becherman
Profil
Lambada:
to co si dal ty nejde vobec

-vypisalo:
Notice: Undefined index: prve in c:\inet_srv\http\doc_root\index.php on line 85

Notice: Undefined index: druhe in c:\inet_srv\http\doc_root\index.php on line 86

x = 0.
becherman
Profil
Lambada:
jaj uz chapem ako si to myslel-idem to skusit opravit
Keeehi
Profil
<?php
if (!empty($_POST['prve'])  and !empty($_POST['druhe'])){
  $prve = (int)$_POST["prve"];
  $druhe = (int)$_POST["druhe"];
  echo "<br>$prve x $druhe = ".($prve*$druhe).".<br>";
}
?>
<form action="index.php" method="post">
Prvé číslo: <input type="text" name="prve"><br>
Druhé číslo: <input type="text" name="druhe"><br>
<input type="submit" value="OK">
becherman
Profil
Keeehi:
super :) dakujem ti, ja som v PHP iba zaciatocnik, a povies mi este co znamena to (int) ???
becherman
Profil
.... a preco si dal ! pred empty???
Lambada
Profil *
To je negácia, a int integer.. !empty (ak nieje prázdne)
becherman
Profil
dakujem vam
Keeehi
Profil
becherman:
(int) - proměnnou přetypuje na celé číslo. Je to ochrana proti útočníkům. I když v tomto případě by to bylo asi jedno.

! znamená negaci => z true se stane false a z false se stane true.
překlad podmínky:
if   ( !     empty(   $_POST['prve'])  and        !     empty(   $_POST['druhe'])) { /*kód*/            }
když ( není  prázdná  proměnná prve    a zároveň  není  prázdná  proměnná druhe  ) { /*pak proveď kód*/ }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: