| Autor | Zpráva | ||
|---|---|---|---|
| cernajs Profil |
Zdravím chtěl bych jenom poprosit jestli yb mi ěnkdo řekl co je v tomhle špatně.
<form action="" method="post">
<textarea name="nick" cols="40" rows="1"></textarea>
<textarea name="sourad" cols="40" rows="1"></textarea>
<textarea name="vlozil" cols="40" rows="1"></textarea>
<input type="submit" name="seznamupload" id="seznamupload" value="Poslat" />
</form>
<?php
require_once('Soubor pro spojení s db') ;
if($_GET['akce'] == "smazat"){
mysql_query("DELETE FROM seznam WHERE id = '".$_GET['id']."'");
}
if(isset($_POST['seznamupload'])){
mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."".$_POST['sourad']."".$_POST['vlozil']."')");
echo "Text úspěšně přidán.";
echo '<br>';
}
$result = mysql_query("SELECT * FROM seznam ORDER BY id DESC");
while ($vypis = mysql_fetch_array($result)){
if($prava['mazat']==1)
{
$smazat= "[<a href=\"?p=novinky&akce=smazat&id=".$vypis['id']."\">smazat</a>]";
}
echo "<table bgcolor='black' border='1'>" ;
echo "<tr><td>".$vypis['nick']."</td><td>".$vypis['sourad']."</td><td>".$vypis['vlozil']."".$smazat."</td></tr>";
echo "</table";
}
?>Tohle je celý obsah souboru includuju ho totiž do zbytku stránky. JEŠTĚ EDIT: 1 id int(11) Ne Žádná AUTO_INCREMENT 2 nick text utf8_czech_ci Ne Žádná 3 sourad text utf8_czech_ci Ne Žádná 4 vlozil text utf8_czech_ci Ne Žádná (Tohle jsou sloupce z db) |
||
| abc Profil |
#2 · Zasláno: 8. 6. 2012, 19:36:55
cernajs:
Ahoj, v rychlosti: 1) není ošetřeno SQL injection 2) by bylo príma, kdybys napsal, co nefunguje |
||
| pcmanik Profil |
#3 · Zasláno: 8. 6. 2012, 19:37:33
cernajs:
Co ti mame ako kritizovat? Neosetrujes vstupne premenne, kod nijak nestrukturujes, insert mas zle zapisany, takze kod ti ani fungovat nemoze. |
||
| cernajs Profil |
#4 · Zasláno: 8. 6. 2012, 19:40:34 · Upravil/a: cernajs
Nechce mi to jenom do db zapisovat ale echo že se přidalo mi to vyhodí proto sem požádal o to kde mám chybu protože jí neumím najít a moc se v tom nevyznám je to jenom takovej projekt co mě napadnul tak si hraju :-)
pcmanik: Přístup tam bude mít jenom asi deset lidí proto moc neošetřuju zapisování janak tohel celý je skovaný pod heslem bez možnosti registrace. |
||
| pcmanik Profil |
#5 · Zasláno: 8. 6. 2012, 19:53:10
cernajs:
Tak ked ti to nezapisuje do databazy, tak bude chyba asi tam nemyslis? Mas zlu syntax INSERT prikazu. A je logicke ze to vzdy vypise ze to bolo pridane, ked tam nemas podmienku |
||
| Magnus123 Profil |
#6 · Zasláno: 8. 6. 2012, 20:26:49
SQLinjection ale není na škodu ošetřit. :-)
Jinak v INSERTu je chyba v tom, že to chceš zapsat jako jeden string, tzn. by se nick, sourad i vlozil uložilo do sloupce nick. <?php
mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."', '".$_POST['sourad']."', '".$_POST['vlozil']."')");
?>Jinak je, alespoň podle mě, lepší používat funkci mysql_fetch_assoc() než mysql_fetch_array(). |
||
| Chuchycek Profil |
Co se podívat na řádek 13 a do sql dotazu? A co tam je asi špatně?
Máš to tam mít takto: mysql_query("INSERT INTO seznam (nick, sourad, vlozil) VALUES ('".$_POST['nick']."','".$_POST['sourad']."','".$_POST['vlozil']."')");[#6] Magnus123 byl jsi rychlejší :D |
||
| cernajs Profil |
#8 · Zasláno: 8. 6. 2012, 20:30:30
Magnus123:
Aha tak v tomhle sme ěml chybu a přitom by si jeden řekl že to je prkotina díky moc za objasnění kde sem codělal špatně :-) |
||
|
Časová prodleva: 13 let
|
|||
0