Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354

    form-query, problema aggiornamento

    Salve,

    Vi posto il mio codice che prende due stringe da un form, li memorizza in un db scrive il contenuto del db.

    codice:
    <?php
    
    include ('configurazione.php'); //per l'accesso al db
    
    function scrivi(){?>
    
      <table border="1">
    
      <?php
    
        $sql = 'select * from tabella_form order by data desc,time desc';
    
        $res = mysql_query($sql);
    
        while($row = mysql_fetch_array($res)){
    
        ?>
    
          <tr>
    
            <td><?php print $row["id"]; ?></td>
    
            <td><?php print $row["titolo"]; ?></td>
    
          </tr>
    
        <?php
    
        }
    
        mysql_free_result($res);
    
      ?>
    
      </table>
    
    <?php
    
    }
    
    ?>
    
    <body>
    
        <form action='' method='POST'>
    
          Titolo:
    
    
          <textarea name='titolo'></textarea>
    
    
          Testo
    
    
          <textarea name='testo'></textarea>
    
    
          <input type='submit' value='Invia' name="invia">
    
    
        </form>
    
        <?php scrivi(); ?>
    
    </body>
    
    <?php
    
      if (isset($_POST["invia"])) {
    
        $titolo = mysql_escape_string($_POST['titolo']);
    
        $testo = mysql_escape_string($_POST['testo']);
    
        if ( $titolo == TRUE && $testo == TRUE )  {
    
          $data=date("y-m-d");
    
          $time=date("H:i:s");
    
          mysql_query("INSERT INTO tabella_form (id , titolo , testo, data, time) VALUES ('','$titolo', '$testo','$data','$time')") OR DIE(mysql_error());
    
          //scrivi();
    
        } else {
    
          echo "Tutti i campi sono obbligatori!!";
    
        }
    
    }
    
    ?>


    Il problema è che quando l'utente riempe i campi ed invia i dati questi vengono memorizzati ma non vengono visualizzati all'instante. Cose che non so come fare. Mi potete dar qualche consiglio?

    Ed un altra cosa: dopo aver inviato, se l'utente aggiorna per visualizzare il messaggio appare la richiesta di ri-inviare i moduli e se l'utente accetta i dati vengono inviati una seconda volta. Come posso rimediare anche a questo pasticcio?



    Grazie in anticipo.

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova con unset
    un'altra cosa if($variabile==TRUE) non ha molto senso puoi direttamente scrivere if($variabile)

    Codice PHP:
    <?php

    include ('configurazione.php'); //per l'accesso al db

    function scrivi(){?>

      <table border="1">

      <?php

        $sql 
    'select * from tabella_form order by data desc,time desc';

        
    $res mysql_query($sql);

        while(
    $row mysql_fetch_array($res)){

        
    ?>

          <tr>

            <td><?php print $row["id"]; ?></td>

            <td><?php print $row["titolo"]; ?></td>

          </tr>

        <?php

        
    }

        
    mysql_free_result($res);

      
    ?>

      </table>

    <?php

    }

    ?>

    <body>

        <form action='' method='POST'>

          [b]Titolo:[/b]


          <textarea name='titolo'></textarea>


          [b]Testo[/b]


          <textarea name='testo'></textarea>


          <input type='submit' value='Invia' name="invia">


        </form>

        <?php scrivi(); ?>

    </body>

    <?php

      
    if (isset($_POST["invia"])) {

        
    $titolo mysql_escape_string($_POST['titolo']);

        
    $testo mysql_escape_string($_POST['testo']);

        if ( 
    $titolo && $testo )  {

          
    $data=date("y-m-d");

          
    $time=date("H:i:s");

          
    mysql_query("INSERT INTO tabella_form (id , titolo , testo, data, time) VALUES ('','$titolo', '$testo','$data','$time')") OR DIE(mysql_error());

          
    //scrivi();
        
    unset($_POST);

        } else {

          echo 
    "Tutti i campi sono obbligatori!!";

        }

    }

    ?>

  3. #3
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    nulla. anche con unset($_POST); il risultato è lo stesso: quando aggiorno richiede di inviare i moduli e se acconsento ne scrive due.

    Il massimo sarebbe se lo scrive sul momento

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Originariamente inviato da unit1
    Il massimo sarebbe se lo scrive sul momento
    che vuol dire?

  5. #5
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    Scusa, mi sono espresso male:

    lo script scrive nel documento una tabella con il contenuto del db. Sarebbe bello se quando viene immesso un valore nel db tramite la form questa tabella si aggiornasse in tempo reale.

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova a leggere questo articolo

    http://www.w3schools.com/PHP/php_ajax_database.asp

  7. #7
    Utente di HTML.it L'avatar di unit1
    Registrato dal
    Feb 2004
    Messaggi
    354
    Perfetto è esattamente quello che cercavo e il sito che mi hai postato è molto interessante.

    Grazie 1000 e buone vacanze di natale.

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.