Aide Mysql svp!!!!

djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010 - 24 déc. 2005 à 11:55
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015 - 25 déc. 2005 à 22:16
Salut a tous!!!
Voila J'EN AI MARRE!!!!Ca fait 1 semaine que j'essaie par des tutos et tout le bordel de faire un formulaire d'inscription pour mon site mais j'arrive po !!! La page html arrive bien je rentre les données et tout puis elles passent par la page php pour arriver sur ma base de données!!! Le probleme c'est que la ligne qu'il enregistre (car il en crée une quend même --> connexion ok) est vierge!!!!Voici mes 2 codes. La table est tbl_user et les champs sont : id(auto increment), nom, prenom, pseudo, login, pwd, email, pg_perso ! Merci d'avance!!!Je n'ai jamsi fait de php ni de mysql avant ca!! ^^ Voici mes codes:

<html>
<title>
Inscription
</title>

<form method="post" action="inscription.php">
Nom :

Prénom :

Pseudo :

Login :

Mot de passe :

Email :

Page perso :

</form>

</html>

<?
//connexion à la base
$db = mysql_connect('xxxxxx','xxxxxxxx','xxxxxxxx') or die ('erreur de connexion');
//sélection de la base
mysql_select_db('xxxxxxxxx',$db);


//J'identifie les variables
$nom = $_post["nom"];
$prenom = $_post["prenom"];
$pseudo = $_post["pseudo"];
$login = $_post["login"];
$pwd = $_post["pwd"];
$email = $_post["email"];
$pg_perso = $_post["pg_perso"];



//J'envoie la requête d'insertion des données
mysql_query("INSERT INTO tbl_user (id,nom,prenom,pseudo,login,pwd,email,pg_perso) VALUES (' ','$nom','$prenom','$pseudo','$login','$pwd','$email','$pg_perso')");


//Je récupère les données du formulaire
echo 'Bonjour $prenom , merci pour votre inscription et bienvenue sur le site de DjGje. Vous pouvez maintenant vous logger normalement!';


//on ferme la connexion
mysql_close();
?>

MERCI ENCORE!!!!

++

DjGje

22 réponses

cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
24 déc. 2005 à 12:04
$_post en majuscules : $_POST

Cordialement.

JC
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
24 déc. 2005 à 12:14
en principe pas besoin des $_POST



mysql_query("INSERT INTO tbl_user VALUES

(NULL,'$nom','$prenom','$pseudo','$login','$pwd','$email','$pg_perso')");



trace ton code avec affichage des variables (echo) comme $bd et les champs de formulaire



là je ne vois pas...
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 déc. 2005 à 12:53
"en principe pas besoin des $_POST" Erreur la plus visible sur un paquet de codes... Il FAUT utiliser $_POST[], autrement c'est la voie ouvert à tout et à n'importe quoi !

tu peux faire des or die() avec mysql_query aussi !
0
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
24 déc. 2005 à 12:59
"en principe pas besoin des $_POST".

Il n'y a pas de principe, ceci dépend du paramétrage du php.ini :
register_globals = on, pas besoin,
register_globals = off, indispensable.

Depuis php 4.2.0, c'est 'off' par défaut.

Cordialement.

JC
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_jeca Messages postés 341 Date d'inscription mercredi 17 juillet 2002 Statut Membre Dernière intervention 14 juillet 2011 14
24 déc. 2005 à 13:02
Grillé sur le poteau
0
djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010
24 déc. 2005 à 13:05
ben voila!!!
Tout d'abord merci a tous!!!
C'était en effet le post au lieu de POST!!!!
Je ne savais pas désolé!!!C'est en se cassant la gueule qu'on apprend à marcher non?!
Voila donc le formulaire marche, il inscrit tout dans ma base de données mais le problème c'est la page qu'il écrit après:


//Je récupère les données du formulaire
echo 'Bonjour $prenom , merci pour votre inscription et bienvenue sur le site de DjGje. Vous pouvez maintenant vous logger normalement!';

Là il ne m'écrit pas le prénom de l'inscrit comme je voudrais mais laisse $prenom .

Si quelqu'un pouvait me resoudre ce petit probleme!!!

Merci a tous

Joyeux Noël!!!

++
0
djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010
24 déc. 2005 à 13:12
c bon sa marche!!!!

Je dois vraiment vous faire chier la!!
mais meme si c'est enregistré je n'arrive pas à me logger!!!!
voici mon code:

<?
$db = mysql_connect('xxxxxxx','xxxxxxx','xxxxxxx') or die ('erreur de connexion');
//sélection de la base
mysql_select_db('xxxxxxx',$db);


if(isset($_POST) && !empty($_POST['login']) && !empty($_POST['pass'])) {
extract($_POST);
// on recupère le password de la table qui correspond au login du visiteur
$sql = "select pwd from tbl_user where login='".$login."'";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());


$data = mysql_fetch_assoc($req);


}
if($data['pwd'] != $pass) {
echo 'Mauvais login / password ou le compte n'existe pas encore!Merci de recommencer ou de vous inscrire!

' ;
include('login.htm'); // On inclus le formulaire d'identification
exit;
}
else {
session_start();
$_SESSION['login'] = $login;

echo 'Bienvenue sur le site de DjGje!';
// ici vous pouvez afficher un lien pour renvoyer
// vers la page d'accueil de votre espace membres
}
}
else {
echo 'Vous avez oublié de remplir un champ.

';
include('login.htm'); // On inclut le formulaire d'identification
exit;
}



