Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16
  1. #1
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026

    problema inserimento dati da form(REFRESH)

    ragazzi qualcuno può spiegarmi come mai e come evitare che sul refresh della pagina la mia form reinserisca gli stessi dati appena inseriti nel db

    mi spiego meglio inserisco i dati poi se eseguo subito dopo il refresh della pagina mi reinserisce gli stessi dati inseriti prima

    questo è il codice della form, si trova in una pagina .php inclusa in un'altra pagina.php

    Codice PHP:
    if  ($_POST['nome']&&$_POST['cognome']&&$_POST['email']&&$_POST['password']&&$_POST['scelta']&&$_POST['commento']!='')
      {
    $query=mysql_query("INSERT INTO preventivi(nome,cognome,email,password,scelta,commento,data,orario) VALUES('$nome','$cognome','$email','$password','$scelta','$commento','$data','$orario') ") or die(mysql_error());
      echo 
    '<a style="color:#ff0000;">Dati inseriti</a>';}
      else{echo 
    '<a style="color:#ff0000;">Devi riempire tutti i campi</a>';} 

  2. #2
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    per capirsi meglio la pagina è inclusa in un'altra pagina(quella dove ho la form) in questo modo:
    Codice PHP:
      if (isset($_POST['invia']))
      {include(
    "inserisci.php");} 

  3. #3
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    Ma non ti dà la solita finestrina se vuoi riinviare i dati? L'hanno messo proprio per casi così. Si possa evitare facendo un redirect dopo il POST.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  4. #4
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    aspetta cosa intendi per finestrina?

  5. #5
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    io inserisco i dati nella form invio i dati e la form torna vuota però se clicco refresh sulla pagina vuota e vado a vedere i dati che mi inserisce trovo un'altro record uguale a quello precedentemente salvato

  6. #6
    Utente di HTML.it L'avatar di neroux
    Registrato dal
    Aug 2009
    Messaggi
    1,973
    La finestra che appaia quando fai un refresh e ti chieda se volessi riinviare i dati POST.

    www.sitemeer.com » Quando un sito pare irraggiungibile

    Se ti piace ci puoi trovare anche su Facebook

  7. #7
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    no no anzi non ne conoscevo neanche l'esistenza a essere sincero,non mi è mai capitato in nessun sito di trovarla

    bho non avete idea di cosa devo fare? c'è qualche tipo di controllo che devo impostare oltre quelli già in uso?

  8. #8
    potresti provare così:
    Codice PHP:
    <?php
     session_start
    ();
       if(!isset(
    $_SESSION['my_form']))
       {
     
    //qui vai ad inserire il codice della form
     //.....
      //
      
    $_SESSION['my_form']="ok";
       }
        else{
       
       
       require
    "config.php";
       
    //
        
    $nome$_POST['nome'];
        
    $cognome$_POST['cognome'];
         
    $email=$_POST['email'];
          
    $password=$_POST['password'];
          
    $scelta=$_POST['scelta'];
          
    $commento=$_POST['commento'];
          if(!isset(
    $_SESSION['user']))
          {
         if ( empty(
    $nome)||empty($cognome)||empty($email)||empty($password)||empty($scelta)||empty($commento))
         {
          echo 
    '<a style="color:#ff0000;">Devi riempire tutti i campi</a>
    '
    ;
          echo 
    "[url='javascript:history.back()']Torna Indietro[/url]";
         }
         else{
            
    $query=mysql_query("INSERT INTO preventivi(nome,cognome,email,password,scelta,commento,data,orario) VALUES('$nome','$cognome','$email','$password','$scelta','$commento','$data','$orario') ") or die(mysql_error());
            if(
    $query)
            {
      echo 
    '<a style="color:#ff0000;">Dati inseriti</a>';
      
    $_SESSION['user']=$nome;
      }
      else{
      echo 
    '<a style="color:#ff0000;">Dati non inseriti</a>
    '
    ;
             echo 
    "[url='javascript:history.back()']Riprova[/url]";
             exit();
          }
        
    mysql_close()
      }
      }
      }
      
    ?>

  9. #9
    Utente di HTML.it L'avatar di ispuk
    Registrato dal
    Jan 2009
    Messaggi
    1,026
    ciao inanzitutto grazie di esserti interessato al mio problema,solo che noto che dal tuo codice dovrei usare parti javascript e vorrei cercare di evitarlo

    mi era balenata in mente un'altra idea ma non so come posso fare,ovvero

    al momento di inserire i dati non c'è un modo per far si che se inserisco un record uguale ad uno già inserito mi risulti sempre e comunque un record solo senza che si duplichino?

    non so magari anche da phpmyAdmin o direttamente nella query di INSERT......??

  10. #10
    Per questo codice non è previsto javascript,praticamente il codice della form sono i vari <input text>e il submit.Nel php creo una variabile di sessione $_SESSION['user']che viene settata al primo inserimento dei dati nel database;quindi al reload visto che è presente non permette l'inserimento degli stessi dati!spero di esserti stato di aiuto!

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.