Torna indietro   Hardware Upgrade Forum > Software > Programmazione

AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre
Abbiamo messo alla prova la nuova AORUS GeForce RTX 5080 INFINITY WOOD 16G, una delle interpretazioni più particolari della GPU NVIDIA Blackwell. Prestazioni, frequenze operative, temperature, consumi e margini di overclock sono stati confrontati con altre RTX 5080 custom e con la Founders Edition. Il design in legno è solo uno degli elementi distintivi di una scheda che punta a ritagliarsi uno spazio nella fascia più alta del mercato.
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla
Una ammiraglia elettrica, da sei o sette posti, con il comfort di viaggio come missione assoluta. Un'auto non per tutti, ma di cui ti innamori dopo pochi giorni, ecco com'è andata la nostra prova di lunga durata
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode
Hyper Mini LED con 2.304 zone, DisplayPort 2.1 e Dual Mode: 5K a 165 Hz oppure QHD a 330 Hz: LG propone un monitor da gioco ma dalla buona versatilità creativa, con prestazioni interessanti e un listino di 1.220 euro. Peccato l'alimentatore ingombrante
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-05-2010, 12:27   #1
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
[PHP] registrazione form su database

Ragazzi sono su piattaforma mac e non riesco a eseguire la query.
Devo utilizzare un database per un progetto all'università e stavo gestendo una registrazione e non riesco a inserire i dati, il codice prende input da una form e vanno a finire qui:

Codice:
<?PHP
// variabili di connessione
// nome server, nome utente,
// Password, nomedatabase, tabella
$ServerName = "localhost";
$UserName = "root";
$Password = "madara";
$DbName = "EP";
$tbl_name="studente";

// la connessione al database e alla tabella
$conn = mysql_connect($ServerName, $UserName, $Password) or die("CONNECTION NON RIUSCITA");
mysql_select_db($DbName, $conn);
$nome = $_GET["nome"];
$cognome = $_GET["cognome"];
$universita=$_GET['universita'];
$username = $_GET["username"];
$password = $_GET["password"];
$conferma=$_GET['conferma'];
$email = $_GET["email"];
$universita = $_GET["universita"];

//Verifico il valore di $nome;
 if(chkEmail($email)) {
    if( (!empty($password)) and (!empty($conferma)) ){
         if( $password!=$conferma ) echo"<center>le password non corrispondono : ricontrolla i campi password</center>"; 
         else{ 
                if( (empty($nome)) or (empty($cognome)) or (empty($username)) ) 
                    echo"<center>inserire tutti i campi è obbligatorio</center>";    
                else{
                       if( ($universita=="Salerno") or  ($universita=="Londra") ){
                           $MySql = "SELECT * FROM '.$tbl_name.' WHERE user_name='$username'";
                           $Result = mysql_query($MySql,$conn) or die("Comunicazione al database fallita");
                           $rs = mysql_fetch_array($Result);
                           $a1 = $rs['user'];
                           $a2 = $rs['email'];
                           $rs->close; 
                           if($a1 == $username){
                              die("Questo Nome utente gi&agrave esiste!");
                           }
                           $Result2 = mysql_query("SELECT * FROM '.$tb1_name.' WHERE e-mail='$email'") or die(mysql_query());
                           $rs2 = mysql_fetch_array($Result2);
                           $a2 = $rs2['email'];
                           $a3 = $rs2['user'];
                           $rs->close; 
                           if($a2 == $email){
                              die("Questa email &egrave gi&agrave stata usata dall'utente: $a3");
                           }
                           $query="Insert into `.$tbl_name.` (`nome`,`cognome`,`user_name`,`password`,'e-mail','universita') VALUES ('$nome','$cognome','$username','$password','$email','$universita')";
                           $password=d5(sha1(md5(sha1($password))));
                           //$query="Insert into ".$tb1_name." (`nome`,`cognome`,`user_name`,`password`,`e-mail`,`universita`) VALUES ('".$nome."','".$cognome."','".$username."','".$password."','".$email."','".$universita."')";
                           
                           $result=mysql_query($query,$conn); // result ci serve x fare il controllo
                           //mysql_close($conn);
                           var_dump($query); 
                           if (!$result)  die("errore registrazione");
                           else echo "<center>".$nome ." ti sei iscritto, ora sei riconosciuto come ".$username."</center>";
                       }
                       else{
                               if(empty($universita)) echo"<center>Spiacente se non inserisce la sua universit&agrave non pu&ograve proseguire</center>";
                               else echo"<center>Spiacente la tua universit&agrave non fa parte del progetto European Platform </center>";
                            }
                     }
                }
     }
   else
         echo"<center>campi password non inseriti correttamente</center>";
   }

     

