Autor | Zpráva | ||
---|---|---|---|
dako Profil |
Ahojte, chcel by som vedieť váš názor na kod, keďže nemôžem nájst kde je problém, prípadne čo robím zle, lebo som sa v tom už totálne zamotal a sám neviem čo som prerobil na dobré a čo na zlé :)
tu je časť z kodu: fomular <p> <form name="edit_text" action="" method="post"> Názov článku: <br /> <textarea name="nazovek" cols="40" rows="1"> <?php echo($_POST['nazov']); ?> </textarea> </p> <p> <textarea name="textik" cols="40" rows="3"> <?php echo($_POST['text']); ?> </textarea> <input type="hidden" value="<?php $_POST['textid'] ?>" name="textid" /> <input type="submit" value="Uložiť" name="action" /> </form> </p> vynatok z podmienky, kde po odoslaní formulára volá funkciu if( strcasecmp($_POST['action'], "Uložiť")==0 && !empty( $_POST['textik'] ) ) { edit_text($_POST['textid'], $_POST['nazovek'], $_POST['textik']); } a samotná funkcia function edit_text( $textid, $nazovek, $textik ) { mysql_query( "UPDATE novinky SET nazov='".addslashes( $nazovek )."', text='".addslashes( $textik )."' WHERE id='".addslashes( $textid )."'" ); } V čom robím chybu? alebo prečo to nechce ísť? teda nič mi neprepíše v databáze. Vďaka |
||
quatzael Profil |
dako:
Zkontroluj jestli se Ti spouští ta samotná funkce edit_text.. Na tom řádku 19 bys asi každopádně měl mít: <input type="hidden" value="<?php echo $_POST['textid']; ?>" name="textid" /> |
||
Jan Tvrdík Profil |
#3 · Zasláno: 1. 4. 2013, 08:30:29
Ideálně bez XSS zranitelnosti (to se týká všech těch inputů):
<input type="hidden" value="<?php echo htmlspecialchars($_POST['textid']); ?>" name="textid" /> |
||
Enko Profil * |
#4 · Zasláno: 1. 4. 2013, 22:25:21
A taky nahradit addslashes() za mysql_real_escape_string() nebo ještě lépe udělat to přes PDO.
|
||
Časová prodleva: 12 let
|
0