?>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 déc. 2005 à 13:19
extract($_POST);

Rahhhh !!! Jvais m'énerver la !

SI ON DIS QU'IL FAUT GARDER LA SUPERGLOBAL $_POST[], TU CROIS QUE C'EST POUR Y FAIRE UN EXTRACT DERRIERE ???!!!!!!!!!!!!!!!!

"//Je récupère les données du formulaire
echo 'Bonjour $prenom ,
merci pour votre inscription et bienvenue sur le site de DjGje. Vous
pouvez maintenant vous logger normalement!';"
Il faut utiliser la concaténation :
echo 'Bonjour '.$prenom.', merci pour votre ....... ';
0
djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010
24 déc. 2005 à 13:24
Excuse mais je pige rien la!!!
tu peux pas parler francais stp!!!
dsl
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 déc. 2005 à 13:34
Bah tu utilises le dictionnaire intelligent google, ou alors via www.php.net :o

extract() est déconseillé car il vaut mieux utiliser $_POST[$tavariable] plutot que $tavariable DIRECTEMENT. Si on a fait ca pour PHP4, c'est pas pour rien niveau sécurité !

Concaténation : base de la programmation PHP.
$var = 'moi';

echo 'Salut $var'; // Affiche Salut $var
echo "Salut $var"; // Affiche Salut moi (déconseillé)
echo 'Salut '.$var; // Affiche Salut moi (conseillé)
echo "Salut ".$var; // Affiche Salut moi (+ ou - conseillé)

Tout simple pourtant !
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
24 déc. 2005 à 19:30
Salut,

problème posé résolu, mais solution mal codée...

on va essayer de faire mieux...





<?
php


$db = mysql_connect('xxxxxxx','xxxxxxx','xxxxxxx')

or die ('erreur de connexion');

mysql_select_db('xxxxxxx',$db);

if(isset($_POST['login']) && isset($_POST['pass']) && !empty($_POST['login']) && !empty($_POST['pass'])) {

$sql = 'select pwd from tbl_user where login="'.$_POST['login'].'";';

$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());

$data = mysql_fetch_assoc($req);

}