?>
<?php

function chkEmail($email)
{
    // elimino spazi, "a capo" e altro alle estremità della stringa
    $email = trim($email);
    // se la stringa è vuota sicuramente non è una mail
    if(!$email) {
                 return false;
     }
     // controllo che ci sia una sola @ nella stringa
    $num_at = count(explode( '@', $email )) - 1;
    if($num_at != 1) {
                           return false;
    }
     // controllo la presenza di ulteriori caratteri "pericolosi":
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
             return false;
    }
    // la stringa rispetta il formato classico di una mail?
    if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
                      return false;
     }
     return true;
}

?>
Per controllare che la registrazione è andata a buon fine devo verificare che la variabile della query sia 'false'?
Non riesco a capire perchè non riesco ad eseguirla è un problema del database che ho chiamato il nick con campo 'user_name' ? Forse dovrei togliere l' '_' .
Cmq come errore mi restituisce : Da errore su questa riga :
Codice:
$Result = mysql_query($MySql,$conn) or die("Comunicazione al database fallita");
la stringa di comunicazione fallita

Ultima modifica di Gacoment : 25-05-2010 alle 12:29.
Gacoment è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 13:26   #2
darkito85
Senior Member
 
L'Avatar di darkito85
 
Iscritto dal: Jun 2008
Città: Catania
Messaggi: 429
Credo che hai sbagliato a scrivere questa query:
Codice PHP:
$MySql "SELECT * FROM '.$tbl_name.' WHERE user_name='$username'"
La query giusta dovrebbe essere questa:
Codice PHP:
$MySql "SELECT * FROM $tbl_name WHERE user_name='$username'"
Comunque in fase di "debug" ti consiglio di inserire tra le tue "linee di codice più pericolose" la seguente riga

Codice PHP:
echo mysql_error(); 
Che non fa altro che visualizzare sul dispositivo di output eventuali errori relativi a mysql.
__________________
Amd X2 5600+ Brisbane -- GIGABYTE MA790X DS4 (REV 1.0)-- POV NVIDIA 9600GS0 EXO -- 2X1GB KINGSTON DDR2 800Mhz -- SAMSUNG HD250HJ 250GB -- LG FLATRON 20"
Trattive concluse: fgdac,k1ll3r,PhilAnselmo@Superjoint,danyrs92,emaborsa,ferone,Midia.

Ultima modifica di darkito85 : 25-05-2010 alle 13:31.
darkito85 è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 15:15   #3
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
Non è questo il problema, perchè ho visto che la sintassi con la concatenazione è corretta, cmq anche se ometto i punti l'errore è lo stesso, mi stampa la stringa della prima query di comunicazione fallita. Sinceramente sto uscendo pazzo .
Gacoment è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 16:16   #4
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Quote:
Originariamente inviato da Gacoment Guarda i messaggi
Codice:
 $MySql = "SELECT * FROM '.$tbl_name.' WHERE user_name='$username'";
E' questa la riga incriminata? Prova così
Codice:
$MySql = "SELECT * FROM " . $tbl_name . " WHERE user_name='" . $username . "'";

