Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090
Ho affidato ai due modelli lo stesso mestiere ma non lo stesso identico prompt: trasformare una storia illustrata in un video usando una RTX 3090 e modelli locali. Ne sono usciti due film, due applicazioni e due idee opposte di efficienza. Fucina, progettata con Fable 5, colpisce di più nei primi secondi. Storyboard Studio, costruito con ChatGPT/Codex, regge meglio sulla distanza e vince il confronto complessivo, ma di stretta misura
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile
Lenovo ha lanciato il ThinkTab X11 rimettendo piede nel segmento dei tablet Android con il marchio Think dopo oltre un decennio di assenza. Il risultato è un dispositivo che prende una direzione precisa: massima dotazione funzionale, costruzione resistente, autonomia fuori dagli schemi
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot
AMD Advancing AI è l'appuntamento annuale con il quale l'azienda americana mostra quelle che sono le proprie novità dal versante datacenter. Tra piattaforma Helios, GPU Instinct MI455X e processori EPYC di sesta generazione tutto quello che serve per processare l'IA sempre più complessa ed esigente
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


Fable e Sol a confronto: due cartoni animati creati su un PC con RTX 3090 Fable e Sol a confronto: due cartoni animati cre...
Il tablet rugged leggero e sottile: Lenovo ThinkTab X11 offre resistenza, doppia USB-C e batteria rimovibile Il tablet rugged leggero e sottile: Lenovo Think...
AMD Advancing AI 2026: l'hardware AMD per le elaborazioni IA del futuro, tra GPU, CPU e robot AMD Advancing AI 2026: l'hardware AMD per le ela...
Tascabile e con Android: BOOX Go 6 Gen II è diverso da tutti gli altri e-reader Tascabile e con Android: BOOX Go 6 Gen II &egrav...
Recensione Lenovo Idea Tab Plus: il tablet da 12 pollici che costa meno di 300 euro Recensione Lenovo Idea Tab Plus: il tablet da 12...
Xbox Game Pass, il mese di luglio 2026 s...
Smartphone troppo cari: Qualcomm ripensa...
Age of Empires III: Definitive Edition t...
GitHub contro i report fatti dall'IA: ri...
Google spinge sugli schermi ultra-wide: ...
Occhiali smart, Instagram bannerà chi re...
L'UE approva PRIMA: il chip fotovoltaico...
Nothing smentisce l'uscita da alcuni mer...
Tassa sui pacchi extra-UE, Giorgetti: da...
Jensen Huang esordisce su X: 'non mettet...
Ha reso lo smartphone e Amazon lo ha 'pe...
TOP 10 offerte del weekend Amazon: ai pr...
TV LG C6 e B5 da 55 pollici: due OLED da...
Tomb Raider: Catalyst rinviato al 2028, ...
Lefant M210 Omni a 265,99€: il robot sli...
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: 22:26.


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