Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 25
  1. #11
    Utente di HTML.it L'avatar di polinet
    Registrato dal
    Nov 2000
    Messaggi
    993
    sessioni
    ¿Hasta la pasta?

  2. #12
    .....?

  3. #13
    Originariamente inviato da oronze
    eh, ma settando display:none, quando il form viene inviato, è possibile che il campo titolo abbia una stringa precedentemente inviata dall'utente. Bisognerebbe prima svuotarlo oppure inserire una stringa particolare tipo "N_o_n_Tit" e verificare con php che il contenuto del campo debba essere processato o meno....si fa prima con ajax
    E dov'é il problema? Basta cambiare, allo stesso modo in cui si cambia il "display", un campo hidden che segni se usare il titolo o meno.

  4. #14
    Allora ragazzi ho risolto facendo così:

    Codice PHP:

    <input type="submit" value="<?php if($tt=='s'){ echo"Rimuovi Titolo";} if($tt=='n'){echo"Aggiungi Titolo"; }?>" name="title_subm"   />

     <input type='hidden' name='tt' value='<?php if($tt=='s'){ echo"n";} if($tt=='n'){ echo"s"; }?>' />

                   <?php if($tt=='s'){ ?>
                   

     <input type="text" name="titolo" value="<?php echo"$text_box"?>" /></p>
                   <?php ?>
    Però mi rimane un problema essendo un campo hidden,mi si invia in automatico anche quando premo altre submit quindi come faccio a inviarlo SOLO quando premo il submit "title_subm" ?

  5. #15
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    devi fare il controllo con php nella pagina in cui invii il form per capire se il valore deve essere processato oppure ignorato

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  6. #16
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Un paio di note :

    non puoi inserire controlli ajax senza usare js quindi se vuoi mantenere i dati salvati senza js non puoi nemmeno usare ajax .

    AJAX = Asynchronous JavaScript and XML !!!!

    Per me hai 2 strade possibili tutte che passano attraverso il server con la relativa submit.
    Senza js non puoi fare molto altro.

    1 => Cookie settati da server
    I dati possono rimanere salvati sul pc dell'utente ... ma pensa se l'utente e' in una cyber room?
    Allora dovresti far scadere i dati alla scadenza della sessione

    2 => Sessioni
    I dati rimangono sempre sul server fino alla scadenza della sessione.

    QUando apri la pagina fai una session_start e verifichi che ci siano dati.
    Se ci sono dati in post o get sovrasvrivi quelli salvati in sessione e poi carichi i dati dalla sessione e li stampi nei campi del form ....

    A mio avviso non c'e' molto altro da fare o discutere.


    Inoltre ti sconsiglio vivamanete di scrivere il codice come hai postato perche' diventa problematico da gestire.

    ti fai un bellò'array con i n omi dei campi in sessione li aggiorni e poi inserisci nei vari values i valori oppure nelle opzioni della select.

    esempio

    Codice PHP:
    <?PHP
    // VALORI BASE
    $defaults = array( "nome"=>"" "cognome"=>"" "anno"=>"" ) ;

    session_start();

    // SOVRASCRIVO O CREO con i valori in post
    if( $_POST["nome"] )
        
    $_SESSION["nome"] = $_POST["nome"];
    else
        
    $_SESSION["nome"] = $defaults["nome"];

    if( 
    $_POST["nome"] )
        
    $_SESSION["cognome"] = $_POST["cognome"];
    else
        
    $_SESSION["cognome"] = $defaults["cognome"];

    if( 
    $_POST["nome"] && is_numeric($_POST["anno"]) && $_POST["anno"]>1970 && $_POST["anno"]<2100 )
        
    $_SESSION["anno"] = $_POST["anno"];
    else
        
    $_SESSION["anno"] = $defaults["anno"];

    // HO i dati aggiornati in sessione recuperabili finche' la sessione e' attiva


    // Forgio i campi dinamici e options

    $yearOpts ="" ;

    for( 
    $i=2000 $i<2010 $i++ )
    {
         
    $yearOpts .= "<option value="\".$i."\" ".(  $i==$_SESSION["anno"] ? " selected=\"selected\" " ""   )." >".$i."</option>" ;

    }

    if(
    $_SESSION["anno"]>2050)
       
    $sub =  "Maremma e chi ci arriva ?" ;
    else
       
    $sub "Siamo nei limiti" ;

    ?>
    ecco la form
    Codice PHP:

    <form name="macheoooo" anction="<?=$_SERVER[PHP_SELF]?>" method="post" >

    Nome <input type="text" name="nome" value="<?=$_SESSION["nome"]?>

    Cognome <input type="text" name="cognome" value="<?=$_SESSION["cognome"]?>


    Anno <select name="anno"><?=yearOpts;?></select>
    <hr />
    <input type="submit" value="<?=$sub;?>" />

    </form>

    UNa cosa del genere e' 30000 mila volte piu' gestibile

  7. #17
    Ah quindi dici che è meglio utilizzare le sessioni..beh sicuramente scritto in questo modo si gestisce e si capisce moooolto meglio! Senti giusto per capire,ne approfitto c'è una linea di codice che non va..

    Codice PHP:

    $yearOpts 
    .= "<option value="".$i."" ".(  $i==$_SESSION["anno"] ? " selected=\"selected\" " ""   )." >".$i."</option>" 
    che ho modificato togliendo due apici ""

    Codice PHP:

    $yearOpts 
    .= "<option value=".$i." ".(  $i==$_SESSION["anno"] ? " selected=\"selected\" " ""   )." >".$i."</option>" 

    Ma comunque non mi visualizza la lista degli anni..Dove sarà l'errore?




    Scusate come non detto ho trovato non avevo messo il $ su

    Anno <select name="anno"><?=$yearOpts;?></select>



    Bene procederò in questo modo...Ovviamente tutto deve stare nella pagina del form..no?

    GENTILISSIMO!

  8. #18
    Allora ho fatto in questo modo ma non riesco a vederne luce mannaggia

    ho messo all'inizio della pagina questo:

    Codice PHP:

    if  ($_SESSION["tt"]=='') {
        
    $_SESSION["tt"] = 'n';
        
    $tt=$_SESSION["tt"];}
    else{
        
    $tt=$_SESSION["tt"];}
        
        echo
    "tt vale $tt "
    Poi nel form ho fatto questo:

    Codice PHP:

        <form name="subm_m" method="post" action="<?php echo"$current_page";?>">
        <td bgcolor="#00FF99"><select name="sel_friend" > <?php include("_include/select_fr.php"); ?> </select></td>
        <td width="450" bgcolor="#00FF99"><div id="title_box">
                          
                         
     <input type="submit" value="<?php if($tt=='s'){ echo"Rimuovi Titolo";} if($tt=='n'){echo"Aggiungi Titolo"; }?>" name="title_subm"   />

                         <?php if($tt =='s'){ ?>
                         

     <input type="text" name="titolo" value="<?=$_SESSION["titolo"]?>" /></p>
                         <?php ?>

                         </div></td>
        <td width="185" align="center" bgcolor="#00FF99"><input type="submit" value="Invia!" name="rapid_mess" /></td>
    Quindi quando $tt vale 's' me lo dovrebbe mostrare altrimenti no. Dato che ci sono 2 submit ho creato una funzione che mi fa cambiare il valore della session relativa a tt

    Codice PHP:

          
    if(isset($_POST['title_subm']))
             {
             
                if(
    $_SESSION["tt"]=='n' ){
                
    $_SESSION["tt"]='s';}
                else{
                
    $_SESSION["tt"] = 'n';}

             
              } 

    Ma quando premo rimane sempre 'n' il valore!! Come mai cosa sbaglio?

  9. #19
    ..Ho modificato in questo modo ma ancora niente,non riesco a cambiare il valore di $tt

    Codice PHP:
     //se è stato cliccato il tasto per nascondere/mostrare la textbox
          
    if(isset($_POST['title_subm']))
             {
               
                
    $tt$_SESSION["tt"];

                if(
    $tt == 'n' ){
                
    $values_array["tt"]= 's';}
                else{
                
    $values_array["tt"]='n';}     
             }
              
              else{
                    if(
    $values_array["tt"]==''){
                     
    $values_array["tt"]='n';
                     
    $_SESSION["tt"] = $values_array["tt"];
                     
    $tt$_SESSION["tt"];}
                    else{
                     
    $_SESSION["tt"] = $values_array["tt"];
                     
    $tt=$_SESSION["tt"];}
                   } 
    e ho creato questo form:
    Codice PHP:

        <form name="subm_m" method="post" action="<?php echo"$current_page";?>">
        <td bgcolor="#00FF99"><select name="sel_friend" > <?php include("_include/select_fr.php"); ?> </select></td>
        <td width="450" bgcolor="#00FF99"><div id="title_box">

                         <input type="submit" value="<?php if($tt=='s'){ echo"Rimuovi Titolo";} if($tt=='n'){echo"Aggiungi Titolo"; }?>" name="title_subm"   />

                         <?php if($tt=='s'){ ?>
                         

     <input type="text" name="titolo" value="<?=$_SESSION["titolo"]?>" /></p>
                         <?php ?>

                         </div></td>
        <td width="185" align="center" bgcolor="#00FF99"><input type="submit" value="Invia!" name="rapid_mess" /></td>
    Avete questa idea?

  10. #20
    non mi cambia il valore..

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.