Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1

    Impossibile connettersi al Database

    Salve ragazzi, sono alle prese con il mio primo script php.
    La questione è abbastanza urgente, dato che si tratta di un caso di studi e devo completarlo in fretta.
    Ho un problemone.
    Ho creato il database con phpmyadmin e dall'interfaccia sembra tutto corretto, tuttavia da php non riesco ad accedervi.
    L'errore è il seguente:

    codice:
    Warning: mysql_connect() expects parameter 2 to be string, resource given in /opt/lampp/htdocs/eTakeAway/addUser.php on line 38
    Impossibile connettersi al database
    Ecco i codici:
    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://w3.org/1999/xhtml">
    <head>
      <title>Form di registrazione eTakeAway!</title>
    
      <link rel = "stylesheet" type = "text/css" href = "css/styleReg.css" />
    
    <script type="text/javascript">
     <!--
       function checkForms(){
       var email = document.getElementById('email').value;
       var emailConfirm = document.getElementById('emailConfirm').value;
       var nome = document.getElementById('nome').value;
       var surname = document.getElementById('surname').value;
       var pass = document.getElementById('pass').value;
       var passwordConfirm = document.getElementById('passwordConfirm').value;
       var condition = document.getElementById('condition').checked;
       var telephone = document.getElementById('telephone').value;
       var cell = document.getElementById('cell').value;
       var email_reg_exp = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
       if (!email_reg_exp.test(email) || !email_reg_exp.test(emailConfirm) || emailConfirm == "undefined" || emailConfirm == "" ||
           email == "undefined" || email == "") {
       alert("Indirizzo email non valido!");
       document.getElementById('email').select();
       return false;
       } else if (email != emailConfirm) {
         alert("L'indirizzo email non coincide!");
         document.getElementById('email').focus();
         return false;
         } else if (pass.length < 6 || pass.length > 20) {
           alert("La password deve essere di almeno 6 caratteri alfanumerici e di massimo 20!");
           document.getElementById('pass').focus();
           return false;
           }else if (pass != passwordConfirm) {
            alert("La password non coincide!");
            document.getElementById('passwordConfirm').value = "";
            document.getElementById('passwordConfirm').focus();
            return false;
            } else if (nome == "" || nome == "undefined") {
              alert("L'inserire nome!");
              document.getElementById('nome').focus();
              return false;
              } else if (surname == "" || surname == "undefined") {
                alert("L'inserire cognome!");
                document.getElementById('surname').focus();
                return false;
                } else if (telephone == "" || telephone == "undefined") {
                  alert("L'inserire recapito telefonico!");
                  document.getElementById('telephone').focus();
                  return false;
                  }else if (cell == "" || cell == "undefined") {
                   alert("L'inserire recapito telefonico(cellulare)!");
                  document.getElementById('cell').focus();
                  return false;
                  }else if (!condition) {
                   alert("DEVI ACCETTARE LE CONDIZIONI PER ISCRIVERTI!");
                   document.getElementById('condition').focus();
                   return false;
                   }
    }
    
    
     //-->
    </script>
    
    </head>
    
    
    <body>
    
    <form id = "register" method = "post"  action = "addUser.php">
       <table border = "0" align = "center">
         <thead>
          <th rowspan = "1">
            
    
    <label for = "email">Inserisci eMail di registrazione: </label>
            <div class="input-reg"><input id = "email" name = "email" type="text" />
            </div></p>
            
    
    <label for = "pass">Scegli una Password: </label>
            <div class="input-reg"><input id = "pass" name="pass"  type="password" /> 
            </div></p>
            
    
    <label for = "nome">Nome: </label>
            <div class="input-reg"><input id = "nome" name = "nome" type="text" />
            </div> </p>
            
    
    <label for = "telephone">Recapito telefonico: </label>
            <div class="input-reg"><input id = "telephone" name = "telephone" type="text" />
            </div> </p>
           </th>
           <th rowspan = "1">
            
    
    <label for = "emailConfirm">Conferma eMail: </label>
            <div class="input-reg"><input id = "emailConfirm" name = "emailConfirm" type="text" />
            </div></p> 
            
    
    <label for = "passwordConfirm">Conferma Password: </label>
            <div class="input-reg"><input id = "passwordConfirm" name="passwordConfirm"  type="password" /> 
            </div> </p>  
            
    
    <label for = "surname">Cognome: </label>
            <div class="input-reg"><input id = "surname" name = "surname" type="text" />
            </div></p>
            <label for = "cell">Recapito telefonico(cellulare): </label>
            
    
    <div class="input-reg"><input id = "cell" name = "cell" type="text" />
            </div></p>
           </th>
            <div>
           </thead>
          </table>
           <div class="input-radio">
            
    
    
              
    
     Dove sei venuto a conoscenza del nostro servizio web? </p>
                 <label for = "howtosite" >In un nosto punto vendita </label>
                 <input id = "howtosite" name = "howtosite" value = "pvendita" type = "radio">
                 <label for = "howtosite">Pubblicita' </label>
                 <input id = "howtosite" name = "howtosite" value = "publicity" type = "radio">  
                 <label for = "howtosite">Nel Web </label>
                 <input id = "howtosite" name = "howtosite" value = "web" type = "radio">
                 <label for = "howtosite">Da un amico </label>
                 <input id = "howtosite" name = "howtosite" value = "friend" type = "radio">
                 <label for = "howtosite">Altro </label>
                 <input id = "howtosite" name = "howtosite" value = "other" type = "radio">  
            </p>
            </div>
            <div><label for = "condition"> In base alla legge 675/96 sulla tutela dei dati personali autorizzo il trattamento degli stessi per finalita' informative e/o pubblicitarie all'azienda </label>
            <input id = "condition" name = "condition" value = "Accept" type = "checkbox"/>
            </div>
            <div align = "center"><button type = "submit" id = "submit" value = "Register" onclick = "checkForms()">Registrati</button>
            </div>  
        </form>
    </body>
    
    </html>
    Script php:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://w3.org/1999/xhtml">
    <head>
    
      <title>Conferma Registrazione.</title>
    
    
    </head>
    
    
    <body>
    
    <?php
    
    extract( $_POST );
    
    $email = $_REQUEST["email"];
    $nome = $_REQUEST["nome"];
    $surname = $_REQUEST["surname"];
    $telephone = $_REQUEST["telephone"];
    $cell = $_REQUEST["cell"];
    $howtosite = $_REQUEST["howtosite"];
    
    // Costruzione delle query
    $query = "INSERT INTO CLIENTI ".
             "(email,pass)".
             "VALUES ('$email','$pass')";
    
    $query = "INSERT INTO DettClienti ".
             "(email,nome,surname,telephone,cell,howtosite)".
             "VALUES ('$email','$nome','$surname','$telephone','$cell','$howtosite')";
    
    //Connessione a MySql
    if ( !($database = mysql_connect("localhost","root","") ) )
    die( "Impossibile connettersi a MySql" );
    
    //Connessione al Database
    if ( !($database = mysql_connect("eTakeAway", $database) ) )
    die( "Impossibile connettersi al database" );
    
    //Esecuzione della query
    if ( !($result = mysql_query($query,$database) ) ) {
    print ( "Impossibile eseguire la query 
    " );
    die( mysql_error() );
    }
    
    ?>
    
    </body>
    
    </html>

  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2010
    Messaggi
    719
    //Connessione a MySql
    if ( !($database = mysql_connect("localhost","root","") ) )
    die( "Impossibile connettersi a MySql" );


    E la password?

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    a parte che al posto del secondo mysql_connect FORSE ci andrebbe mysql_select_db.. dico forse perchè a parte quello fai anche 2 volte la dichiarazione di $query.. questo significa che se anche ti funzionasse lo script, solo la seconda verrebbe eseguita.. poi non dichiari $pass da nessuna parte, sempre che hai fatto copia e incolla di TUTTO il tuo codice..
    vediti questo..
    http://php.net/manual/en/function.mysql-select-db.php

  4. #4
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    Originariamente inviato da simo22
    //Connessione a MySql
    if ( !($database = mysql_connect("localhost","root","") ) )
    die( "Impossibile connettersi a MySql" );

    E la password?
    in locale di default è così.. su easyphp anche io lo lascio senza password..

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ma soprattutto, quante volte ti vuoi connettere al MySQL?
    Codice PHP:
    //Connessione a MySql
    if ( !($database mysql_connect("localhost","root","") ) )
    die( 
    "Impossibile connettersi a MySql" );

    //Connessione al Database => Questo non è così
    if ( !($database mysql_connect("eTakeAway"$database) ) )
    die( 
    "Impossibile connettersi al database" );


    //Ma così
    if ( !($database_connect mysql_select_db("eTakeAway"$database) ) )
    die( 
    "Impossibile connettersi al database" ); 
    EDIT: troppo lento...

  6. #6
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    EDIT: troppo lento...

  7. #7
    Questo passaggio non l'ho capito!!!
    poi non dichiari $pass
    Waho che velocità ragazzi...
    Allora, premetto che ho fatto una figuraccia, e me ne stò accorgendo ora...
    Per quanto riguarda la variabile, effettivamente me ne ero accorto, ma ormai avevo postato.
    Per quanto riguarda la password risulta vuota(in locale!)!

    Grazie mille ragazzi comunque ci sono ancora problemi.
    Innanzitutto ho modificato il codice, inserendo anche un controllo nel caso in cui ci sia già stata una registrazione con la stessa mail, resta il fatto che continua a non funzionare!

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
    <html xmlns="http://w3.org/1999/xhtml">
    <head>
    
      <title>Conferma Registrazione.</title>
    
    
    </head>
    
    
    <body>
    
    <?php
    
    extract( $_POST );
    
    $email = $_REQUEST["email"];
    $nome = $_REQUEST["nome"];
    $surname = $_REQUEST["surname"];
    $telephone = $_REQUEST["telephone"];
    $cell = $_REQUEST["cell"];
    $howtosite = $_REQUEST["howtosite"];
    
    // Costruzione delle query
    $query = "INSERT INTO CLIENTI ".
             "(email,pass)".
             "VALUES ('$email','$pass')";
    
    $query2 = "INSERT INTO DettClienti ".
             "(email,nome,surname,telephone,cell,howtosite)".
             "VALUES ('$email','$nome','$surname','$telephone','$cell','$howtosite')";
    
    $query3 = "SELECT * FROM CLIENTI WHERE email = $email";
    
    //Connessione a MySql
    if ( !($database = mysql_connect("localhost","root","") ) )
    die( "Impossibile connettersi a MySql" );
    
    //Connessione al Database
    if ( !($database = mysql_select_db("eTakeAway", $database) ) )
    die( "Impossibile connettersi al database".mysql_error() );
    
    //Controllo sulle email già registrate
    $select=mysql_query($query3) or die("Query fallita");
    if ((mysql_num_rows($select)==0)) // Il recordset è vuoto
    {
    //Esecuzione della query
    if ( !($result = mysql_query($query,$database) ) ) {
    print ( "Impossibile eseguire la query 
    " );
    die( mysql_error() );
    
    //Esecuzione della query
    if ( !($result = mysql_query2($query2,$database) ) ) {
    print ( "Impossibile eseguire la query 
    " );
    die( mysql_error() );
    }
    }
    
    ?>
    
    </body>
    
    </html>
    Errore:
    codice:
    Parse error: syntax error, unexpected $end in /opt/lampp/htdocs/eTakeAway/addUser.php on line 64
    Tra l'altro no dovrebbe esserci la riga 64

  8. #8
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    CERTO CHE NON C'E'!!! perchè manca un } e arriva alla fine del file che non la trova..
    in fondo quando hai
    //Esecuzione della query
    if ( !($result = mysql_query2($query2,$database) ) ) {
    print ( "Impossibile eseguire la query
    " );
    die( mysql_error() );
    }
    }

    aggiungici un }

    ..e vedi se funziona...

    su $pass:
    la prima query
    $query = "INSERT INTO CLIENTI ".
    "(email,pass)".
    "VALUES ('$email','$pass')";

    $pass non la dichiari sopra nelle REQUEST!!!

  9. #9
    Okkkkkk...Grazie....
    Ultima, forse cosetta.
    Come posso gestire la @ senza troppi problemi???
    Non mi fa fare la query a causa sua!
    codice:
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@hotmail.com' at line 1
    Una cosina un pò OT, ma sicuramente eviterò di scrivervi inutilmente per queste idiozie.
    Sono su linux, mi servirebbe un editor decente che mi faccia notare almeno queste piccolezze, insomma, come eclipse per Java...Esiste una cosa del genere???
    (non mi dite kompozer, perchè il codice risulta tutto grigio, senza nemmeno colorare i tag!!)

  10. #10
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,591
    ..un dettaglio proprio.. non è la @!!
    è PROPRIO TOPPATA LA QUERY!! non c'è nessun editor che ti salvi, è solo da farla bene..
    non so su quale è l'errore, però potresti fare meglio così:

    Codice PHP:
    $query "INSERT INTO CLIENTI ";
    $query .= "(email,pass) ";
    $query .=  " VALUES ('$email','$pass')"
    falle tutte così, col .=
    oppure semplicemente

    $query = "INSERT INTO CLIENTI (email,pass) VALUES ('$email','$pass')";

    o anche

    $query = "INSERT INTO CLIENTI
    (email,pass)
    VALUES ('$email','$pass')";

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.