Autor Zpráva
vandy
Profil *
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
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;
}

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: