Autor Zpráva
pizet
Profil
Ahojte, nepredpokladal som, ze to sem budem davat ale mam taky problemik. Mam jednoduchy formular v PHP na formatovanie textu podla volby uzivatela. Mam tam aj moznost na ulozenie nastaveni do cookies. Problem je, ze niekde tam musim mat nejaku blbu chybu, nic mi sice nevypisuje ale s textom to nespravi nic. Tu je program:

<html>
	
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
	<title>Formatuj text</title>
	</head>
	
	<body>
		<form method="get" action="vypistext.php">
            <table>
                <tr><td><p>Zadaj vetu:</p></td></tr>
                <tr><td><input type="text" name="text" /></td></tr>
                <tr><td>Vyber si nastavenia:</td></tr>
                <tr><td>Farba: </td>
                    <td>
                        <select name="farba" size="1">
                            <option value="red">Red
                            <option value="blue">Blue
                            <option value="green">Green
                        </select>
                    </td>   
                </tr>
                <tr><td>Font: </td>
                    <td>
                        <select name="font" size="1">
                            <option value="serif">Serif
                            <option value="Times New Roman">Times New Roman
                            <option value="Arial">Arial
                        </select>
                    </td>   
                </tr>
                <tr><td>Veľkosť: </td>
                    <td>
                        <select name="velkost" size="1">
                            <option value="15px">15px
                            <option value="20px">20px
                            <option value="25px">25px
                        </select>
                    </td>   
                </tr>
                <tr>
                    <td>Uložiť nastavenia: <input type="checkbox" name="ulozit" value="1"/></td>
                    <td><input type="submit" name="Submit" value="Odoslať" /></td>
                </tr>
            </table>
        </form>
	</body>
		
</html>


<?php
    if ( $_GET['ulozit'] == 1 ){
        setcookie ( 'farba', $_GET['farba'], time() + 60 );
        setcookie ( 'font', $_GET['font'], time() + 60 );
        setcookie ( 'velkost', $_GET['velkost'], time() + 60 );
    }
?>
<html>
	
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
	<title>Formatuj text</title>
        <style type="text/css">
            <?php
                $farba = $_COOKIE['farba']; $velkost = $_COOKIE['velkost']; $font = $_COOKIE['font']; 
            ?>
            .nic {
                color: <?php echo $farba; ?>;
                font-family: <?php echo $font; ?>;
                font-size: <?php echo $velkost; ?>;
            }
        </style>
	</head>
	
	<body>
		<?php
            $text = $_GET['text'];
			echo "<p class='nic'>" . $text . "</p>";
		?>
	</body>
		
</html>


no a tam co mam tu php vsuvku
<?php
                $farba = $_COOKIE['farba']; $velkost = $_COOKIE['velkost']; $font = $_COOKIE['font']; 
            ?>

ked tam dam namiesto
$farba = $_COOKIE['farba']; $velkost = $_COOKIE['velkost']; $font = $_COOKIE['font'];

dam toto
$farba = $_GET['farba']; $velkost = $_GET['velkost']; $font = $_GET['font'];

tak mi to ide normalne, len samozrejme nefunguje checkbox na ulozenie nastaveni a teda mi z toho vyplyva, ze chyba bude v hornych riadkoch.

Mohli by ste mi poradit?

Vopred dakujem! :)
Chro
Profil
Nebude to tím, že hodnota například z $_COOKIE['farba'] je dostupná až po dalším načtení stránky a ne hned po vytvoření přes setcookie('farba', $_GET['farba'], time() +60);?
pizet
Profil
No asi ano, nad tym som premyslal, len ako by si mi to radil prerobit aby vsetko fungovalo?
Chro
Profil
Ve vypistext.php za poslední setcookie(); a v rámci podmínky ulozit == 1 zapiš:
header("Location: http://tvojedomena.../vypistext.php");
exit;

Ale pozor, hodnotu z $_GET['text'] si budeš muset taky zapisovat do cookie a následně ji z ní přebírat. Takže celkem nastavit 4 cookies, farba, velkost, font, text a za ně ten header a exit a ukončit podmínku }.
pizet
Profil
Jasne, ten text tam mam, to len sem som dal verziu bez toho...

Diki moc (:

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: