Autor Zpráva
holi
Profil
Dobrý večer no spíše ráno, máme za úkol ve škole napsat triviální php script.... zadání:
"Vytvořte formulář, kde budete vkládat dvě celá čísla x a y v rozsahu 0 až 99, přičemž platí, že x <= y. Dále vytvořte skript, který bude počítat součet všech celých čísel v rozsahu x až y včetně. K výpočtu použijte cykly for, while a do while a všechny tři výsledky vypište na obrazovku. Ošetřete případy, že zadané číslo je větší než 99."

a já se sekl u cyklu for, tento příkaz je tak jednoduchý že se divím že to nefunguje pro kontrolu jsem si nechal vypsat hodnotu $x a celý script se zacikluje a do nekočne vypisuje hodnotu $y
<?php
//hodnoty $x a $y dosazuji z inputu
for($x ;$x=$y; $x++){
echo $x;
echo "<br>";
}

//také jsem zkusil
for($x=$x;$x=$y; $x++){
echo $x;
echo "<br>";
}
?>
panther
Profil
holi:
<?php

$x = 13; // tady budou hodnoty z formuláře
$y = 15;
$soucet = 0;

for ($i = $x; $i <= $y; $i++) {
    echo $i . '<br>';
    $soucet += $i;
}
echo 'Součet je: ' . $soucet;

?>
Podmínku, že čísla musí být menší než 99, zvládneš, ne? Přidej i podmínku, zda je skutečně $x <= $y.
holi
Profil
ano to všechno dávno mám ono šlo jenom o to že se mi to zacyklilo a já nevěděl proč.
Jestli chápu dobře tak ve for musí být vždycky hlavní proměná která se počítá "$i" ?
holi
Profil
takže eště raz protože se to furt cykluje ... na této stránce si to můžete vyzkoušet TU.
Její zdroják
<form method="GET">
<label for="x">Zadejte číslo X(od 0 do 99 X<=Y):</label>
<input name="x">
<label for="y">Zadejte číslo Y(od 0 do 99 X<=Y):</label>
<input name="y">
<input type="submit">
</form>
<?
if(isset($_GET['x'])){$x = $_GET['x'];}
if(isset($_GET['y'])){$x = $_GET['y'];}
/*if($x <= $y){
if($x > "99"){
echo "Zadal jste číslo X větší než 99 !!!";
}
else{
if($y > "99"){
echo "Zadal jste číslo Y větší než 99 !!!";
}
else{*/
for($i=$x;$i=$y; $i++){
echo $i;
echo "<br>";
}
/*
}
}
}
else{
echo "Zadal jste číslo X větší než 99";
} */
?>
panther
Profil
holi:
<?php
if(isset($_GET['x'])){$x = $_GET['x'];}
if(isset($_GET['y'])){$y = $_GET['y'];}

for($i=$x;$i<=$y; $i++){
echo $i;
echo "<br>";
}

?>

Celé bych to dal do podmínky, jestli byl formulář odeslaný. Ve foru můžeš pracovat i s proměnnými v poli $_GET, vyhnul by ses těmhle překlepům.

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: