doppio problema nella memorizzazione dati

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ci risiamo,

Ogni volta che creo un form mi si duplicano i dati all'interno del db. ossia nome, cognome, username vengono raddoppiati e l'ultimo in questo caso username non me lo memorizza dove sta l'errore ???? MI potreste aiutare per favore sono disperato. Questo è la procedura:

PHP:
<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    
    
    <style type="text/css">
 #intestazione{
 width:100%;
 height:100px;
 position:absolute;
 font-family: Comic Sans MS;
 top:0px;
 left:0px;
 text-align: center;
}
 #divhr {
    
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}
 
</style>
    <body>
        
        <div id = "intestazione">
            <h1>Gestione iscrizione prova</h1>
            <hr>
            </div>
            
        <div id = divhr>    

            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            
Nome: <input type="text" name="nome"  maxlength="80" size ="82">

<p> <p>

Cognome: <input type="text" name="cognome"  maxlength="80" size ="82">

</p></p>
<p> <p>

Username: <input type="text" name="username"  maxlength="80" size ="82">

</p></p>
     
            <div align ="center">
            <input type="submit" name="reg" value="Invio Iscrizione" />
            </div>
            
                </div>
        
            </form>
       
        
        <?php
        require_once("connetti.php");
        require_once("data.php");
        echo"</hr)";

$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$username = $_POST['username'];

$query=("INSERT INTO provadati(nome, cognome, username) VALUES('$nome','$cognome','$uaername')");

$q_i=mysql_query($query);

if(q_i($query)){
        echo "Dati inseriti correttamente";
    }else{
        echo "c'è stato un errore, riprova";
    } 
?>

    </body>
</html>

Spero di ricevere aiuti e suggerimenti grazie.
 
paperinik prima di postare post su post a caso controlla bene quello che scrivi.

PHP:
      echo"</hr)";
diventa
PHP:
      echo "</hr>";

e non capisco perche lo stampi con il php

PHP:
$query=("INSERT INTO provadati(nome, cognome, username) VALUES('$nome','$cognome','$uaername')");
diventa
PHP:
$query=("INSERT INTO provadati (nome, cognome, username) VALUES('$nome','$cognome','$username')");

e poi come ti ho gia scritto non sai ancora l'html base quindi prima di fare queste cose riguardatela.
i css non vanno inseriti tra i tag </head> e <body> ma dentro o head o body anche se hanno inventato i fogli di stile per separare il tutto.
 
Ciao Sabo,


Quelli sono errori di distrazione in quanto. Comunque perchè su tre campi men emeorizza 2 e me li duplica ???? Era quetsa la domanda principale o postato il listato per correttezza.
 
se guardavi attentamente la mia modifica ti saresti accorto che hai sbagliato a scrivere $username e quindi adesso te ne salva 3
 
Cavolo,

L'ho riguardata duecento volte prima di postare proprio pe rnon cadere in queste stupidagini. Adesso mi è arrivata all'occhio. Vabbè come non detto credo che se non ci sia nient'altro da fare si può chiudere il post.
 
Non sei stat assolutamente acido sono errori ricorrenti che ci casco ogni volta. Ormai le regole le conosco più o meno. unavolta imparato ad andare in bicicletta non ci si dimentica più. Sempre a patto di controllare che ci sia il sellino :P
 
Ciao Sabo,

Richiedo la tua attenzione perdonami. Ho modificato l'errore di digitura dello username ed effettivamente ora memorizza più del dovuto nel senso che inserisco il primo dato e ne vengono memorizzati 2. Il primo vuoto e il secondo pieno come mai ???? E poi non mi da assolutamente un messaggio di avviso se sono stati inseriti o se ci sono stati degli errori nell'inserimento. Questo è di nuovo il listato completo.

database: prova --> provadati: qua riportatat di seguito:




