Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732

    Problema con le sessioni ...

    ho questo script e non riesco a capire perchè pur passando i dati correttamente dalla form non vengano tenuti nel momento in cui nel browser clicchi "go" per riaccedere alla stessa pagina.

    codice:
    <?php
    // Sessions - Example 23-2
    //---------------------------
    
    session_start(); 
    
    if (!isset($_SESSION['bgCol']))
    	 $_SESSION['bgCol'] = 0;
    if (!isset($_SESSION['textCol']))
    	 $_SESSION['textCol'] = 0;
    
    if (isset($_POST["submit"])) {
    	$bgCol = $_POST["nbgCol"];
    	$textCol = $_POST["ntextCol"];	
    	$_SESSION['bgCol'] = $bgCol;
    	$_SESSION['textCol'] = $textCol;
    	echo("<body bgcolor='$bgCol' text='$textCol'>");
    }
    
    
    ?>
    
    <h2>What Colours would you like?</h2>
    <form action='<?php echo($_SERVER["PHP_SELF"]) ?>' method='post'>
    Background Colour: <select name='nbgCol'>
    	<option>red</option>
    	<option>green</option>
    	<option>blue</option>
    	<option>cyan</option>
    	<option>yellow</option>		
    </select>
    
    
    Text Colour: <select name='ntextCol'>
    	<option>red</option>
    	<option>green</option>
    	<option>blue</option>
    	<option>cyan</option>
    	<option>yellow</option>		
    </select>
    
    
    
    <input type='submit' name='submit'>
    Non dovrebbe avere già memorizzati i precdenti valori avendo già creato la sessione ed il relativo cookie?

  2. #2
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    ok risolto così:

    codice:
    <?php
    
    session_start(); 
    
    if (!isset($_SESSION['bgCol']))
    	 $_SESSION['bgCol'] = "";
    if (!isset($_SESSION['textCol']))
    	 $_SESSION['textCol'] = "";
    
    
    if (isset($_POST["submit"])) {
    	$bgCol = $_POST["nbgCol"];
    	$textCol = $_POST["ntextCol"];	
    	$_SESSION['bgCol'] = $bgCol;
    	$_SESSION['textCol'] = $textCol;
    }
    
    $bgCol=$_SESSION['bgCol'];
    $textCol=$_SESSION['textCol'];
    
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <head>
    </head>
    <body bgcolor="<?php echo $bgCol ?>" text="<?php echo $textCol ?>">
    <h2>What Colours would you like?</h2>
    <form action='<?php echo($_SERVER["PHP_SELF"]) ?>' method='post'>
    Background Colour: <select name='nbgCol'>
    	<option>red</option>
    	<option>green</option>
    	<option>blue</option>
    	<option>cyan</option>
    	<option>yellow</option>		
    </select>
    
    
    Text Colour: <select name='ntextCol'>
    	<option>red</option>
    	<option>green</option>
    	<option>blue</option>
    	<option>cyan</option>
    	<option>yellow</option>		
    </select>
    
    
    
    <input type='submit' name='submit'>
    
    </body>
    </html>
    prima i colori erano (ovviamente) impostati solo in caso di submit cosicche ad ogni richiamo non venisse buttato fuori l'echo con il body.

    Che schifo di esempio che mi sono beccato nel libro.

    Però l'ho debuggato da solo, comincio ad entrare nell'ottica della programmazzione ...







    ... UHE! son soddisfazioni!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.