problemi form utenti php e database

frank ocean

Nuovo Utente
13 Ott 2012
18
0
0
salve ragazzi mi scuso in anticipo per le mie scarse competenze!
sto lavorando in locale , ho realizzato un form registrazione utenti, ho realizzato un database mysql (id,username,password,email) al momento della compilazione del form premendo submit non accade nulla..
ho fatto una prova con uno script php per collegarmi al server sql e l'operazione e' andata a buon fine, ma nel momento in cui lavoro sul form mi impantano!

struttura html del form
HTML:
<form action="connessione.php" method="POST" id="signupform">
<div class="box">
                               
							            <h1>Unisciti al movimento</h1>
    <label>
                                       <span> Username </span>
                             <input type="text" class="input_text" name="name" value="" id="username"/>
    </label>
    <label>    
	                                    <span>  Password </span>  
		                     <input type="password" class="input_password" name="p_word" size="15" maxlength="14" id="password"/>
    </label>
    <label>
	                                      <span>Conferma Password </span>
		                     <input type="password" class="input_password" name="password2" size="15" maxlength="14" id="conferma password"/>
    </label>

    <label>
                                           <span>Email</span>
		                     <input type="text" class="input_text" name=mail" id="email"/>
    </label>
    <label>
		                                    <span>Message</span>
		                     <textarea class="message" name="message" id="feedback"></textarea>
    </label>		 
    <label>			   
		                     <input type="submit" class="button" name="submit" value="Submit" id="submit"/>
    </label>
</div>
    </form>

qui lo script connessione.php

PHP:
<?php
//estraggo i dati dal form con le tre variabili
$user=$_POST["name"];
$psw=$_POST["p_word"];
$mail=$_POST["mail"];
//mi connetto al database 
$conn = mysql_connect('localhost', 'nome', 'password');
if (!$conn) {
	die ('Non riesco a connettermi: ' . mysql_error());
}

$db_selected = mysql_select_db('utenti', $conn);
if (!$db_selected) {
	die ("Errore nella selezione del database: " . mysql_error());
}
echo 'connesso con successo';
mysql_close($conn);
?>
 