PHP:
create table provadati (
	
idnome 			INT(11) NOT NULL AUTO_INCREMENT,
nome 		       VARCHAR(80) NOT NULL,
cognome		       VARCHAR(80) NOT NULL,
username	              VARCHAR(80) NOT NULL,
    
PRIMARY KEY (idnome)
);
provainsdati.php

PHP:
!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    
    <style type="text/css">
 #intestazione{
 width:100%;
 height:100px;
 position:absolute;
 font-family: Comic Sans MS;
 top:0px;
 left:0px;
 text-align: center;
}
 #divhr {
    
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}
 
</style>
</head>
    <body>
        
        <div id = "intestazione">
            <h1>Gestione iscrizione prova</h1>
            <hr>
            </div>
            
        <div id = divhr>    

            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            
Nome: <input type="text" name="nome"  maxlength="80" size ="82">

<p> <p>

Cognome: <input type="text" name="cognome"  maxlength="80" size ="82">

</p></p>
<p> <p>

Username: <input type="text" name="username"  maxlength="80" size ="82">

</p></p>
     
            <div align ="center">
            <input type="submit" name="reg" value="Invio Iscrizione" />
            </div>
            
                </div>
        
            </form>
       
        
        <?php
        require_once("connetti.php");
        require_once("data.php");
        echo"</hr)";

$idnome = $_POST['idnome'];
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$username = $_POST['username'];

$query=("INSERT INTO provadati(nome, cognome, username) VALUES('$nome','$cognome','$username')");

$q_i=mysql_query($query);

if(q_i($query)){
        echo "Dati inseriti correttamente";
    }else{
        echo "c'è stato un errore, riprova";
    } 
?>

    </body>
</html>

Ho creato l'idnome perchè mi serve che poi devo fare la ricerca tramite l'id che è composto da un numero singlo nell'etichetta che vado a stampare a codice a barre (sono delle prove che sto facendo) per vedere se la mia idea può funzionare.
 
$q_i=mysql_query($query);

if($q_i){
echo "Dati inseriti correttamente";
}else{
echo "c'è stato un errore, riprova";
 
Ciao Sabo,

Scusami se ti disturbo. Ma non ho capito il motivo per cui si duplica due record alla volta. Dove ho sbagliato questa volta ????

Questo è il listato:

insdati.php

PHP:
<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    
    <style type="text/css">
 #intestazione{
 width:100%;
 height:100px;
 position:absolute;
 font-family: Comic Sans MS;
 top:0px;
 left:0px;
 text-align: center;
}
 #divhr {
    
position:absolute;
top: 100px;    
font-family:Comic Sans MS;
}
 
</style>
</head>
    <body>
        
        <div id = "intestazione">
            <h1>Gestione iscrizione prova</h1>
            <hr>
            </div>
            
        <div id = divhr>    

            <form method="POST" action="<?php $_SERVER['PHP_SELF'] ?>">
            
Nome: <input type="text" name="nome"  maxlength="80" size ="82">

<p> <p>

Cognome: <input type="text" name="cognome"  maxlength="80" size ="82">

</p></p>
<p> <p>

Username: <input type="text" name="username"  maxlength="80" size ="82">

</p></p>
     
            <div align ="center">
            <input type="submit" name="reg" value="Invio Iscrizione" />
            </div>
            
                </div>
        
            </form>
       
        
        <?php
        require_once("connetti.php");
        require_once("data.php");
        echo"</hr)";

$idnome = $_POST['idnome'];
$nome = $_POST['nome'];
$cognome = $_POST['cognome'];
$username = $_POST['username'];

//$query=("INSERT INTO provadati(nome, cognome, username) VALUES('$nome','$cognome','$username')");

if(!empty($_POST)){
            
        $query="INSERT INTO prova (nome, cognome, username) VALUES ('".$nome."','".$cognome."','".$username."')";
        @mysql_query($query) or die("Errore query Database riga: ".__LINE__  . mysql_error());
        echo '<div id="risultato">Dati inseriti correttamente nel db</div>';
        }
?>

    </body>
</html>

Spero che mi puoi aiutare a capire grazie.
 

Discussioni simili