if($data['pwd'] !== $_POST['pass']) {

echo 'Mauvais login / password ou le compte n'existe pas
encore!Merci de recommencer ou de vous inscrire!

' ;

include('login.htm');

exit();

}else {

session_start();

$_SESSION['login'] = $_POST['login'];

echo 'Bienvenue sur le site de DjGje!';

}

}else{

echo 'Vous avez oublié de remplir un champ.

';

include('login.htm');

exit();

}

?>

j'ai mis en
rouge les erreurs graves, et j'ai corigé quelques petites choses
autrement (les parenthèses de exit) qui sont discutables...


In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 déc. 2005 à 19:56
Salut,

attention aux erreurs de sql injection.

J'apporte ma petite pierre :

<?
php
if(get_magic_quotes_gpc()===0)

{

$_POST['login']=addslashes($_POST['login']); //ou mysql_real_escape_string() (je préfère addslashes niveau longueur à taper mdr)

}


mysql_connect('xxxxxxx','xxxxxxx','xxxxxxx') or die ('erreur de connexion');
mysql_select_db('xxxxxxx',$db);

if(!isset($_POST['login'],$_POST['pass']) OR empty($_POST['login']) OR !empty($_POST['pass'])) {
echo 'Vous avez oublié de remplir un champ.

';
include 'login.htm';
exit;
}

$req = mysql_query('SELECT pwd FROM tbl_user WHERE login="'.$_POST['login'].'"') or die('Erreur SQL !'.mysql_error());
mysql_close();

$data = mysql_fetch_row($req);

if($data[0] !== $_POST['pass'])
{
echo 'Mauvais login / password ou le compte n'existe pas encore!Merci de recommencer ou de vous inscrire!

' ;
include 'login.htm';
}
else
{
session_start();
$_SESSION['login'] = $_POST['login'];
echo 'Bienvenue sur le site de DjGje!';
}
?>

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
24 déc. 2005 à 19:57
oups un ! en trop

if(!isset($_POST['login'],$_POST['pass']) OR empty($_POST['login']) OR empty($_POST['pass'])) {
echo 'Vous avez oublié de remplir un champ.

';
include 'login.htm';
exit;
}

bref le !empty($_POST['pass']) est à remplacer par empty($_POST['pass'])
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
24 déc. 2005 à 22:41
Autant rajouter un mysql_real_escape_string() dans ce cas la :)
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
25 déc. 2005 à 10:48
//ou mysql_real_escape_string() (je préfère addslashes niveau longueur à taper mdr)

<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 déc. 2005 à 11:45
mysql_real_escape_string() échappe d'autres caractères que addslashes() ne fait pas. Et pis d'abord, si tu te fais une fonction d'échappement automatique, il ne devrait pas y avoir de problème au niveau de la longueur à taper hein :o

Regarde la petite fonction que j'ai faite vite fait, y'a pas besoin que je tape mysql_real_escape_string() à chaque fois ! :)
0
djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010
25 déc. 2005 à 13:21
Merci à tous d'avoir passé un peu de votre temps à résoudre mon problème!!!!
Vous êtes des fous de programmation vous non??!!!!!
Franchement ca fait plaisir de voir que les gens peuvent s'interresser à d'autres choses que les leurs et qu'ils peuvent encore penser aux autres!!!!

Joyeux Noël à tous!!!!

++

DjGje
0
djgje Messages postés 20 Date d'inscription vendredi 21 octobre 2005 Statut Membre Dernière intervention 4 mai 2010
25 déc. 2005 à 14:09
apres avoir modifier login.php avec un des codes complets de plus au j'aobtiens:

Parse error: parse error, unexpected '}' in /www/sites/1/ifrance.com/d/j/djgje/site/login.php on line 18
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
25 déc. 2005 à 16:38
y'a une accolade en trop ou en moins.
0
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
25 déc. 2005 à 16:40
Un block de condition n'est pas fermé ou il manque une ; après une
instruction... si tu mettais le code on pourrait peut être t'aider mais
là comme ça ce ne sont que des suppositions... .. .



@ tchaOo°




l'homme est un loup pour l'homme... .. .
0
Rejoignez-nous