Form Registrazione

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Ciao a tutti sto creando un browser game di calcio manageriale e il primo ostacolo che mi si presenta è la possibilità agli utenti di farli registrare!
Questo è il form che ho creato:

PHP:
<form action="verifica_reg.php" method="post">
<table width="100%" border="0" cellspacing="1" cellpadding="5">
<br>
<tr>
<td width="25%"><strong>Nickname</strong></td>
<td width="75%">
<input name="user" type="text" maxlength="255">
</td>
</tr>



<tr>
<td width="25%"><strong>Password</strong></td>
<td width="75%">
<input name="pass" type="password" maxlength="255">
</td>
</tr>


<tr>
<td width="25%"><strong>Email</strong></td>
<td width="75%">
<input name="mail" type="text" maxlength="255">
</td>
</tr>


<tr>
<td width="25%"><strong>Nome Manager</strong></td>
<td width="75%">
<input name="manager" type="text" maxlength="255">
</td>
</tr>


<tr>
<td width="25%"><strong>Nome Squadra</strong></td>
<td width="75%">
<input name="team" type="text" maxlength="255">
</td>
</tr>


<td><input type="submit" name="registrati" value="Registrati" class="Button"/></td>
</table>

E questa è la pagina verifica_reg.php:
PHP:
<?php
$dbhost = "localhost";
$dbuser = "beamanager";
$dbpass = "";
$dbname = "my_beamanager".

$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

mysql_query("INSERT INTO iscritti (id,team,manager,email,nickname,password,info,id_level,signupdate,last_login,activated) VALUES(\"".$_POST['nick']."\",\"".$_POST['pass']."\")");

mysql_close($db);
?>
<?php
if($_POST) {
reg_success.php();
}
else {
reg_error.php();
}

function reg_success.php()
{
require 'reg_success.php';

$user = trim($_POST['user']);
$pass = trim($_POST['pass']);
$mail = trim($_POST['mail']);
$manager = trim($_POST['manager']);
$team = trim($_POST['team']);

if(!$user)
{
$messaggio = urlencode("Non hai inserito un nick.");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}

$query = "INSERT INTO iscritti (,email,sesso,newsletter,attivita,messaggio)
VALUES ('$nome','$email',$sesso,$newsletter,$attivita,'$messaggio')";
$result = mysql_query($query);

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

$id_inserito = mysql_insert_id();

mysql_close();

$messaggio = urlencode("Registrazione effetuata con successo. (ID=$id_inserito)");
header('location: '.$_SERVER['PHP_SELF'].'?msg='.$messaggio);
}
function mostra_form()
{
if(isset($_GET['msg']))
echo '<b>'.htmlentities($_GET['msg']).'</b><br /><br />';
?>

Questo invece è il database che ho creato:

http://img215.imageshack.us/img215/2808/database.jpg


Sapete dirmi quali errori ho fatto?
Vi ringrazio anticipatamente!0:)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
sarebbe opportuno che tu indicassi cosa non funziona e gli eventuali errori che ti da php possibilmente con il numero di riga
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Praticamente quando clicco sul tasto registrati mi si apre una pagina bianca con questa scritta:


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/beamanager/verifica_reg.php on line 26

per cui potete dirmi cosa ho sbagliato nella pagina verifica_reg.php?0:)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
è questa la riga 26?

$query = "INSERT INTO iscritti (,email,sesso,newsletter,attivita,messaggio)
VALUES ('$nome','$email',$sesso,$newsletter,$attivita,'$messaggio')";

anche se non è questa ci sono degli erroretti

$query = "INSERT INTO iscritti (email,sesso,newsletter,attivita,messaggio)
VALUES ('$nome','$email','$sesso','$newsletter','$attivita','$messaggio')";
poi dichirai i nomi di 5 campi, ma poi metti 6 varabili. manca nome prima di email?
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Ho modificato,ma ancora mi da quell'errore:

PHP:
<?php
$dbhost = "localhost";
$dbuser = "beamanager";
$dbpass = "";
$dbname = "my_beamanager".

