Autor Zpráva
Bartolomey
Profil
Zdravím, mám tento kód:
<?php hnadpis("Kvíz"); ?>
<?php if(!$_POST){?>

<form action="?sekce=kviz" method="post">

<?php $q1 = "1. Jak se jmenuju?"; podnadpis($q1); ?>
<div style="margin:4px 0 0 17px;">
<input type="radio" name="1" value="1-1" id="1-1">&nbsp;&nbsp;<label for="1-1">Lukáš</label>
<br>
<input type="radio" name="1" value="1-2" id="1-2">&nbsp;&nbsp;<label for="1-2">Tomáš</label>
<br>
<input type="radio" name="1" value="1-3" id="1-3">&nbsp;&nbsp;<label for="1-3">Martin</label>
</div>

<br>

<?php $q2 = "2. Kolik mně je?"; podnadpis($q2); ?>
<div style="margin:4px 0 0 17px;">
<input type="radio" name="2" value="2-1" id="2-1">&nbsp;&nbsp;<label for="2-1">13</label>
<br>
<input type="radio" name="2" value="2-2" id="2-2">&nbsp;&nbsp;<label for="2-2">30</label>
<br>
<input type="radio" name="2" value="2-3" id="2-3">&nbsp;&nbsp;<label for="2-3">18</label>
</div>

<br>

<input type="submit" value="Odeslat" style="margin-bottom:3px;">
<br>
<input type="reset" value="Vynulovat odpovědi">

</form>

<?php }else{ ?>

<?php
if(!$_POST['1'] || !$_POST['2']){
  echo "Musíš vyplnit všechny odpovědi!";
}else{


  echo "<em>OK, tady máš výsledky:</em> <br><br>";
  
  echo $q1;
  if($_POST['1'] == "1-2"){
  echo "<span class=\"q_right\">Správně!</span><br><br>";
  $a = 1;
  }
  else {
  echo "<span class=\"q_wrong\">Špatně!</span><br><br>";
  $a = 0;
  }
  
  echo $q2;
  if($_POST['2'] == "2-1"){
  echo "<span class=\"q_right\">Správně!</span><br><br>";
  $b = 1;
  }
  else {
  echo "<span class=\"q_wrong\">Špatně!</span><br><br>";
  $b = 0;
  }
  
  $rights = $a + $b;
  echo "<strong>Zodpověděl/a jsi {$rights}/2 otázek správně.</strong>";

}}
?>

Mám deklarovanou proménnou q1 a q2. Na řádcích 6 a 17 jde normálně použít, ale když je chci použít v echu na řádcích 44 a 54, tak to nejde, nezobrazí se nic. Je snad problém, že jsou ty proměnné zapsány v jiném úseku kódu PHP? Nebo v čem jiném je problém?
Děkuju za odpovědi
Nox
Profil
Asi sem slepý, ale máš tam if - else a ty proměnný sou definovaný v té části if, takže pokud neplatí a provádí se else,
tak je tam nemáš definovaný

Jinak příště bys mohl ty řádky označit;)
Bartolomey
Profil
Nox
ok, díky.. počítal jsem s tím, že si to někdo hodí do editoru, ale do příště budu vědět :)
Husťák
Profil *
Nemohli byste to vysvětlit i pro začátečníka bez těch přechytralích žvástů?
Holyday
Profil
Husťák
Co z toho je přechytralé? if? else? proměnná? definovat? Samé základy...

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:

0