| Autor | Zpráva | ||
|---|---|---|---|
| vandy Profil * |
#1 · Zasláno: 4. 8. 2008, 22:28:38
Mrkněte se prosím na můj kod a řekněte proč se mi $_POST['infoedit'] v castvi vetve prikazu switch nezobrazi ... vzdyt tam formular
mam a odesilam metodou $_POST. Tak by se to prece melo zobrazit ne ? <form action='edit.php?action=ukazat_novou_zpravu' method='POST'> <h1 class='profileuser'><a>Něco málo o mé osobě (Původní zpráva)</a> max. 500 znaků</h1> <textarea class='edit' name='infoedit' rows='2' cols='104'><?php echo $_SESSION['info'];?></textarea> <p></p> <?php echo "<input type='submit' name='odeslat' value='Zobrazit novou a původní zprávu' class='profileuser'>"; ?> </form> </div> <?php if ( isset ( $_GET['action'] ) ) { switch ( $_GET['action'] ) { // Ukázat novou zprávu case "ukazat_novou_zpravu" : { $infoedit = $_POST['infoedit']; // Odstraníme veškeré HTML a PHP tagy $infoedit = strip_tags($infoedit); // Otestujeme maximální délku zprávy $max_delka = strlen( $infoedit ); // Pokud je délka větší než 500 znaků vypíšeme chybové hlášení if ( $max_delka >= 500 ) { echo "<h1 class='profileuser'><a>Překročili jste maximální počet znaků ! Max. počet znaků je 500 !</h1></a>"; } // Pokud je původní zpráva stejná jako nová zpráva zobrazíme varování if ( $_SESSION['info']==$_POST['infoedit'] ) { echo "<p></p><h1 class='profileuser'><a>Chyba : Původní a nová zpráva se nesmějí shodovat !</h1></a>"; } // Pokud je zpráva vyhovující tedy rozsah znaků 1 - 500 pak provedeme zobrazení zprávy a uložení do databáze else { // Zobrazíme novou zprávu a tlačítko s uložením změn echo "<p></p>"; echo "<form action='edit.php?action=ulozit_novou_zpravu' method='POST'>"; echo "<h1 class='profileuser'><a>Něco málo o mé osobě (Nová zpráva)</a></h1>"; echo "<p class='profileuser'>$infoedit</p>"; echo "<input type='submit' name='ulozit' value='Uložit změny' class='profileuser'>"; echo "</form>"; } break; } // Uložit novou zprávu case "ulozit_novou_zpravu" : { echo $_POST['infoedit']; break; } } } @include_once("paticka.php"); ?> |
||
| pmg Profil |
#2 · Zasláno: 4. 8. 2008, 23:36:41
Ve formuláři pro zobrazení změn chybí pole se zprávou. Zkus tam dát toto:
echo "<input type='hidden' name='infoedit' value='$infoedit'>"; Jinak jednotlivé větve switch nemusí být ve složených závorkách, jestli to tedy neděláš schválně. switch ($var) { case 1: echo 1; break; } |
||
|
Časová prodleva: 17 let
|
|||
0