Autor Zpráva
jou222
Profil
Zdravím,

četl jsem zde i na jiných stránkách spoustu rad a návodu o header, ale přesto se mi to nedaří, upravit, aby mi přesměrování fungovalo. Zde zasílám celý formulář.

Funkce by měla být taková: Vyplním název žánru a po kliknutí na tlačítko se vyhodnoti zda jsou splněny podmínky a když ano, tak to přejde k příkazu vložit zadané a pokud je vložení úspěšné, tak by mě to mělo přesměrovat na hlavní stránku.

Prosím o pomoc. Jsem v tomhle začátečník a v php jsem samouk. Děkuji

<?php
if(prihlaseny() == true) {                     

?>   
<div class="modul-vlozit-zanr">
<form method="post" action="">
<h3>Formulář - Vložit žánr:</h3>
<table>                                                                      
<tr>

</tr>

<tr><td><label  for="nazev_zanru">Název žánru:</label></td><td><input id="input-zanr" type="text" name="nazev_zanru"></td></tr>
</table>


<input type="submit" name="odeslani" >
<a href="index.php?stranka=homepage"><button type="button" value="Zrušit">Zrušit</button></a>


</form> 
</div>                          
 <?php
if(isset($_POST["odeslani"])) { 
if ($_POST["nazev_zanru"]){

       $vlozeni = mysql_query("INSERT INTO zanr (id_zanru, nazev_zanru) VALUES (null, \"".$_POST["nazev_zanru"]."\")");
  
  if(!$vlozeni) {  
  echo "Chyba při vkládání";
  
  } else {
    header("Location: index.php");
  } 
    
} else  echo "Není vyplněn žánr!";
}

?>
 
<?php
 
} else { include 'modul_profil_prihlaseni.php';
}
?>
ShiraNai7
Profil
Viz Nejčastější potíže s PHP (FAQ)

Aneb nemůžeš posílat hlavičky, když už byl odeslán nějaký obsah stránky.
Tori
Profil
jou222:
Řádky 24-34 dejte úplně na začátek skriptu (resp. za podmínku s přihlášením). Před header nesmí být žádný výstup (chybové hlášky, prázdné řádky, html...). Místo echa na ř.30 si definujte proměnnou (např. $chyba = true), podle ní pak vypíšete info o chybě kdekoli potřebujete.
jou222
Profil
Děkuji, upravil jsem to a funguje to :)

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