Ultima modifica di ndakota : 25-05-2010 alle 16:18.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 17:16   #5
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
Quote:
Originariamente inviato da ndakota Guarda i messaggi
E' questa la riga incriminata? Prova così
Codice:
$MySql = "SELECT * FROM " . $tbl_name . " WHERE user_name='" . $username . "'";
Ok ora sembra che almeno questa riga sia corretta anche se non ho capito ancora quale sia la logica per la giusta correzione, cmq ho adottato la stessa tecnica per la seconda query e lì mi stampa il messaggio di errore per $Result2. Guarda ho modificato così :

Codice:
<?PHP
// variabili di connessione
// nome server, nome utente,
// Password, nomedatabase, tabella
$ServerName = "localhost";
$UserName = "root";
$Password = "madara";
$DbName = "EP";
$tbl_name="studente";

// la connessione al database e alla tabella
$conn = mysql_connect($ServerName, $UserName, $Password) or die("CONNECTION NON RIUSCITA");
mysql_select_db($DbName, $conn);
$nome = $_GET["nome"];
$cognome = $_GET["cognome"];
$universita=$_GET['universita'];
$username = $_GET["username"];
$password = $_GET["password"];
$conferma=$_GET['conferma'];
$email = $_GET["email"];
$universita = $_GET["universita"];


//Verifico il valore di $nome;
 if(chkEmail($email)) {
    if( (!empty($password)) and (!empty($conferma)) ){
         if( $password!=$conferma ) echo"<center>le password non corrispondono : ricontrolla i campi password</center>"; 
         else{ 
                if( (empty($nome)) or (empty($cognome)) or (empty($username)) ) 
                    echo"<center>inserire tutti i campi è obbligatorio</center>";    
                else{
                       if( ($universita=="Salerno") or  ($universita=="Londra") ){
                           $MySql = "SELECT * FROM " . $tbl_name . " WHERE user_name='" . $username . "'";
                           $Result = mysql_query($MySql,$conn) or die("Comunicazione al database fallita");
                           $rs = mysql_fetch_array($Result);
                           $a1 = $rs['user'];
                           $a2 = $rs['email'];
                           $rs->close; 
                           if($a1 == $username){
                              die("Questo Nome utente gi&agrave esiste!");
                           }
                           $MySql2 = "SELECT * FROM " . $tbl_name . " WHERE e-mail='" . $email ."'";
                           $Result2 = mysql_query($MySql2,$conn) or die("Comunicazione al database 2 fallita");                         
                           $rs2 = mysql_fetch_array($Result2);
                           $a2 = $rs2['email'];
                           $a3 = $rs2['user'];
                           $rs->close; 
                           if($a2 == $email){
                              die("Questa email &egrave gi&agrave stata usata dall'utente: $a3");
                           }
                           $query="Insert into `.$tbl_name.` (`nome`,`cognome`,`user_name`,`password`,'e-mail','universita') VALUES ('$nome','$cognome','$username','$password','$email','$universita')";
                           $password=d5(sha1(md5(sha1($password))));
                           //$query="Insert into ".$tb1_name." (`nome`,`cognome`,`user_name`,`password`,`e-mail`,`universita`) VALUES ('".$nome."','".$cognome."','".$username."','".$password."','".$email."','".$universita."')";
                           
                           $result=mysql_query($query,$conn); // result ci serve x fare il controllo
                           //mysql_close($conn);
                           var_dump($query); 
                           if (!$result)  die("errore registrazione");
                           else echo "<center>".$nome ." ti sei iscritto, ora sei riconosciuto come ".$username."</center>";
                       }
                       else{
                               if(empty($universita)) echo"<center>Spiacente se non inserisce la sua universit&agrave non pu&ograve proseguire</center>";
                               else echo"<center>Spiacente la tua universit&agrave non fa parte del progetto European Platform </center>";
                            }
                     }
                }
     }
   else
         echo"<center>campi password non inseriti correttamente</center>";
   }

     

?>
<?php

