[PHP] Strano comportamento Form

[email protected]

Utente Attivo
9 Mag 2015
126
2
18
Ciao a tutti,

mi sto arrovellando dietro un tentativo di creazione pagina per inserimento dati tramite Form.

a seguire vi posto il codice, il problema e' che nella prima , versione che vi riporto quella senza l'header(location: form.php) , una volta compilati i campi e cliccato sul pulsante inserisci. L'utima "riga" compilata verrà reinserita N volte , ad ogni click per refreshare la pagina.

Nella seconda versione , aggiungendo l' header .... il problema degli inserimenti multipli cessa......ma i dati inseriti nell'ultima compilazione del form non vengono visualizzati, nel db viene creato correttamente il record ma ...lato visualizzazione nulla compare fino all'inserimento di un nuovo record.

In pratica si vede solo fino al penultimo.

Mi dareste una mano ????????

P.S: sono un principiantissimo....non mi bacchettate troppo ;-)

Prima versione.... senza header

PHP:
<?php
ob_start();//questa serve in quanto si usa la funzione header dopo un outpt html
session_start();
//.....
?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">

<html>
<link type="text/css" rel="stylesheet" media="all" href="ri.css"/>
<head>
    <title>Registro</title>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="HAPedit 3.0">
</head>

<body>
<div id="container">
<div class="riepilogo">
<div style="
        padding-top: 100px;
        padding-right: 0px;
        padding-bottom: 110px;
      ">

  <table>

 
<?php


$HOST = 'localhost';
 $USER = 'web1105';
 $PASSWORD = '.........';
$connessione = mysql_connect("$HOST","$USER","$PASSWORD");//database connection

mysql_select_db("my_web1105");
$sqlaperti = "SELECT COUNT(stato) FROM `Registro` WHERE stato = \"Aperto\"";
    $sqlAp = mysql_query($sqlaperti);
    list($aperti) = mysql_fetch_array($sqlAp);

$sqlchiusi = "SELECT COUNT(stato) FROM `Registro` WHERE stato = \"Chiuso\"";
    $sqlCh = mysql_query($sqlchiusi);
    list($chiusi) = mysql_fetch_array($sqlCh);

$sqlincorso = "SELECT COUNT(stato) FROM `Registro` WHERE stato = \"In corso\"";
$sqlIc = mysql_query($sqlincorso);
    list($incorso) = mysql_fetch_array($sqlIc);

$sqlannullati = "SELECT COUNT(stato) FROM `Registro` WHERE stato = \"Annullato\"";
    $sqlAn = mysql_query($sqlannullati);
    list($annullati) = mysql_fetch_array($sqlAn);

$sqltotali = "SELECT COUNT(*) FROM `Registro`";
    $sqlTo = mysql_query($sqltotali);
    list($totali) = mysql_fetch_array($sqlTo);


echo "<tr>
          <td class='lblstati'>".APERTI.
              "</td>".
     "<td class='numaperti'>"."$aperti".
          "</td>
     </tr>".
    "<tr>
        <td class='lblstati'>".CHIUSI.
          "</td>".
        "<td class='numchiusi'>".$chiusi.
          "</td>
    </tr>".
    "<tr>
        <td class='lblstati'>".INCORSO.
              "</td>".
        "<td class='numincorso'>".$incorso.
          "</td>
    </tr>".
    "<tr>
        <td class'lblstati'>".ANNULLATI.
          "</td>".
        "<td class='numannullati'>".$annullati.
          "</td>
    </tr>".
    "<tr>
        <td class='lblstati'>".TOTALI.
          "</td>".
        "<td class='numtotali'>".$totali.
          "</td>
    </tr>";
?>

 </table>
</div>

