Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107

    Form registrazione newsletter

    Salve a tutti sto impazzendo da giorni per questo form, so che dovrebbe essere facile, ma nno capisco cosa sbaglio.
    codice:
    <?php
    include ("db_config.php");
    echo "<h1>Registati sulla newsletter</h1>";
    
    
    // dichiaro le variabili
    $submit = $_POST['submit'];
    $nome = strip_tags ($_POST['nome']);
    $email = strip_tags($_POST['email']);
    $data = date ("Y-m-d");		
    
    
    
    if ($submit)
    {
    
    		
    			//apro il database
    		$connection = mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database");
    		$db = mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse
    
    		// controllo la presenza dell'email sul database
    		$sql_email_check =  mysql_query("SELECT * FROM utenti WHERE email='$email'") or die('Cannot Execute:'. mysql_error());
    		$email_check = mysql_num_rows($sql_email_check);
    		if($email_check > 0)
    
    		{
           	}    
            else
    		echo "
    Email già presente sul database"."
    <a href=\"javascript:history.back()\">
    			ritenta</a>";
    		
    		
    		//apro il database
    		$connection = mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database");
    		$db = mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse
    			
    			//eseguo la query
    			$query = mysql_query("INSERT INTO utenti VALUES ('','$nome','$email','$data')");
    			$query = mysql_query($sql);
    			mysql_close() or die ("Errore 5(segnala per favore quest'errore all'admin"); 
    			echo "Registrazione avvenuta con successo!";
    }
    
    ?>
    
    <html>
    <body>
    
    
    
    <table width="434" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="434" bgcolor="#CCCCCC"><form action="Register4.php" method="post" >
          
    
     Nome:
            <input type="text" name="nome" id="nome" />
          </p>
          
    
     E-Mail:
            <input type="text" name="email" id="email" />
          </p>
          
    
    
            <input type="submit" name="submit" id="submit" value="Registrati" />
          </p>
        </form></td>
      </tr>
    </table>
    </p>
    </body>
    </html>
    Il problema è che sembra saltare il controllo, anzi i controlli perchè ovviamente ce ne saranno altri, comunque mi inserisce lo stesso il dato anche se è già presente nel database
    Potete aiutarmi non so più cosa fare!!!
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520

    Re: Form registrazione newsletter

    il controllo è un po' confuso secondo me dovrebbe essere così
    Codice PHP:
    if ($submit)
    {

            
                
    //apro il database
            
    $connection mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database");
            
    $db mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse

            // controllo la presenza dell'email sul database
            
    $sql_email_check =  mysql_query("SELECT * FROM utenti WHERE email='$email'") or die('Cannot Execute:'mysql_error());
            
    $email_check mysql_num_rows($sql_email_check);
            if(
    $email_check 0)

            {
            echo 
    "
    Email già presente sul database"
    ."
    <a href=\"java-script:history.back()\">
                ritenta</a>"
    ;
            }
                               else
                               {
            
            
    //apro il database
            
    $connection mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database");
            
    $db mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse
                
                //eseguo la query
                
    $query mysql_query("INSERT INTO utenti VALUES ('','$nome','$email','$data')");
                
    $query mysql_query($sql);
                
    mysql_close() or die ("Errore 5(segnala per favore quest'errore all'admin"); 
                echo 
    "Registrazione avvenuta con successo!";
                                }


  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107
    Grazie per l'immediata risposta ho fatto come dici te, ma niente non mi segnala la presenza dell'email sul database e me la registra comunque!!
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

  4. #4
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    intanto è inutile aprire due volte la connessione al db prima non me ne sono accorto
    poi prova a fare delle stampre di prova
    Codice PHP:
    if ($submit


             
                
    //apro il database 
            
    $connection mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database"); 
            
    $db mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse 

            // controllo la presenza dell'email sul database 
            
    $sql_email_check =  mysql_query("SELECT * FROM utenti WHERE email='$email'") or die('Cannot Execute:'mysql_error()); 
            
    $email_check mysql_num_rows($sql_email_check); 
            echo 
    "STAMPA DI PROVA QUERY = SELECT * FROM utenti WHERE email='$email'
    "
    ;
            if(
    $email_check 0

            { 
            echo 
    "
    Email già presente sul database"
    ."
    <a href=\"java-script:history.back()\"> 
                ritenta</a>"

            } 
            else 
            { 
                          
                
    //eseguo la query 
                
    $query mysql_query("INSERT INTO utenti VALUES ('','$nome','$email','$data')"); 
                
    $query mysql_query($sql); 
                
    mysql_close() or die ("Errore 5(segnala per favore quest'errore all'admin");  
                echo 
    "Registrazione avvenuta con successo!"
             } 


  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107
    STAMPA DI PROVA QUERY = SELECT * FROM utenti WHERE email='domenicoanello@yahoo.it' Registrazione avvenuta con successo!
    questo è quello che mi stampa a video!!!
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

  6. #6
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    prova anche così non so che dirti, a me sembra molto strano anche se mysql_num_rows non la uso mai

    Codice PHP:
    if ($submit)  
    {  

              
                
    //apro il database  
            
    $connection mysql_connect ("localhost","root","") or die ("Non puoi conetterti al database");  
            
    $db mysql_select_db("dbnews",$connection) or die ("non puoi selezionare il database"); //seleziono il databse  

            // controllo la presenza dell'email sul database  
            
    $sql_email_check =  mysql_query("SELECT * FROM utenti WHERE email='$email'") or die('Cannot Execute:'mysql_error());  
           
    // $email_check = mysql_num_rows($sql_email_check);  
           // echo "STAMPA DI PROVA QUERY = SELECT * FROM utenti WHERE email='$email'
    "; 
            if(mysql_fetch_array(
    $sql_email_check))  

            {  
            echo "
    Email già presente sul database"."
    <a href=\"java-script:history.back()\">  
                ritenta</a>"
    ;  
            }  
            else  
            {  
                           
                
    //eseguo la query  
                
    $query mysql_query("INSERT INTO utenti VALUES ('','$nome','$email','$data')");  
                
    $query mysql_query($sql);  
                
    mysql_close() or die ("Errore 5(segnala per favore quest'errore all'admin");   
                echo 
    "Registrazione avvenuta con successo!";  
             }  


  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107
    Uff nienteee non fa il controllo!!! non so più cosa fare!!!
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

  8. #8
    ciao,
    per fare un check prova a usare questa struttura di esempio:

    Codice PHP:
    $check_email=mysql_query("SELECT * FROM tabella where email='$email'");



        
    $get_email=mysql_fetch_array($check_email); 

        

        
    $existemail=$get_email['email']; 
        
        



        if(
    $email===$existemail)  { 
        
        
        
        echo 
    "[b]<h3>Email gia presente</h3>[/b]
    [b]Ti preghiamo di inserire una nuova email. Grazie.[/b]"

    anche se personalmente sono passato ad ajax + php, questa soluzione dovrebbe risolvere il tuo problema.

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107
    Adesso con questa modifica non mi inserisce nesun dato sul database e ovviamente non mi stampa nessun messaggio al video!! suggerimenti?
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2004
    Messaggi
    107
    up!!
    Non Puo' Piovere Per Sempre
    ---------------------------
    JIM MORRISON

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.