function chkEmail($email)
{
    // elimino spazi, "a capo" e altro alle estremità della stringa
    $email = trim($email);
    // se la stringa è vuota sicuramente non è una mail
    if(!$email) {
                 return false;
     }
     // controllo che ci sia una sola @ nella stringa
    $num_at = count(explode( '@', $email )) - 1;
    if($num_at != 1) {
                           return false;
    }
     // controllo la presenza di ulteriori caratteri "pericolosi":
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
             return false;
    }
    // la stringa rispetta il formato classico di una mail?
    if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
                      return false;
     }
     return true;
}

?>
Gacoment è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 20:37   #6
ndakota
Senior Member
 
L'Avatar di ndakota
 
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
Gli apici li metti solo intorno alle variabili dei campi stringa.

Codice:
query = "insert into " . $tbl_name. "(nome, cognome, user_name, password, e-mail, universita) VALUES ('$nome', '$cognome', '$username', '$password', '$email', '$universita')";
Quindi dovrebbe essere così.

EDIT: ops, sorry. Penso tu ti riferisca alla select. Solo che quella sembra esatta.

Ultima modifica di ndakota : 25-05-2010 alle 20:43.
ndakota è offline   Rispondi citando il messaggio o parte di esso
Old 25-05-2010, 22:23   #7
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
Allora da errore sempre sulla seconda query e poi per controllare se inserimento della form viene correttamente nel database devo fare quell'if se è falso vuol dire che non è andato a buon fine giusto?
Perchè se è corretto come ho scritto non funziona nemmeno la query per la registrazione.
Problema 1:
$Result2 da il messaggio di errore
Problema 2:
se tralascio il precedente $query nell'if(!$result) stampa il messaggio di errore

Codice:
<?PHP
// variabili di connessione
// nome server, nome utente,
// Password, nomedatabase, tabella
$ServerName = "localhost";
$UserName = "root";
$Password = "madara";
$DbName = "EP";
$tbl_name="studente";

// la connessione al database e alla tabella
$conn = mysql_connect($ServerName, $UserName, $Password) or die("CONNECTION NON RIUSCITA");
mysql_select_db($DbName, $conn);
$nome = $_GET["nome"];
$cognome = $_GET["cognome"];
$universita=$_GET['universita'];
$username = $_GET["username"];
$password = $_GET["password"];
$conferma=$_GET['conferma'];
$email = $_GET["email"];
$universita = $_GET["universita"];


//Verifico il valore di $nome;
 if(chkEmail($email)) {
    if( (!empty($password)) and (!empty($conferma)) ){
         if( $password!=$conferma ) echo"<center>le password non corrispondono : ricontrolla i campi password</center>"; 
         else{ 
                if( (empty($nome)) or (empty($cognome)) or (empty($username)) ) 
                    echo"<center>inserire tutti i campi è obbligatorio</center>";    
                else{
                       if( ($universita=="Salerno") or  ($universita=="Londra") ){
                           $MySql = "SELECT * FROM " . $tbl_name . " WHERE user_name='" . $username . "'";
                           $Result = mysql_query($MySql,$conn) or die("Comunicazione al database fallita");
                           $rs = mysql_fetch_array($Result);
                           $a1 = $rs['user_name'];
                           $a2 = $rs['email'];
                           $rs->close; 
                           if($a1 == $username){
                              die("Questo Nome utente gi&agrave esiste!");
                           }
                          $MySql2 = "SELECT * FROM " . $tbl_name . " WHERE e-mail='" . $email ."'";
                           $Result2 = mysql_query($MySql2,$conn) or die("Comunicazione al database 2 fallita");
                          
                           $rs2 = mysql_fetch_array($Result2);
                           $a2 = $rs2['email'];
                           $a3 = $rs2['user_name'];
                           $rs->close; 
                           if($a2 == $email){
                              die("Questa email &egrave gi&agrave stata usata dall'utente: $a3");
                           }
                           $password=(sha1(md5(sha1($password))));
                           $query = "insert into " . $tbl_name. "(nome, cognome, user_name, password, e-mail, universita) VALUES ('$nome', '$cognome', '$username', '$password', '$email', '$universita')";
                           
                           
                           $result=mysql_query($query,$conn); // result ci serve x fare il controllo
                           var_dump($query); //sappiamo cosa ci restituisce la query
                           if (!$result)  die("errore registrazione");
                           else echo "<center>".$nome ." ti sei iscritto, ora sei riconosciuto come ".$username."</center>";
                       }
                       else{
                               if(empty($universita)) echo"<center>Spiacente se non inserisce la sua universit&agrave non pu&ograve proseguire</center>";
                               else echo"<center>Spiacente la tua universit&agrave non fa parte del progetto European Platform </center>";
                            }
                     }
                }
     }
   else
         echo"<center>campi password non inseriti correttamente</center>";
   }

     

