cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007
-
8 janv. 2006 à 15:36
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009
-
13 janv. 2006 à 18:20
Bonjour,
Je cherche a réaliser un Espace Membre pour mon site internet , je m'y connais pas trop en php du coup j'ai cherché un script sur internet et quand je le test j'ai une erreur telle que :
Notice: Undefined variable: send in d:\weblocal\sites\sitematheosphere\forminscription.php on line 7
Je vous met le script en question ci dessous. C'est pour l'inscription d'un membre, ils remplissent un formulaire et ca envoi les champs saisis sur cette page php
j'espére que vous pourrez me venir en aide, Merci.
Mathieu
<?php
// On include le fichier config.php ( pour accéder a la bd )
include("config.php");
// On vérifie si tout les champs du formulaire on bien été rempli !
if($send =="ADD") ( La ligne 7 est celle ci !! )
{
if(empty($Pseudo) or (empty($Passe)))
{
// Si un champ est vide, on envoi un message d'erreur
echo('Un champ est vide');
}
else // Sinon on passe
{
// Maintenant, on vas vérifier si un membre a déjà ce pseudo
$requete = mysql_query("select pseudo from membres where Pseudo="$Pseudo"");
// Nombre d'enregistrements
$nb = mysql_numrows($requete);
// si il y a plus de 0 enregistrement avec le meme pseudo, on affiche un message d'erreur
if($nb>0)
{
echo("Désolé ce pseudo est déja utilisé par un autre membre");
}
else // sinon on passe
{
// maintenant on vas inserer les informations dans la table "membres"
mysql_query("insert into membres values("","$Pseudo","$Passe","$Nom","$Prenom")");
// Puis, on affiche le message de confirmation
echo("Inscription ok");
}
}
}
// On ferme la connection à la base de donnée
mysql_close();
?>
---------------------------------------------------------------------------------------------
ONG Cambodgienne: http://komaregree.free.fr
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 8 janv. 2006 à 15:59
Salut, sans doute que tu n'a jamais utilisé ta variable send, elle représente quoi ?
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 8 janv. 2006 à 16:47
je te remercie arnauti pour ta reponse
Bah en fait oui c vrai que je m'en sert nul part mais je pensais que c'etait une fonction predefinie...
Du coup j'ai supprimé la ligne ( sans oublier les {} )
Mais ce qui se passe maintenant , alors que je remplis bien tout les champs par des valeurs de test, quand je valide le formulaire j'ai le message d'erreur : " un champ est vide"
Je remet le code au cas ou :
<!-- DEBUT DU SCRIPT mail.php3-->
<?php
// On include le fichier config.php
include("config.php");
// On vérifie si tout les champs du formulaire on bien été rempli !
//if($send =="ADD")
//{
if(empty($Pseudo) or (empty($Passe)))
{
// Si un champ est vide, on envoi un message d'erreur
echo('Un champ est vide');
}
else // Sinon on passe
{
// Maintenant, on va vérifier si un membre a déjà ce pseudo
$requete = mysql_query("select pseudo from membres where Pseudo="$Pseudo"");
// Nombre d'enregistrements
$nb = mysql_numrows($requete);
// si il y a plus de 0 enregistrement avec le meme pseudo, on affiche un message d'erreur
if($nb>0)
{
echo("Désolé ce pseudo est déja utilisé par un autre membre");
}
else // sinon on passe
{
// maintenant on vas inserer les informations dans la table "membres"
mysql_query("insert into membres values("","$Pseudo","$Passe","$Nom","$Prenom")");
// Puis, on affiche le message de confirmation
echo("Inscription ok");
}
}
//}
// On ferme la connection à la base de donnée
mysql_close();
?>
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 8 janv. 2006 à 19:52
Ok j'avais pas mis $_POST[] avant les variable !!
Bon maintenant ca me marque plus d'erreur, MErci a Vous Mais par contre ca ne m'ecrit rien dans ma Base de Données !! crotte de bique roulé dans la farine ! j'y croyais moi !!
au vu du script y'a quelque chose qui saute au yeux ou c'est a voir autre part?
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 10 janv. 2006 à 11:17
Bon alors j'ai enlevé l'auto implementation mais va ne change pas grand chose ; je vous met le script complet avec mes requetes, je comprend vraiment pas pourquoi ca n'enregistre pas.
...
// on calcul l'id la plus haute et on rajoute 1
$requete2=mysql_query("SELECT max( 'Id' )FROM `membre`");
$i=1;
$Id=$i+$requete2;
// maintenant on vas inserer les informations dans la table "membre"
$requete3=mysql_query("insert into membre values('$Id','$Pseudo','$Passe','$Nom','$Prenom','$Age','$Adresse','$Adresse2','$Cp','$Ville','$Pays','$Adresse_mail');");
echo "Les valeurs : $requete3 On bien été ajoutés a la Bd ";
}
}
// On ferme la connection à la base de donnée
mysql_close();
?>
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 10 janv. 2006 à 22:00
Salut, ba moi pour inserrer je ferais :
$requete3=mysql_query("INSERT INTO membre ('champ1', 'champ2')
values('$Id','$Pseudo','$Passe','$Nom','$Prenom','$Age','$Adresse','$Adresse2','$Cp','$Ville','$Pays','$Adresse_mail');");
Tu vois ce que je veux dire. Sinon, met, MYSQL ne te sors aucune erreur ?
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 10 janv. 2006 à 22:35
Pouaaa... bah ecoute j'ai fait comme tu disais ca fonctionne en local... mais pas sur le web !! Snif !! j'en peux plus elle m'en auras fait voir de tte les couleurs cette Bd !
C'est fou ca, et non ca me met aucune erreur, juste l'echo qui me dit que l'inscription c'est bien passé.. .reuhm reuhm enfin "aurait du bien ce passer !!
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 10 janv. 2006 à 22:41
Salut, fait ca pour voir si il n'y a pas une erreur :
$sql = 'Ta requete' ; // On crée la requete
$exe = mysql_query($sql) or die('Erreur Mysql. '.mysql_error()) ;
Voilà, décompose la et peux être que la il te sortiras une erreur.
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 11 janv. 2006 à 09:01
Merci,
J'ai en effet des erreurs,
En local alors que ca enregistre tout de même dans la Bd il me met l'erreur :
Erreur Mysql. Erreur de syntaxe près de '1' à la ligne 1
Et sur le web il n'enregistre dans la Bd et me met l'erreur :
Erreur Mysql. Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
pour la 1ere erreur je vois pas bien ou je pourrais avoir une erreur de syntaxe puisque la 1ere ligne c'est l'entete :
<!-- DEBUT DU SCRIPT mail.php3--> ( ==> 1ere Ligne)
<?php
// On include le fichier config.php
include("config.php");
Pour la seconde erreur... Je suis hebérgé chez 1et1, ils on bien une Bd qui accépte le php et j'ai reussi a faire un formulaire contact donc l'accés a la Bd est possible mais je compend pas c'est quoi un socket?
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 11 janv. 2006 à 09:40
Un socket, je sais pas.
Pour l'erreur sur le web, question bête et tu sur que ton fichier config est bon ? Car la, je ne vois pas vraiment...
Pourrais tu me donner ta requete entière stp ?
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 11 janv. 2006 à 11:44
Pour info : Socket = Interface de programmation permettant les communications entre Unix et un réseau basé sur les protocoles définis par TCP-IP. Placées sur les protocoles de réseau SNA, les sockets permettent à des applications concues initialement pour TCP-IP d'utiliser les protocoles d'IBM.
Voila, :) Merci commentcamarche
Sinon ma requete est la suivante :
$requete3=mysql_query("insert into membre values("","$Pseudo","$Passe","$Nom","$Prenom","$Age","$Adresse","$Adresse2","$Cp","$Ville","$Pays","$Adresse_mail")");
$exe = mysql_query($requete3) or die('Erreur Mysql. '.mysql_error()) ;
J'ai bien vérifié le fichier config, il a l'air bon, les paramétres rentrés en tt cas sont ceux écrit sur le site. Je le met au cas où...
<?php
// Url base de donnée.
$Serveur_db ="db205.unetun.com";
// login/identification pour base de donnée
$User_db ="***";
// mot de passe pour base de donnée
$Passe_db ="***";
// Nom base de donnée
$Base_name="db14268";
// Connection à MySQL
$Connect_db = mysql_connect($Serveur_db,$User_db,$Passe_db)
or die("Connection impossible");
// Sélection de la base de donnée
mysql_select_db($Base_name,$Connect_db)
or die("Connection impossible a la base de données");
?>
cs_Arnauti
Messages postés392Date d'inscriptionmercredi 24 novembre 2004StatutMembreDernière intervention26 septembre 2009 11 janv. 2006 à 16:14
Salut, je pense que (je suis vraiment pas sur et je pense pas qu'il y ai beaucoup de chance) :
$requete3 = 'insert into membre values(" ","$Pseudo","$Passe","$Nom","$Prenom","$Age","$Adresse","$Adresse2","$Cp","$Ville","$Pays","$Adresse_mail")');
$exe = mysql_query($requete3) or die('Erreur Mysql. '.mysql_error()) ;
A++
<hr size="2" width="100%">Si un des membres à poster une reponse qui convient, accepter là !
cs_matheo54
Messages postés65Date d'inscriptionlundi 20 décembre 2004StatutMembreDernière intervention28 novembre 2007 11 janv. 2006 à 17:20
non comme ca ca me met une erreur, ... Parse error: parse error in d:\weblocal\sites\sitematheosphere\forminscription.php on line 65 ( ligne de la requete )