Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: "Conservare" Dati

  1. #1
    Utente di HTML.it L'avatar di Milver
    Registrato dal
    Dec 2006
    Messaggi
    179

    "Conservare" Dati

    Salve ragazzi, ho una domanda da farvi a cui sicuramente saprete rispondermi..In un form, una volta inviati i dati, ho il controllo se sono stati riempiti o meno eccolo qui:

    Codice PHP:
    if (trim($titolo) == "" OR trim($testo) == "" OR trim($categoria) == "" OR trim($data) == "")
    {
    die (
    "Hai lasciato campi incompleti, <a href=\"index.php?pagina=inseriscinotizia\">torna indietro</a> e compila tutti i campi");

    Quando clicco su "torna indietro" però si perdono tutti i dati precedemente inseriti nel form ed è un fastidio enorme...sapete dirmi come posso fare in modo che anche quando torno indietro si conservino le informazioni nei campi del form? Grazie mille!
    Mimmo

  2. #2
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    Re: "Conservare" Dati

    Originariamente inviato da Milver
    Salve ragazzi, ho una domanda da farvi a cui sicuramente saprete rispondermi..In un form, una volta inviati i dati, ho il controllo se sono stati riempiti o meno eccolo qui:

    Codice PHP:
    if (trim($titolo) == "" OR trim($testo) == "" OR trim($categoria) == "" OR trim($data) == "")
    {
    die (
    "Hai lasciato campi incompleti, <a href=\"index.php?pagina=inseriscinotizia\">torna indietro</a> e compila tutti i campi");

    Quando clicco su "torna indietro" però si perdono tutti i dati precedemente inseriti nel form ed è un fastidio enorme...sapete dirmi come posso fare in modo che anche quando torno indietro si conservino le informazioni nei campi del form? Grazie mille!
    potresti salvarli in una sessione...

  3. #3
    Utente di HTML.it L'avatar di moonba
    Registrato dal
    Jun 2007
    Messaggi
    649
    codice:
    if (trim($titolo) == "" OR trim($testo) == "" OR trim($categoria) == "" OR trim($data) == "") 
    { 
    die ("Hai lasciato campi incompleti, <a href=\"index.php?pagina=inseriscinotizia\">torna indietro</a> e compila tutti i campi"); 
    }
    forse non ho capito bene,ma ci provo,se tu con questo if controlli che se $titolo ,$testo,$categoria,$data sono campi vuoti e se lo sono gli dici di stamparti il messaggio "hai lasciato campi vuoti",come fai a ritornare i valori di queste variabili che sono stringhe vuote?

  4. #4
    In testa allo script che stampa questa form puoi aggiungere questo codice:

    Codice PHP:
    (isset($_POST['var1'])) ? $var1 $_POST['var1'] : $var1 "";
    (isset(
    $_POST['var2'])) ? $var2 $_POST['var2'] : $var2 "";
    (isset(
    $_POST['var3'])) ? $var3 $_POST['var3'] : $var3 "";
    // eccetera 
    Dove con var1, 2 ecctera intendo il nome dei campi della form.
    In ognuno dei tag input della form, vai poi ad aggiungere al campo VALUE il contenuto della relativa variabile.

    Facendo click sul tasto "indietro" del browser, se l'array $_POST contiene valori (quindi se la form è stata riempita) nei campi relativi comparirà il contenuto già scritto.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  5. #5
    Utente di HTML.it L'avatar di Milver
    Registrato dal
    Dec 2006
    Messaggi
    179
    L' ho fatto ma non va, ecco il codice della pagina intera

    Codice PHP:
    <?
    include("config.php");
    $db mysql_connect($db_host$db_user$db_password);
    if (
    $db == FALSE)
    die (
    "Errore nella connessione. Verificare i parametri nel file config.php");
    mysql_select_db($db_name$db)
    or die (
    "Errore nella selezione del database. Verificare i parametri nel file config.php");
    (isset(
    $_POST['nome'])) ? $nome $_POST['nome'] : $nome "";
    (isset(
    $_POST['cognome'])) ? $cognome $_POST['cognome'] : $cognome "";
    (isset(
    $_POST['email'])) ? $email $_POST['email'] : $email "";
    $nome $_POST['nome'];
    $cognome $_POST['cognome'];
    $ruolo $_POST['ruolo'];
    $email $_POST['email'];
    $password $_POST['password'];
    $datadinascita $_POST['gg']."/".$_POST['mm']."/".$_POST['aaaa'];
    $nomeutente $nome.$cognome;
    $password md5($password);
    $utenteattivo="no";
    if (
    trim($nome) == "" OR trim($cognome) == "" OR trim($ruolo) == "" OR trim($email) == "" OR trim($datadinascita) == "" OR trim($password) == "")
    {
    die (
    "Hai lasciato campi non compilati, <a href=\"index.php?pag=registrati\">torna indietro</a> e compila tutti i campi.");
    }
    $query1 "INSERT INTO totina_staff (nome, cognome, ruolo, email, datadinascita, nomeutente, password, utenteattivo) VALUES ('$nome', '$cognome', '$ruolo', '$email', '$datadinascita', '$nomeutente', '$password', '$utenteattivo')";
    if (
    mysql_query($query1$db)) {
    echo 
    "Registrazione avvenuta correttamente

    Un amministratore dovrà analizzare la tua iscrizione e convalidarla per 
    abilitarti all'accesso al pannello d'amministrazione

    Il tuo nome utente è [b]
    $nomeutente[/b]";
    } else {
    echo 
    "Registrazione non avvenuta correttamente


    mysql_error();
    }
    mysql_close($db);
    ?>
    Quando clicco torna indietro mi da ugualmente i campi vuoti nelle prime tre variabili che ho configurato. la pagina su cui tornerebbe ha questo codice

    Codice PHP:
    <div class="titoli">Registrati</div>
    <form action="index.php?pag=confermaregistrazione" method="post">
    <table align="center" cellpadding="0" cellspacing="0" border="0" style="color: black; font-size: x-small; font-family: Arial;">
    <tr>
    <td>Nome: </td><td width="20"></td><td><input type="text" name="nome" style="width: 200px;"></td>
    </tr>
    <tr>
    <td>Cognome: </td><td width="20"></td><td><input type="text" name="cognome" style="width: 200px;"></td>
    </tr>
    <tr>
    <td>E-mail: </td><td width="20"></td><td><input type="text" name="email" style="width: 200px;"></td>
    </tr>
    <tr>
    <td>Password: </td><td width="20"></td><td><input type="password" name="password" style="width: 200px;"></td>
    </tr>
    <tr>
    <td>Ruolo: </td><td width="20"></td><td>
    <select name="ruolo" style="width: 200px;">
    <option></option>
    <option>Dirigente Scolastico</option>
    <option>Dirigente Amministrativo</option>
    <option>Personale Amministrativo</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>Data di nascita: </td><td width="20"></td><td>
    <select name="gg" style="width: 40px;">
    <?php
    $a 
    1;
    echo 
    "<option></option>";
    while (
    $a <= 31)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    ?>
    </select>
    <select name="mm" style="width: 40px;">
    <?php
    $a 
    1;
    echo 
    "<option></option>";
    while (
    $a <= 12)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    ?>
    </select>
    <select name="aaaa" style="width: 80px;">
    <?php
    $a 
    1900;
    echo 
    "<option></option>";
    while (
    $a <= 2009)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    ?>
    </select>

    </td>
    </tr>
    <tr>
    <td></td><td width="20"></td><td align="right"></td>
    </tr>
    <tr>
    <td></td><td width="20"></td><td align="right"><input type="submit" value="Continua"></td>
    </tr>
    </table>
    </form>
    Mimmo

  6. #6
    Mi autoquoto:
    In testa allo script che stampa questa form puoi aggiungere questo codice:
    Te hai inserito il codice nello script che processa i dati, quindi quello successivo alla form.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  7. #7
    Utente di HTML.it L'avatar di Milver
    Registrato dal
    Dec 2006
    Messaggi
    179
    Quindi devo fare cosi?

    Codice PHP:
    <?php 
    (isset($_POST['nome'])) ? $nome $_POST['nome'] : $nome ""
    (isset(
    $_POST['cognome'])) ? $cognome $_POST['cognome'] : $cognome ""
    (isset(
    $_POST['email'])) ? $email $_POST['email'] : $email ""

    echo 
    "<div class=\"titoli\">Registrati</div>
    <form action=\"index.php?pag=confermaregistrazione\" method=\"post\">
    <table align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"color: black; font-size: x-small; font-family: Arial;\">
    <tr>
    <td>Nome: </td><td width=\"20\"></td><td><input type=\"text\" name=\"
    $nome\" style=\"width: 200px;\"></td>
    </tr>
    <tr>
    <td>Cognome: </td><td width=\"20\"></td><td><input type=\"text\" name=\"
    $cognome\" style=\"width: 200px;\"></td>
    </tr>
    <tr>
    <td>E-mail: </td><td width=\"20\"></td><td><input type=\"text\" name=\"
    $email\" style=\"width: 200px;\"></td>
    </tr>
    <tr>
    <td>Password: </td><td width=\"20\"></td><td><input type=\"password\" name=\"password\" style=\"width: 200px;\"></td>
    </tr>
    <tr>
    <td>Ruolo: </td><td width=\"20\"></td><td>
    <select name=\"ruolo\" style=\"width: 200px;\">
    <option></option>
    <option>Dirigente Scolastico</option>
    <option>Dirigente Amministrativo</option>
    <option>Personale Amministrativo</option>
    </select>
    </td>
    </tr>
    <tr>
    <td>Data di nascita: </td><td width=\"20\"></td><td>
    <select name=\"gg\" style=\"width: 40px;\">"
    ;
    $a 1;
    echo 
    "<option></option>";
    while (
    $a <= 31)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    echo 
    "</select>
    <select name=\"mm\" style=\"width: 40px;\">"
    ;
    $a 1;
    echo 
    "<option></option>";
    while (
    $a <= 12)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    echo 
    "</select>
    <select name=\"aaaa\" style=\"width: 80px;\">"
    ;
    $a 1900;
    echo 
    "<option></option>";
    while (
    $a <= 2009)
    {
    echo 
    "<option>$a</option>";
    $a $a+1;
    }
    echo 
    "</select>

    </td>
    </tr>
    <tr>
    <td></td><td width=\"20\"></td><td align=\"right\"></td>
    </tr>
    <tr>
    <td></td><td width=\"20\"></td><td align=\"right\"><input type=\"submit\" value=\"Continua\"></td>
    </tr>
    </table>
    </form>
    "
    ;
    ?>
    Ho provato cosi ma niente mi aiuti?
    Mimmo

  8. #8
    Torno ad autoquotarmi.
    In ognuno dei tag input della form, vai poi ad aggiungere al campo VALUE il contenuto della relativa variabile.
    Te la variabile l'hai inserita nel campo NAME, quindi non può funzionare!!!
    Per cui:
    Codice PHP:
    <input type=\\"text\" name=\\"nome\\" style=\"width: 200px;\" value=\\"$nome\\" /> 
    Questo è un esempio, lo devi solo trasportare anche alle altre tre input.

    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

  9. #9
    in teoria potresti anche provare con href=\"javascript:history.back()\" nel link di ritorno se i dati sono errati

    Non è un metodo molto "professionale" ma il risultato diciamo che è lo stesso...

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    110
    Che brutta cosa un comando echo così lungo. Lo sai che i tag php li puoi chiudere ed aprire quando vuoi, vero?

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.