?>
<?php

function chkEmail($email)
{
    // elimino spazi, "a capo" e altro alle estremità della stringa
    $email = trim($email);
    // se la stringa è vuota sicuramente non è una mail
    if(!$email) {
                 return false;
     }
     // controllo che ci sia una sola @ nella stringa
    $num_at = count(explode( '@', $email )) - 1;
    if($num_at != 1) {
                           return false;
    }
     // controllo la presenza di ulteriori caratteri "pericolosi":
    if(strpos($email,';') || strpos($email,',') || strpos($email,' ')) {
             return false;
    }
    // la stringa rispetta il formato classico di una mail?
    if(!preg_match( '/^[\w\.\-]+@\w+[\w\.\-]*?\.\w{1,4}$/', $email)) {
                      return false;
     }
     return true;
}

?>

Ultima modifica di Gacoment : 25-05-2010 alle 22:25.
Gacoment è offline   Rispondi citando il messaggio o parte di esso
Old 26-05-2010, 10:05   #8
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
Nessuna soluzione?
Gacoment è offline   Rispondi citando il messaggio o parte di esso
Old 27-05-2010, 14:54   #9
Gacoment
Bannato
 
L'Avatar di Gacoment
 
Iscritto dal: Dec 2005
Città: Salerno
Messaggi: 529
ok il problema era la variabile e-mail nel database, non prendeva il trattino ora mettendo e_mail funziona . Mi ha fatto dannare .
Gacoment è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


AORUS GeForce RTX 5080 INFINITY WOOD 16G: una scheda video diversa dalle altre AORUS GeForce RTX 5080 INFINITY WOOD 16G: una sc...
Hyundai Ioniq 9: dopo due settimane di test non avremmo voluto restituirla Hyundai Ioniq 9: dopo due settimane di test non ...
LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e Dual Mode LG UltraGear evo GM9: 27 pollici, 5K, Mini LED e...
Motorola edge 70 Fusion FIFA World Cup 26 Edition: un ottimo smartphone per i fan del calcio Motorola edge 70 Fusion FIFA World Cup 26 Editio...
Renault 5 elettrica al giudizio definitivo: solo stupore iniziale o premi meritati? Renault 5 elettrica al giudizio definitivo: solo...
Cancellato l'iPhone tutto in vetro per i...
Insta360 porta l'assistente vocale IA su...
Fujifilm: 88 milioni di dollari in pi&ug...
Serie A con TIMVISION: DAZN Full a 19,99...
La gamma Apple Watch si prepara a una ri...
Blackmagic Cinema Camera 6K: l'autofocus...
Mercato Cina, a luglio la piccola Geely ...
Il ritorno di Myspace contro la stanchez...
Valve avverte: il corriere europeo di St...
Sony e TSMC, 6,3 miliardi per i sensori ...
I gadget tech da spiaggia che possono sa...
Tesla mostra il primo Cybercab con Starl...
GPT-5.6-Cyber risponde a tutto, ma non è...
Windows, Microsoft aggiunge un secondo m...
Light Loop IO LCD, il nuovo dissipatore ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:08.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v