<div style="
     padding-left: 20px;
     padding-right: 0px;
     height: 0px;
     widht: 0px;
     ">
   <form method="post" runat="server" action="<?php echo $_SERVER['PHP_SELF']; ?>" autocomplete="on">
    <table class="table" align="center">
      <tr>
        <td align="center" colspan="8" class="registro"><h1>REGISTRO 2017</h1></td>
    </tr>

      <tr class="lbl">
         <td class="lbl"; align="center">DATA</td>
       </td>
     <td class="lbl"; align="center">RICHIEDENTE
       </td>
     <td class="lbl"; align="center">CATEGORIA
       </td>
    
         <td class="lbl"; align="center">STATO
       </td>
     </tr>
      <tr>  
         <td> <input type="text" id="data"  name="data" value="" size="10" autocomplete="on">
       </td>
     <td> <input type="text" id="rich"  name="rich" value="" size="15" autocomplete="on">
       </td>
    
td> <input type="text" id="rcat"  name="cat" value="" size="15" autocomplete="on">
       </td>
   
         <td> <select id="stato"  name="stato" value="">
        <option></option>
        <option>Aperto</option>
        <option>Chiuso</option>
        <option>In corso</option>
        <option>Annullato</option>
          </select>
       </td>
    
       <tr>
         <td class="lbl"; align="center"; colspan="8">DESCRIZIONE
       </td>
     </tr>
       <tr>
     <td colspan="8"> <input type="text" class="desc" id="desc"  name="desc" value="" size="137" autocomplete="on">
       </td>
     </tr>
       <tr>
     <td align="center"; colspan="8"><input type="submit" name="inserisci" value="Inserisci"></td>
     </tr>
   </table>
  </form>
<?php

if(isset($_POST['inserisci'])){
    header("Cache-Control: no-cache"); //dovrebbero vuotare la cache
    header("Expires: -1");

   
    //codice d'invio dati al db.

$HOST = 'localhost';
$USER = 'web1105';
$PASSWORD = '...................';
$connessione=mysql_connect("$HOST","$USER","$PASSWORD");//database connection

mysql_select_db("my_web1105");

$id= 'NULL';
$data = $_POST['data'];

$dataUs = explode("/", $data);
$datadb = $dataUs[2]. "-". $dataUs[1]. "-" .$dataUs[0];

$richiedente = $_POST['rich'];

$categoria = $_POST['cat'];

$stato = $_POST['stato'];

$descrizione = $_POST['desc'];

//--VERIFICA CHE I CAMPI NON SIANO VUOTI

if (($data=="") || ($richiedente==""))
//
    {
        echo "Non hai inserito la data";
//      
        exit;
    }
//
//
$toinsert = "INSERT INTO `Registro`
        (id, data, richiedente,  categoria,  descrizione, stato,)
            VALUES
            ('$id',
              '$datadb',
             '$richiedente',
             '$categoria',    
             '$descrizione',
             '$stato'),
        

//declare in the order variable
$res = mysql_query($toinsert);
if($res){
   

        echo("INSERITO");

//        $messaggio = urlencode("Inserimento effettuato con successo");
//        header("location: form.php");
   
    }

else
    {
    echo("ERRORE '$id',
              '$data',
             '$richiedente',
           
             '$categoria',
         
             '$descrizione',
             '$stato'),
           

mysql_close($connessione);
}
}

?>


</div>
</div>


<div class=�wide�> </div>


<div id="provaprova"
     style="    
     padding-top: 0px;
     width: 123%;
     padding-right: 0px;
     padding-left: 5px;
     height: 0px;
     height: 800px;overflow-y: scroll; border:0px solid black;
   ">
<hr>
<br>
<br>

<table class="tableregistro" border=1 cellspacing=0 cellpadding=3>
<?php


$HOST = 'localhost';
 $USER = 'web1105';
 $PASSWORD = '...';
$connessione = mysql_connect("$HOST","$USER","$PASSWORD");//database connection

mysql_select_db("my_web1105");


$sql = "SELECT * FROM `Registro`\n"
    . "ORDER BY `Registro`.`id` DESC";
$result = mysql_query($sql);

$dataoraRelativi = mysql_fetch_array($result);
//$dataRel = $dataoraRelativi['data'];