$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES(\"".$_POST['team']."\",\"".$_POST['manager']."\"\"".$_POST['email']."\",\"".$_POST['nickname']."\",\"".$_POST['password']."\");

mysql_close($db);
?>
<?php
if($_POST) {
reg_success.php();
}
else {
reg_error.php();
}
 
function reg_success.php()
{
require 'reg_success.php';

$team = trim($POST['team']);
$manager = trim($POST['manager']);
$mail = trim($POST['mail']);
$pass = trim($POST['pass']);
$user = trim($POST['user']);



if(!$user)
{
$messaggio = urlencode("Non hai inserito un nick.");
header('location: '.$SERVER['PHP_SELF'].'?msg='.$messaggio);
exit;
}

$query = "INSERT INTO iscritti (team,manager,email,nickname,password)
VALUES ('$team','$manager','$mail','$nick','$password')";
$result = mysql_query($query);

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

$id_inserito = mysql_insert_id();

mysql_close();

$messaggio = urlencode("Registrazione effetuata con successo. (ID=$id_inserito)");
header('location: '.$SERVER['PHP_SELF'].'?msg='.$messaggio);
} 
function mostra_form()
{
if(isset($GET['msg']))
echo '<b>'.htmlentities($GET['msg']).'</b><br /><br />';
?>
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Se ti da un errore alla riga 26 perché non controllare il codice presente in quella riga. Sarà mica $POST invece di $_POST ?
La vedo lunga e dura creare un browser game.
 
Ultima modifica:

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
correggi tutti i $POST in $_POST, i $SERVER in $_SERVER e i $GET in $_GET
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
una domanda
come mai nel primo post i $_POST erano scritti giusti e nel secondo no?
PHP:
$user = trim($_POST['user']); 
$pass = trim($_POST['pass']); 
$mail = trim($_POST['mail']); 
$manager = trim($_POST['manager']); 
$team = trim($_POST['team']);

PHP:
$team = trim($POST['team']); 
$manager = trim($POST['manager']); 
$mail = trim($POST['mail']); 
$pass = trim($POST['pass']); 
$user = trim($POST['user']);

una preghiera (non solo a leon-kennedy) scrivete il codice come lo state usando altrimenti il povero eliox, e non solo lui, come fa a trovare gli Orrori
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
$user = $_POST['user'];
$pass = $_POST['pass'];
$mail = $_POST['mail'];
$manager = $_POST['manager'];
$team = $_POST['team'];

Mi da sempre l'errore!Sapete dirmi per quale motivo,forse ho sbagliato l'array?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
forse ho sbagliato l'array?
scusa ma di quale array stai parlando? di $_POST?
mi sembra (ma forse qualcuno dall'empireo mi potrà contradire) che lo script è uno_poco_incasinato.
o l'hai copiato male sui post o è nato proprio così (spero di no altrimenti la penso come satifal
La vedo lunga e dura creare un browser game
).
posta il codice esatto che usi.

p.s.
es. sul form manca il tag di chiusura </form>
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
No,siccome è la prima volta che devo usare mysql ho dei problemi,cmq ecco il codice che sto usando adesso e mi da come errore la riga n°18:
PHP:
<?php
$dbhost = "localhost";
$dbuser = "beamanager";
$dbpass = "";
$dbname = "my_beamanager".

$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES(\"".$_POST['team']."\",\"".$_POST['manager']."\"\"".$_POST['email']."\",\"".$_POST['nickname']."\",\"".$_POST['password']."\");

mysql_close($db);

function ();
{
require 'registrazione.php';

//riga 18  if(isset($_POST['user']) && $_POST['pass']==""){ 
   // allore entri nell'if e fai tutte le operazioni che ti servono...tipo 

$user=$_POST['user']; 
$pass=$_POST['pass']; 
$mail=$_POST['mail']; 
$manager=$_POST['manager']; 
$team=$_POST['team']; 

} 
else{ 

   // il form non è stato inviato oppure è stato inviato ma il campo non contiene il valore corretto 

}


if(!$user)
{
$messaggio = urlencode("Non hai inserito un nick.");
header('location: '.$_SERVER['REMOTE_ADDR'].'?msg='.$messaggio);
exit;
}

$query = "INSERT INTO iscritti (team,manager,email,nickname,password)
VALUES ('$team','$manager','$mail','$user','$pass')";
$result = mysql_query($query);

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

$id_inserito = mysql_insert_id();

mysql_close();

$messaggio = urlencode("Registrazione effetuata con successo. (ID=$id_inserito)");
header('location: '.$_SERVER['REMOTE_ADDR'].'?msg='.$messaggio);
} 
function mostra_form()
{
if(isset($_GET['msg']))
echo '<b>'.htmlentities($GET['msg']).'</b><br /><br />';
?>
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /membri/beamanager/verifica_reg.php on line 18
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
due cose
intanto correggi la riga del mysql_query
PHP:
mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES('".$_POST['team']."','".$_POST['manager']."','".$_POST['email']."','".$_POST['nickname']."','".$_POST['password']."'");

poi se noti come viene scritto lo script ti accorgi che da quella riga in poi è scritto in rosso, quindi l'errore con molta probabilità si evidenzia alla riga 18 ma nasce dalla riga dei mysql_query, hai messo male i doppi apici e ti sei dimenticato una virgola
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Guarda, niente di personale, ma il tuo codice è assolutamente pieno di errori sintattici e non. Innanzitutto che editor utilizzi, perchè con un qualsiasi editor appena decente ti saresti accorto che l'errore non è alla riga 18 bensì alla 10 nella quale dimentichi di chiudere le virgolette finali. Inoltre nella stessa riga manca anche una virgola ed una parentesi tonda di chiusura.
La riga corretta dovrebbe essere questa:

PHP:
mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES('".$_POST['team']."','".$_POST['manager']."','".$_POST['email']."','".$_POST['nickname']."','".$_POST['password']."'");

Comunque ti ridarà subito errore alla riga 15. Cos'è questo???

PHP:
function ();

Per finire ci sono ancora innumerevoli errori a seguire e non chiudi la graffa finale.
Non è un problema di conoscere o meno PHP o MySQL, ma di puro buonsenso ed un minimo di accortezza nello scrivere il codice piuttosto che effettuare dei semplici copia ed incolla.
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Con php edit mi dice che non ci sono errori di sintassi!Ora però ci sono due problemi:

Quando inserisco tutti i dati,mi dice "Errore nella registrazione.No database selected."
Quando non li inserisco mi manda a questa pagina http://beamanager.altervista.org/95.227.202.6?msg=

che non esiste...

Il codice modificato è questo:

PHP:
<?php
$dbhost = "localhost";
$dbuser = "beamanager";
$dbpass = "";
$dbname = "my_beamanager".

$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES('".$_POST['team']."','".$_POST['manager']."','".$_POST['email']."','".$_POST['nickname']."','".$_POST['password']."'");

mysql_close($db);

{
	require 'registrazione.php';

if(isset($_POST['registrati']) and $_POST['registrati'] == 'Registrati'){
	// allore entri nell'if e fai tutte le operazioni che ti servono...tipo

	$user=$_POST['user'];
	$pass=$_POST['pass'];
	$mail=$_POST['mail'];
	$manager=$_POST['manager'];
	$team=$_POST['team'];

}
else{

	// il form non è stato inviato oppure è stato inviato ma il campo non contiene il valore corretto

}


if(!$user)
{
	reg_success.php;
	header('location: '.$_SERVER['REMOTE_ADDR'].'?msg='.$messaggio);
	exit;
}

$query = "INSERT INTO iscritti (team,manager,email,nickname,password)
VALUES ('$team','$manager','$mail','$user','$pass')";
	$result = mysql_query($query);

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

	$id_inserito = mysql_insert_id();

	mysql_close();

	$messaggio = urlencode("Registrazione effetuata con successo. (ID=$id_inserito)");
	header('location: '.$_SERVER['REMOTE_ADDR'].'?msg='.$messaggio);
} 
function mostra_form()
{
if(isset($_GET['msg']))
	echo '<b>'.htmlentities($GET['msg']).'</b><br /><br />';
}
?>
 
Ultima modifica:

minatore

Utente Attivo
25 Set 2007
410
0
0
PHP:
if(isset($_POST['user']))
	{
		$user=trim($_POST['user']);
		$pass=trim($_POST['pass']);
		$mail=trim($_POST['mail']);
		$manager=trim($_POST['manager']);
		$team=trim($_POST['team']);
		if(get_magic_quotes_gpc())
			{
				$user=stripslashes($user);
				$pass=stripslashes($pass);
				$mail=stripslashes($mail);
				$manager=stripslashes($manager);
				$team=stripslashes($team);
			}
		$user=htmlspecialchars($user);
		$pass=htmlspecialchars($pass);
		$mail=htmlspecialchars($mail);
		$manager=htmlspecialchars($manager);
		$team=htmlspecialchars($team);
												
		$user=mysql_real_escape_string($user);
		$pass=mysql_real_escape_string($pass);
		$mail=mysql_real_escape_string($mail);
		$manager=mysql_real_escape_string($manager);
		$team=mysql_real_escape_string($team);
					
		if(!$user || !$pass || !$mail || !$manager || !$team )
			{
				//se i campi sono vuoti invia un messaggio
								
			}
		else
			{
				$query_insert=mysql_query("INSERT INTO manager
				(user, password, mail, manager, team)
				VALUES
				('$user', '$pass', '$mail', '$manager',
	            '$team')")or die("errore nella query;".mysql_error());
			    //dai un messaggio di avvenuta registrazione			}		
	}
mysql_close();
meglio fare anche un controllo se la email è stata scritta in modo corretto
ciao
 

leon-kennedy

Utente Attivo
19 Mag 2010
147
0
0
Ciao e 1000 grazie!0:)

Ora però mi da un errore all'ultima riga e mi sembra strano dato che ho semplicemente chiuso il codice php!:confused:

PHP:
<?php
$dbhost = "localhost";
$dbuser = "beamanager";
$dbpass = "";
$dbname = "my_beamanager".

$db = mysql_connect($dbhost, $dbuser, $dbpass);
mysql_select_db($dbname, $db);

mysql_query("INSERT INTO iscritti (team,manager,email,nickname,password) VALUES('".$_POST['team']."','".$_POST['manager']."','".$_POST['email']."','".$_POST['nickname']."','".$_POST['password']."'");

mysql_close($db);

{
	

if(isset($_POST['registrati']) and $_POST['registrati'] == 'Registrati'){
	// allore entri nell'if e fai tutte le operazioni che ti servono...tipo

if(isset($_POST['user'])) 
    { 
        $user=trim($_POST['user']); 
        $pass=trim($_POST['pass']); 
        $mail=trim($_POST['mail']); 
        $manager=trim($_POST['manager']); 
        $team=trim($_POST['team']); 
        if(get_magic_quotes_gpc()) 
            { 
                $user=stripslashes($user); 
                $pass=stripslashes($pass); 
                $mail=stripslashes($mail); 
                $manager=stripslashes($manager); 
                $team=stripslashes($team); 
            } 
        $user=htmlspecialchars($user); 
        $pass=htmlspecialchars($pass); 
        $mail=htmlspecialchars($mail); 
        $manager=htmlspecialchars($manager); 
        $team=htmlspecialchars($team); 
                                                 
        $user=mysql_real_escape_string($user); 
        $pass=mysql_real_escape_string($pass); 
        $mail=mysql_real_escape_string($mail); 
        $manager=mysql_real_escape_string($manager); 
        $team=mysql_real_escape_string($team); 
                     
        if(!$user || !$pass || !$mail || !$manager || !$team ) 
            { 
                //se i campi sono vuoti invia un messaggio 
                                 
            } 
        else 
            { 
                $query_insert=mysql_query("INSERT INTO manager 
                (user, password, mail, manager, team) 
                VALUES 
                ('$user', '$pass', '$mail', '$manager', 
                '$team')")or die("errore nella query;".mysql_error()); 
                //dai un messaggio di avvenuta registrazione            }         
    } 
mysql_close();  

	

	$messaggio = urlencode("Registrazione effetuata con successo. (ID=$id_inserito)");
	header('location: '.$_SERVER['REMOTE_ADDR'].'?msg='.$messaggio);
} 
function mostra_form()
{
if(isset($_GET['msg']))
	echo '<b>'.htmlentities($GET['msg']).'</b><br /><br />';

}
?>
 
Discussioni simili
Autore Titolo Forum Risposte Data
A [PHP] Controllo nome utente form di registrazione PHP 4
X__WELBO__X [css] form registrazione utente HTML e CSS 9
P [PHP] come criptare una password in un form di registrazione PHP 4
F form registrazione PHP 3
F Codic e php visibile su form registrazione utenti PHP 2
L errore mysql per form di registrazione PHP 3
D Form Registrazione con conferma via email - problema PHP 10
L Form di registrazione e log in. PHP 2
S Problemi form registrazione newsletter PHP 0
C Form registrazione Bootstrap PHP 0
C Form di registrazione personalizzato PHP 2
F script php form registrazione PHP 13
F Controlli form per Registrazione utenti PHP 9
S Memorizzare nome file allegato da form registrazione PHP 1
C Form login e registrazione aruba Hosting 7
A form registrazione + php + alert javascript Javascript 6
emanuelevt form per registrazione Javascript 2
C Cancellazione-Annulla Registrazione Dati appena Inseriti nel Form dall' Utente PHP 13
P Aiuto form registrazione utenti PHP 5
I Creare un form di registrazione PHP 7
B Form di registrazione Classic ASP 0
W Form di registrazione HTML e CSS 5
M problema form registrazione Classic ASP 1
S passare un valore da un form a un file .php con metodo post PHP 4
K Form che manda dati doppi PHP 1
K Problema form update PHP 2
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
K form Inserimento record mysql PHP 2
I Form con selettore HTML e CSS 0
K [php]form invio dati PHP 0
G form invio multiplo con checkbox PHP 12
nivaria.achinet Intercettare form solo dopo invio Javascript 1
D Form contatti non funzionante HTML e CSS 0
A Stampare dati da form PHP 8
M Unire 2 funzioni per l'invio di un form e con l'apertura di un div Javascript 0
I Form HTML e CSS 17
otto9due $_FILE non passa i dati dal form PHP 1
M Form: come tornare ai campi già compilati dopo invio PHP 1
G Invio form con PHP PHP 3
felino Form action costum e parametri in queryString WordPress 1
M Come recuperare molteplici input form PHP 1
M Collegamento tra form html e script php PHP 4
L form immagini per il database PHP 0
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
L inserimento form dati multipli ? PHP 0
L Problemi form Pagina php HTML e CSS 3
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
D Devo far funzionare un form di contatti PHP 4

Discussioni simili