Visualizzazione risultati 1 fino 14 di 14

Discussione: Inserimento Dati Utente in 2 tabelle diverse

  1. #1
    Guest

    Predefinito Inserimento Dati Utente in 2 tabelle diverse

    Salve Ragazzi sono qui per chiedervi 1 aiuto:
    Io ho 1 sito che sfrutta 1 sistema log_in differente dal forum che è phpbb,a me serve fare in modo che l'utente possa registrarsi sia al sito che al foro in1 sola pagina creata da me!
    Avevo buttato 1 script giu oggi che pero non mi funziona ,non è che mi dareste 1 mano?
    Con questi form invio i dati...

    Codice HTML:
    <form name="form1" action="ProvaReg.php" method="get">
    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 3</title>
    </head>
    
    <body>
    
    <p>&nbsp;</p>
    
    <table border="1" width="357" height="229">
    	<tr>
    		<td height="19" width="357" colspan="2">
    		<p align="center">Sito</td>
    	</tr>
    	<tr>
    		<td height="21" width="127">Nik</td>
    		<td height="21" width="214">
                <input type="text" name="username" id="username"></td>
    	</tr>
    	<tr>
    		<td height="17" width="127">Pass</td>
    		<td height="17" width="214">
                <input type="text" name="user_password" id="user_password"></td>
    	</tr>
    	<tr>
    		<td height="18" width="127">Email</td>
    		<td height="18" width="214">
                
                    
                <input type="text" name="user_email" id="user_email"></td>
    	</tr>
    	<tr>
    		<td height="18" width="341" colspan="2">
    		<p align="center">Forum</td>
    	</tr>
    	<tr>
    		<td height="18" width="127">Nik</td>
    		<td height="18" width="214">
    
                Vale Quello sopra:....</td>
    	</tr>
    	<tr>
    		<td height="17" width="127">Pass</td>
    		<td height="17" width="214">
                <input type="text" name="password" id="password"></td>
    	</tr>
    	<tr>
    		<td height="19" width="127">Email</td>
    		<td height="19" width="214">
                
                    
                <input type="text" name="mail" id="mail"></td>
    	</tr>
    	<tr>
    		<td height="21" width="127">Conferma</td>
    		<td height="21" width="214">
                <input type="submit" name="submit" value="Invia" id="submit"> <input type="reset" name="reset" value="Cancella"></td>
    	</tr>
    </table>
    
    </body>
    
    </html>
    Con questo li salvo nel database:
    Codice PHP:
    <?php
    $user
    = "";
    $pwd = ""; // qui la tua password
    $host = "localhost";
    $dbase = "my_";

    $db = mysql_connect ($host, $user, $pwd) or die
    (
    "Impossibile connettersi al database!");

    mysql_select_db ($dbase);
    $username = $_GET['username'];
    $user_password = $_GET['user_password'];
    $user_email = $_GET['user_email'];
    $password = $_GET['password'];
    $mail = $_GET['mail'];

    if (
    $_GET['submit'] == 'Invia') {
    mysql_query ("INSERT INTO phpbb_users (username, user_password, user_email) VALUES ('$username', '$user_password', '$user_email')") or die("Errore nell'inserimento!");
    mysql_query ("INSERT INTO sl_user (username, password, mail) VALUES ('$username', '$password', '$mail')") or die("Errore nell'inserimento2!");
    echo (
    "Inserimento avvenuto correttamente!"); }

    ?>
    L' errore che mi da è Errore nell'Inserimento!
    Mi sapreste aiutare per piacere?
    Ps. le 2 tabelle si chiamano phpbb_users e sl_user ovviamente hanno il nome dei campi diversi ,percio ho fatto+form e messo nomi diversi (esempio:user_password per phpbbe password per sl_user)
    Vi prego aiutatemi
    Ps2 spero di aver scritto in modo conprensibile
    Ultima modifica di ang : 16-08-2006 alle ore 21.13.25

  2. #2
    Guest

    Predefinito

    Invece che quel messaggio di errore, nel die(), mettici un mysql_error(), così saprai quale errore specifico viene restituito.
    Assicurati anche di backslashare tutti i caratteri speciali dai valori di quelle variabili che vanno a finire nella query.


    Ciaoooooo!!!!!

  3. #3
    Guest

    Predefinito

    Edit Debug non ce bisogno ho capito il problema...
    è questo al 1 utente iscritto viene dato id base che è 0 allora quando 1 si iscrive dopo il 1 utente gli viene dato id0 e non riesce ad iscriversi
    la mia domanda è questa come faccio a dare ad ogni utente 1 id diverso?
    Ultima modifica di ang : 16-08-2006 alle ore 22.25.22

  4. #4
    Guest

    Predefinito

    Sostituisci questo:
    Codice PHP:
    mysql_query ("INSERT INTO phpbb_users (username, user_password, user_email) VALUES ('$username', '$user_password', '$user_email')") or die("Errore nell'inserimento!");
    Con questo:
    Codice PHP:
    mysql_query ("INSERT INTO phpbb_users (username, user_password, user_email) VALUES ('$username', '$user_password', '$user_email')") or die(mysql_error());

    Ciaooo!!!!!

  5. #5
    Guest

    Predefinito

    Sopra l'avevo gia detto cmq l'errore preciso è Duplicate entry '0' for key
    Credo sia id sai dirmi come risolvere?pls

  6. #6
    Guest

    Predefinito

    Il campo per l'ID deve essere auto_increment.
    Ti consiglio di dare un'occhiata alla tabella degli utenti del phpbb per renderti conto di cosa stai trattando.

    EDIT: non ho capito, ciò che dici in quest'ultimo post è diverso dal penultimo! Allora, prima di fare ulteriori prove svuota la tabella.


    Ciaooo!!!
    Ultima modifica di debug : 16-08-2006 alle ore 22.33.06

  7. #7
    Guest

    Predefinito

    fatto ,allora la tabella di phpbb non è auto increment ho provato a modificarla mettendo auto icrement ma mi da sto errore:
    query SQL:

    ALTER TABLE `phpbb_users` CHANGE `user_id` `user_id` MEDIUMINT( 8 ) NOT NULL DEFAULT '0' AUTO_INCREMENT
    Messaggio di MySQL:

    #1067 - Invalid default value for 'user_id'

    Sai dirmi cosa provare ora?pls

  8. #8
    Guest

    Predefinito

    Togli il DEFAULT '0'


    Ciaoo!!

  9. #9
    Guest

    Predefinito

    Funziona! tnks mille se mi dai 1 mano anche con le protezioni tipo minimo 4 lettere ti bacio le mani xd
    edit ho provato cosi:
    Codice PHP:
    <?php
    $user
    = "";
    $pwd = ""; // qui la tua password
    $host = "localhost";
    $dbase = "my_";

    $db = mysql_connect ($host, $user, $pwd) or die
    (
    "Impossibile connettersi al database!");

    mysql_select_db ($dbase);
    $username = $_GET['username'];
    $user_password = $_GET['user_password'];
    $user_email = $_GET['user_email'];
    $password = $_GET['password'];
    $mail = $_GET['mail'];
    $user_icq = $_GET['user_icq'];
    $user_msnm = $_GET['$user_msnm'];


    if (
    $_GET['submit'] == 'Invia') {
    $username_formattato=htmlspecialchars($HTTP_POST_VARS[username]);
    $user_password_formattato=htmlspecialchars($HTTP_POST_VARS[user_password]);
    $user_email_formattato=htmlspecialchars($HTTP_POST_VARS[user_email]);
    $password_formattato=htmlspecialchars($HTTP_POST_VARS[password]);
    $mail_formattato=htmlspecialchars($HTTP_POST_VARS[mail]);
    $user_icq_formattato=htmlspecialchars($HTTP_POST_VARS[user_icq]);
    $user_msnm_formattato=htmlspecialchars($HTTP_POST_VARS[user_msnm]);


    $inserimento= mysql_query ("INSERT INTO phpbb_users (username, user_password, user_email,user_icq,user_msnm) VALUES ('$username', '$user_password', '$user_email','$user_icq','$user_msnm')") or die(mysql_error());
    $inserimento= mysql_query ("INSERT INTO sl_user (username, password, mail) VALUES ('$username', '$password', '$mail')") or die(mysql_error());
    echo (
    "Inserimento avvenuto correttamente!"); }

    ?>
    ma stampa bianco e non inseriscie gli utenti,qualcuno sa aiutarmi anche sulle protezioni?pls
    Ultima modifica di ang : 16-08-2006 alle ore 23.53.49

  10. #10
    Guest

    Predefinito

    Devi mettere gli apici ai valori degli array:
    $HTTP_POST_VARS['username']);
    ecc.

    Per le protezioni, se fai qualche ricerca nel forum trovi molti esempi pratici.


    Ciaooo!!!!!

  11. #11
    Guest

    Predefinito

    Provato cosi ma non va...
    form.php
    Codice HTML:
    <form name="form1" action="ProvaReg.php" method="get">
    <html>
    
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Nuova pagina 3</title>
    </head>
    
    <body>
    
    <p>&nbsp;</p>
    
    <table border="1" width="357" height="359">
    	<tr>
    		<td height="19" width="357" colspan="2">
    		<p align="center">Sito</td>
    	</tr>
    	<tr>
    		<td height="21" width="127">Nik</td>
    		<td height="21" width="214">
                <input type="text" name="username_formattato" id="username_formattato"></td>
    	</tr>
    	<tr>
    		<td height="17" width="127">Pass</td>
    		<td height="17" width="214">
                <input type="text" name="user_password_formattato" id="user_password_formattato"></td>
    	</tr>
    	<tr>
    		<td height="18" width="127">Email</td>
    		<td height="18" width="214">
                
                    
                <input type="text" name="user_email_formattato" id="user_email_formattato"></td>
    	</tr>
    	<tr>
    		<td height="18" width="341" colspan="2">
    		<p align="center">Forum</td>
    	</tr>
    	<tr>
    		<td height="18" width="127">Nik</td>
    		<td height="18" width="214">
    
                Vale Quello sopra:....</td>
    	</tr>
    	<tr>
    		<td height="17" width="127">Pass</td>
    		<td height="17" width="214">
                <input type="text" name="password_formattato" id="password_formattato"></td>
    	</tr>
    	<tr>
    		<td height="19" width="127">Email</td>
    		<td height="19" width="214">
                
                    
                <input type="text" name="mail_formattato" id="mail_formattato"></td>
    	</tr>
    	<tr>
    		<td height="24" width="127">
    		<p align="left">Icq</td>
    		<td height="24" width="214">
                <input type="text" name="user_icq_formattato" id="user_icq_formattato"></td>
    	</tr>
    	<tr>
    		<td height="22" width="127">Msn</td>
    		<td height="22" width="214">
                <input type="text" name="user_msnm_formattato" id="user_msnm_formattato"></td>
    		</tr>
    	<tr>
    		<td height="24" width="341" colspan="2">
    		<p align="center">
                <input type="submit" name="submit" value="Invia" id="submit"></td>
    		</tr>
    	<tr>
    		<td height="59" width="341" colspan="2">&nbsp;</td>
    		</tr>
    </table>
    
    </body>
    
    </html>
    li salvo cosi:
    Codice PHP:
    <?php
    $user
    = "muitaly";
    $pwd = ""; // qui la tua password
    $host = "localhost";
    $dbase = "my_muitaly";

    $db = mysql_connect ($host, $user, $pwd) or die
    (
    "Impossibile connettersi al database!");

    mysql_select_db ($dbase);
    $username_formattato=htmlspecialchars($HTTP_POST_VARS['username']);
    $user_password_formattato=htmlspecialchars($HTTP_POST_VARS['user_password']);
    $user_email_formattato=htmlspecialchars($HTTP_POST_VARS['user_email']);
    $password_formattato=htmlspecialchars($HTTP_POST_VARS['password']);
    $mail_formattato=htmlspecialchars($HTTP_POST_VARS['mail']);
    $user_icq_formattato=htmlspecialchars($HTTP_POST_VARS['user_icq']);
    $user_msnm_formattato=htmlspecialchars($HTTP_POST_VARS['user_msnm']);




    if (
    $_GET['submit'] == 'Invia') {
    mysql_query ("INSERT INTO phpbb_users (username, user_password, user_email,user_icq,user_msnm) VALUES ('$username_formattato', '$user_password_formattato', '$user_email_formattato','$user_icq_formattato','$user_msnm_formattato')") or die(mysql_error());
    mysql_query ("INSERT INTO sl_user (username, password, mail) VALUES ('$username_formattato', '$password_formattato', 'mail_formattato')") or die(mysql_error());
    echo (
    "Inserimento avvenuto correttamente!"); }

    ?>
    Ultima modifica di ang : 17-08-2006 alle ore 23.22.37

  12. #12
    Guest

    Predefinito

    che errore ti da?

  13. #13
    Guest

    Predefinito

    mi stampa bianco nelle tabelle sql aiuto pls

  14. #14
    Ospite Guest

    Predefinito

    Ang, i mod possono vedere gli IP di chi posta, e questo modo di fare up sembra una presa in giro bella e propria.
    Per il momento chiudo la discussione.
    Valuteremo con il team di moderazione su eventuali punizioni accessorie.

    EDIT: Per tutti, gli ultimi due utenti sono Ang e Ang.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •