doppio problema nella memorizzazione dati

paperinik4

Utente Attivo
29 Mag 2011
1.812
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.
 

Sabo

Nuovo Utente
17 Giu 2015
31
0
6
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.
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
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.
 

Sabo

Nuovo Utente
17 Giu 2015
31
0
6
se guardavi attentamente la mia modifica ti saresti accorto che hai sbagliato a scrivere $username e quindi adesso te ne salva 3
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
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.
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
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
 

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
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.
 

Sabo

Nuovo Utente
17 Giu 2015
31
0
6
$q_i=mysql_query($query);

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

paperinik4

Utente Attivo
29 Mag 2011
1.812
0
36
Roma
www.ricetteagogo.it
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.