Ultima modifica di un moderatore:
ciao
per prima cosa:
non sbrodolare il codice e racchiudili negli appositi tag (seconda riga formattazione del post, ultime 3 iconcine nell'ordine CODE HTML PHP) altrimenti su fa fatica a leggerlo.
poi dovresti dire cosa vuoi fare una volta che arrivi al file php
 
Da quel che ho potuto capire è che vuoi realizzare un form di registrazione.
Lo script di connessione serve solo a connettersi al database e non ad inviare i dati e va incluso nella pagina che ti effettua l'inserimento dei dati.

Crea un'altra pagina registrazione.php che ti permetterà di effettuare l'update dei dati nel database.
Nella pagina includi i file di connessione e la query per l'insert dei dati.

PHP:
<?php include 'connessione.php'; ?>

// query inserimento dati ecc...

Nella pagina del form poi modifichi l'action
HTML:
<form action="registrazione.php" method="POST" id="signupform">

Ciao!
 
Problema non risolto

Da quel che ho potuto capire è che vuoi realizzare un form di registrazione.
Lo script di connessione serve solo a connettersi al database e non ad inviare i dati e va incluso nella pagina che ti effettua l'inserimento dei dati.

Crea un'altra pagina registrazione.php che ti permetterà di effettuare l'update dei dati nel database.
Nella pagina includi i file di connessione e la query per l'insert dei dati.

PHP:
<?php include 'connessione.php'; ?>

// query inserimento dati ecc...

Nella pagina del form poi modifichi l'action
HTML:
<form action="registrazione.php" method="POST" id="signupform">

Ciao!


ciao max ti ringrazio per il suggerimento ma non accade ancora nulla , di certo sbaglio ancora qualcosa..ti posto il codice per farti un idea:


[
HTML:
<form action="registrazione.php" method="POST" id="signupform">


<div class="box">

                               
							            <h1>Unisciti al movimento</h1>

    <label>

                                       <span> Username </span>

                             <input type="text" class="input_text" name="name" value="" id="username"/>

    </label>

    <label>
      
	                                    <span>  Password </span>
		  
		                     <input type="password" class="input_password" name="p_word" size="15" maxlength="14" id="password"/>
		  
    </label>

    <label>
      
	                                      <span>Conferma Password </span>
		  
		                     <input type="password" class="input_password" name="password2" size="15" maxlength="14" id="conferma password"/>
		  
    </label>
		  

    <label>

                                           <span>Email</span>
		  
		                     <input type="text" class="input_text" name="mail" id="email"/>
		  
    </label>

    <label>
                
		                                    <span>Message</span>
         
		                     <textarea class="message" name="message" id="feedback"></textarea>
		 
    </label>		 
               
    <label>			   
		                     <input type="submit" class="button" name="submit" value="Submit" id="submit"/>
          
    </label>

</div>


    </form>
	
	

</body>


</html>

come hai visto ho associato ha il form di iscrizione nella proprieta' action del form il file "registrazione.php".. ora ti posto il file php:


PHP:
<?php

//ho richiamato il file di configurazione

require 'config.php';


//ho richiamato il file di connessione

require 'connect.php';


//ho inserito la query per l'upload dei dati sul database

$query="INSERT INTO utenti_registrati(username,email,password)
      
	    VALUES('frank','billa.billa@hotmail.it','menelao')";
		
		
$result = mysql_query($query);

   if (!$result) {
	die("Errore nella query $query: " . mysql_error());
	
	
mysql_close();

echo 'Query eseguita correttamente';


?>


IL FORM NON DA SEGNI DI VITA AL MOMENTO DEL SUBMIT NON ACCADE NULLA .
 
ciao
da quello che vedo al submit "dovrebbe" chiamarti la pag registrazione.php dove (se non hai fatto degli errori ci copy/paste) vedo
1. apri una parenntesi {
PHP:
if (!$result) {
ma non vedo dove la chiudi
2. poi inutile mettere mysql_close(); ci pensa php a farlo quando serve
3. se non ti fa l'unsert verifica l'esatta corrispondenza tra i nomi dei campo e i nomi che hai scritto nella query (comprese maiuscole/minuscole)
4. poi per togliere dei dubbi posta il dump della tabella (ma non sbrodolato come il form)
 
ho provato a realizzare un altro form! stesso problema

HTML:
<table>
<form method="post" action="inserimento.php">

<tr><td> Cognome </td>
<td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>

<tr><td> Nome </td>
<td><input type="text" name="nome" size="20" maxlength="20"></td></tr>

<tr><td> Azienda </td>
<td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>

<tr><td> Ruolo </td>
<td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>

<tr><td> Email </td>
<td><input type="text" name="email" size="20" maxlength="20"></td></tr>

<tr><td> Telefono </td>
<td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>

<tr><td> Cellulare </td>
<td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>

<tr><td colspan=\"2\"><input type="submit" value="Inserisci"></td></tr>

</form>



PHP:
<?php



$cognome=$_POST['cognome'];
$nome=$_POST['nome'];
$azienda=$_POST['azienda'];
$ruolo=$_POST['ruolo'];
$email=$_POST['email'];
$telefono=$_POST['telefono'];
$cellulare=$_POST['cellulare'];


//ho richiamato il file di configurazione 

require 'config.php'; 


//ho richiamato il file di connessione 

require 'connect.php'; 


//ho inserito la query per l'upload dei dati sul database 

$query="INSERT INTO utenti_registrati(cognome,nome,azienda,ruolo,email,telefono,cellulare) 
       
        VALUES('$cognome','$nome','$azienda','$ruolo','$email','$telefono','$cellulare')"; 
         
         
$result = mysql_query($query); 

   if (!$result) { 
    die("Errore nella query $query: " . mysql_error()); 
     
               }
 

echo 'Query eseguita correttamente'; 



?>





ed ecco il dump della tabella relativa al database:

-- Struttura della tabella `clienti_registrati`
--

CREATE TABLE IF NOT EXISTS `clienti_registrati` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cognome` text NOT NULL,
`nome` text NOT NULL,
`azienda` text NOT NULL,
`ruolo` text NOT NULL,
`email` text NOT NULL,
`telefono` int(20) NOT NULL,
`cellulare` int(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
 
ciao
non è per caso perche nella query scrivi
$query="INSERT INTO utenti_registrati(cognome,nome,azienda,ruolo,email,telefono,cellulare) .....
mentre la tabella la chiami
CREATE TABLE IF NOT EXISTS `clienti_registrati` (....
?
i nomi devono essere uguali
 
ciao
non è per caso perche nella query scrivi
$query="INSERT INTO utenti_registrati(cognome,nome,azienda,ruolo,email,telefono,cellulare) .....
mentre la tabella la chiami
CREATE TABLE IF NOT EXISTS `clienti_registrati` (....
?
i nomi devono essere uguali


non e' un problema relativo ad una discrpenza tra i nomi della tabella, ho gia appurato!!!
 
ciao
se l'errore non è quello, l'unico difetto che vedo e nel form (ma dovrebbe essere ininfluente), i form devono contenere la tabella, non il contrario e manca la chiusura
HTML:
<form method="post" action="inserimento.php">
<table>
<tr><td> Cognome </td>
<td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
<tr><td> Nome </td>
<td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
<tr><td> Azienda </td>
<td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
<tr><td> Ruolo </td>
<td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
<tr><td> Email </td>
<td><input type="text" name="email" size="20" maxlength="20"></td></tr>
<tr><td> Telefono </td>
<td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
<tr><td> Cellulare </td>
<td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
<tr><td colspan=\"2\"><input type="submit" value="Inserisci"></td></tr>
</table>
</form>
comunque prova, in inserimento.php, a mettere dei var_dump per vedere se i post vengono trasmessi (ti metto il primo gli altri uguali)
eventualmente anche alla query
PHP:
<?php
$cognome=$_POST['cognome'];
var_dump($_POST['cognome']);//e verifica cosa riporta
//..ecc....
$query="INSERT INTO utenti_registrati(cognome,nome,azienda,ruolo,email,telefono,cellulare) VALUES('$cognome','$nome','$azienda','$ruolo','$email','$telefono','$cellulare')";//sicuro che la tabella si chiami utenti_registrati?
var_dump($query);
//....
?>
se i dati di connessione e selezione db sono giusti non vedo errori
 
ciao
se l'errore non è quello, l'unico difetto che vedo e nel form (ma dovrebbe essere ininfluente), i form devono contenere la tabella, non il contrario e manca la chiusura
HTML:
<form method="post" action="inserimento.php">
<table>
<tr><td> Cognome </td>
<td><input type="text" name="cognome" size="20" maxlength="20"></td></tr>
<tr><td> Nome </td>
<td><input type="text" name="nome" size="20" maxlength="20"></td></tr>
<tr><td> Azienda </td>
<td><input type="text" name="azienda" size="20" maxlength="20"></td></tr>
<tr><td> Ruolo </td>
<td><input type="text" name="ruolo" size="20" maxlength="20"></td></tr>
<tr><td> Email </td>
<td><input type="text" name="email" size="20" maxlength="20"></td></tr>
<tr><td> Telefono </td>
<td><input type="text" name="telefono" size="20" maxlength="20"></td></tr>
<tr><td> Cellulare </td>
<td><input type="text" name="cellulare" size="20" maxlength="20"></td></tr>
<tr><td colspan=\"2\"><input type="submit" value="Inserisci"></td></tr>
</table>
</form>
comunque prova, in inserimento.php, a mettere dei var_dump per vedere se i post vengono trasmessi (ti metto il primo gli altri uguali)
eventualmente anche alla query
PHP:
<?php
$cognome=$_POST['cognome'];
var_dump($_POST['cognome']);//e verifica cosa riporta
//..ecc....
$query="INSERT INTO utenti_registrati(cognome,nome,azienda,ruolo,email,telefono,cellulare) VALUES('$cognome','$nome','$azienda','$ruolo','$email','$telefono','$cellulare')";//sicuro che la tabella si chiami utenti_registrati?
var_dump($query);
//....
?>
se i dati di connessione e selezione db sono giusti non vedo errori


Grazie sei veramente gentile!! adesso faccio una prova anche se ormai inizio a perdere le speranze..provare a lavorare su un sito dinamico senza aver il supporto fisico di una persona che ha le competenze e' quasi un utopia
 

Discussioni simili