Autor Zpráva
bismakrxie
Profil
Dobrý den, mám vytvořený kód na odesílání formuláře a zároveň i vypsání jejich hodnot. Vše funguje jak má, ale přišel jsem na jeden problém, při vložení
<script>window.location.href = window.location; </script>
stránky začaly problikávat a prostě je to rozhodí. Dočetl jsem se, že existuje ochrana, potřeboval bych trochu radu.

Mám script:
<?php
 include "pages/databaze.shtm";
echo ("<h2>Zde nám můžete nechat vzkaz</h3><br><br><br><br></h2>");


if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="")							
	{																						
	if(mysql_num_rows($result)==0){
		$dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz");
		  $radek = mysql_fetch_array($dotaz);
		  $por=$radek['MAX(poradi)']+1;
		//vlozeni do databaze

mysql_query("INSERT INTO vzkaz VALUES(null, '{$_POST['jmenovzkaz']}', '{$_POST['vzkaz']}', $por)");
		}
	else
		echo("Tato položka již existuje!");
	}


$label="Odeslat vzkaz";	

$result = mysql_query('SELECT * FROM vzkaz ORDER BY poradi DESC');
if (!$result) {
    die('Nefunkční SQL dotaz');
}

echo('<form method="post">
<input type="hidden" name="IDvzkaz" value="'.$row['ID'].'">
Jméno a Příjmení<br><input type="text" name="jmenovzkaz"><br><br>
Vzkaz<br><textarea name="vzkaz" cols="60" rows="10" wrap="soft" id="odradkovani"></textarea><br>
<input type="submit" name="odeslatvzkaz" value="'.$label.'">
</form>
<table>');	

......atd
Keeehi
Profil
Pokud chcete html tagy smazat, použijte
strip_tags();

Pokud je chcete neškodně vypsat, pak
htmlspecialchars();

Použijte to na $_POST['jmenovzkaz'] $_POST['vzkaz']
k přečtení

Ještě by se hodilo při tvorbě sql dotazu používat

mysql_real_escape_string();
k přečtení
bismakrxie
Profil
Keeehi:
děkuji vyzkouším a podělím se o výsledek
bismakrxie
Profil
<?php
 include "pages/databaze.shtm";
echo ("<h2>Zde nám můžete nechat vzkaz</h3><br><br><br><br></h2>");


if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="")							{			
htmlspecialchars($_POST['jmenovzkaz']);
htmlspecialchars($_POST['vzkaz']);
																			
	           
	if(mysql_num_rows($result)==0){
		$dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz");
		  $radek = mysql_fetch_array($dotaz);
		  $por=$radek['MAX(poradi)']+1;
		//vlozeni do databaze

mysql_query("INSERT INTO vzkaz VALUES(null, '{$_POST['jmenovzkaz']}', '{$_POST['vzkaz']}', $por)"); 
		}
	else
		echo("Tato položka již existuje!");
	}


$label="Odeslat vzkaz";	

$result = mysql_query('SELECT * FROM vzkaz ORDER BY poradi DESC');
if (!$result) {
    die('Nefunkční SQL dotaz');
}

echo('<form method="post">
<input type="hidden" name="IDvzkaz" value="'.$row['ID'].'">
Jméno a Příjmení<br><input type="text" name="jmenovzkaz"><br><br>
Vzkaz<br><textarea name="vzkaz" cols="60" rows="10" wrap="soft" id="odradkovani"></textarea><br>
<input type="submit" name="odeslatvzkaz" value="'.$label.'">
</form>
<table>');						



nevím jestli jsem to vložil tam kam sem měl, nepovedlo se.
Keeehi
Profil
if(isset($_POST['odeslatvzkaz']) && $_POST['jmenovzkaz']!="" && $_POST['vzkaz']!="")                            {            
$jmenovzkaz=mysql_real_escape_string(htmlspecialchars($_POST['jmenovzkaz']));
$vzkaz=mysql_real_escape_string(htmlspecialchars($_POST['vzkaz']));
                                                                            
               
    if(mysql_num_rows($result)==0){
        $dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz");
          $radek = mysql_fetch_array($dotaz);
          $por=$radek['MAX(poradi)']+1;
        //vlozeni do databaze

mysql_query("INSERT INTO vzkaz VALUES(null, '$jmenovzkaz', '$vzkaz', $por)"); 
        }
    else
        echo("Tato položka již existuje!");
    }
// dále je to zbytečné kopírovat


Pokud přidáte sloupci poradi AUTO INCREMENT, můžete vynechat tento kód:
$dotaz = mysql_query("SELECT MAX(poradi) FROM vzkaz");
$radek = mysql_fetch_array($dotaz);
$por=$radek['MAX(poradi)']+1;

Ten dotaz by ak vypadal takto:
INSERT INTO vzkaz (sloupec_ke_kteremu_patri_null , loupec_ke_kteremu_patri_jmeno , loupec_ke_kteremu_vzkaz) VALUES (null, '$jmenovzkaz', '$vzkaz');
bismakrxie
Profil
děkuji Vám strašně moc za pomoc. Vše funguje dokonale:)
Toto téma je uzamčeno. Odpověď nelze zaslat.