while($r = mysql_fetch_array($result)) {

$d = explode("-", $r['data']);
$dataRelIta = $d[2]. "/" .$d[1] . "/" .$d[0];


if ($r['stato'] == "Chiuso")

echo "<tr bgcolor='#98FF98'><td>".$r['id']."</td>".
     "<td style='width: 80px;'>".$dataRelIta."</td>".
     "<td>".$r['richiedente']."</td>".
     "<td style='width: 400px;'>".$r['descrizione']."</td>".
     "<td>".$r['stato']."</td>".
    </tr>";

else

if ($r['stato'] == "Aperto")


echo "<tr bgcolor='#FF8C69'><td>".$r['id']."</td>".
     "<td style='width: 80px;'>".$dataRelIta."</td>".
     "<td>".$r['richiedente']."</td>".
     "<td>".$r['categoria']."</td>".
     "<td style='width: 400px;'>".$r['descrizione']."</td>".
     "<td>".$r['stato']."</td>".
    </tr>";

else

if ($r['stato'] == "Annullato")


echo "<tr bgcolor='#5F5F5F' style='color:#FFFF00'><td>".$r['id']."</td>".
    "<td style='width: 80px;'>".$dataRelIta."</td>".
     "<td>".$r['richiedente']."</td>".
     "<td>".$r['categoria']."</td>".
     "<td style='width: 400px;'>".$r['descrizione']."</td>".
     "<td>".$r['stato']."</td>".
    </tr>";

else

if ($r['stato'] == "In corso")


echo "<tr bgcolor='#FFFF66'><td>".$r['id']."</td>".
    "<td style='width: 80px;'>".$dataRelIta."</td>".
     "<td>".$r['richiedente']."</td>".
     "<td>".$r['categoria']."</td>".
     "<td style='width: 400px;'>".$r['descrizione']."</td>".
     "<td>".$r['stato']."</td>".
      </tr>";

else

echo "<tr><td>".$r['id']."</td>".
     "<td>".$r['data']."</td>".
     "<td>".$r['richiedente']."</td>".
     "<td>".$r['categoria']."</td>".
     "<td style='width: 400px;'>".$r['descrizione']."</td>".
     "<td>".$r['stato']."</td>".

    </tr>";
}

mysql_close($connessione);
?>
</table>
</div>
 </body>
</html>

<?php
ob_end_flush();//chiude ob_start
?>

Non posso incollare la versione con header perchè supero il numero di righe che posso scrivere, comunque pasta decommentare la riga 210 del file sopra riportato
 
Ultima modifica:

mr.x

Utente Attivo
9 Apr 2016
252
25
28
Sposta la parte HTML, la struttura del form,
dopo le istruzioni PHP di recupero e inserimento in DB e dovrebbe andare .


Inviato dal mio CW-Vi7 utilizzando Tapatalk
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
E Strano comportamento di 'use' in php PHP 2
S Comportamento strano php/html... PHP 10
moustache text box + post php con IE si comporta in modo strano PHP 15
webmachine [PHP] [JAVASCRIPT] Form strano in HTML PHP PHP 1
E strano errore php/mysql PHP 8
K Strano errore in una query mysql da php PHP 5
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
E Inviare variabile a PHP da ciclo in JS Javascript 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
A invio massivo dati a file php Javascript 4
Z MySql injection PHP PHP 1
V PHP form intersecate PHP 0
I [Offro][Retribuito] Programmatore Php Offerte e Richieste di Lavoro e/o Collaborazione 0
P Funzione jQuery Ajax invio file a php jQuery 1
C Dopo chiusura del tag php la stringa html va a capo PHP 1
E Transaction php PHP 11
B ciclare file xml con PHP PHP 1
L Estrazione dati php Database 6
A Aiuto per pagina php PHP 0
E Php select option e ajax PHP 23
I Aiuto php Dependent Lookup PHP 0
T arretramento versione PHP... PHP 3
D problema php mysql PHP 1
D problema php mysql PHP 1
E Barra di avanzamento codice PHP PHP 4
G creazione menu a tendina e invio a pagina php PHP 1
A inserire variabile php colore in div html PHP 2
Z Video protetto con PHP PHP 0
Z Problema di sincronizzazione PAYPAL con PHP PHP 1
I Eecuzione di javascript in ciclo foreach php. PHP 7

Discussioni simili