Accueil > Forum > > > > Requête SELECT en échec dans case new et Connexion impossible au serveur dans case login
Requête SELECT en échec dans case new et Connexion impossible au serveur dans case login
mardi 5 octobre 2010 à 19:27:26 |
Requête SELECT en échec dans case new et Connexion impossible au serveur dans case login

Averell34
|
  Bonjour,
Je débute en PHP et j'essai de faire un espace réservé pour mon site, seulement, voilà les réponses quand je clique sur :
enregistrez vous : Requête SELECT en échec dans case new
identifiez vous : Connexion impossible au serveur dans case login
voici le fichier login.php
Code PHP : <?php
/* Programme : Login.php
* Description : Programme de login pour la section à accès réservé
* Il propose deux options :
* 1 - s'identifier par un couple nom de login/mot de passe
* 2 - créer un nouveau compte
* Identificateurs et mots de passe sont conservés
* dans une base de données MySQL.
*/
session_start(); # 1
include("chiens.inc"); # 2
switch (@$_POST['do']) # 3
{
case "login": # 4
$cxn = mysql_connect($host, $user,$password,$database)
or die ("Connexion impossible au serveur dans case login"); # 5
$sql = "SELECT loginName FROM membres
WHERE loginName='$_POST[fusername]'"; # 6
$result = mysql_query($cxn,$sql)
or die("Requête en échec 1.");
$num = mysql_num_rows($result); # 7
if ($num > 0) // loginname non trouvé # 8
{
$sql = "SELECT loginName FROM membres # 9
WHERE loginName='$_POST[fusername]'
AND password=md5('$_POST[fpassword]')";
$result2 = mysql_query($cxn,$sql)
or die("Requête en échec 2.");
$num2 = mysql_num_rows($result2);
if ($num2 > 0) // Mot de passe OK #10
{
$_SESSION['auth']="yes";
$logname=$_POST['fusername'];
$_SESSION['logname'] = $logname;
$today = date("d-m-y h:i:s");
$sql = "INSERT INTO login (loginName,loginTime)
VALUES ('$logname','$today')";
$result = mysql_query($cxn,$sql)
or die("INSERT en échec.");
header("Location: membre_page.php"); /***** *****/
}
else // mot de passe incorrect #11
{
$message="Le nom de Login '$_POST[fusername]'
existe, mais le mot de passe ne
va pas ! Réessayez.<br>";
include("login_form.inc"); #12
}
}
elseif ($num == 0) // Nom de login introuvable #13
{
$message = "Le nom de login que vous avez saisi
n'existe pas. Essayez encore.<br>";
include("login_form.inc");
}
break; #14
case "new": #15
/* Recherche de champs vides */
foreach($_POST as $field => $value) #16
{
if ($field != "fax") #17
{
if ($value == "") #18
{
$blanks[] = $field;
}
}
}
if(isset($blanks)) #19
{
$message_new = "Champs non saisis. Veuillez
les renseigner : ";
foreach($blanks as $value)
{
$message_new .= "$value, ";
}
extract($_POST);
include("login_form.inc");
exit();
}
/* Validation des données */
foreach($_POST as $field => $value) #20
{
if(!empty($value))
{
if(eregi("name",$field) and
!eregi("login",$field))
{
if (!ereg("^[A-Za-z' -]{1,50}$",$value))
{
$errors[]="$value n'est pas un nom valide.";
}
}
if(eregi("street",$field) or
eregi("addr",$field) or eregi("city",$field))
{
if(!ereg("^[A-Za-z0-9.,' -]{1,50}$",$value))
{
$errors[] = "$value est incorrect.";
}
}
if(eregi("state",$field))
{
if(!ereg("[0-9A-Za-z]{2}",$value))
{
$errors[]="$value est refusé pour state.";
}
}
if(eregi("email",$field))
{
if(!ereg("^.+@.+\\..+$",$value))
{
$errors[] = "$value est refusé comme email.";
}
}
/* if(eregi("zip",$field))
{
if(!ereg("^[0-9]{5,5}(\-[0-9]{4,4})?$",
$value))
{
$errors[]="$value n'est pas un zipcode
autorisé.";
}
}
if(eregi("phone",$field)
or eregi("fax",$field))
{
if(!ereg("^[0-9)(xX -]{7,20}$",$value))
{
$errors[] = "$value n'est pas un numéro
de téléphone. ";
}
}
*/
} // Fin de if empty
} // Fin de foreach
if(@is_array($errors)) #21
{
$message_new = "";
foreach($errors as $value)
{
$message_new .= $value." Réessayez<br />";
}
extract($_POST);
include("login_form.inc");
exit();
}
/* Nettoyage des données */
$cxn = mysql_connect($host,$user,$password,$database);
foreach($_POST as $field => $value) #22
{
if($field != "Button" and $field != "do")
{
if($field == "password")
{
$password = strip_tags(trim($value));
}
else
{
$fields[]=$field;
$value = strip_tags(trim($value));
$values[] =
mysql_real_escape_string($cxn,$value);
$$field = $value;
}
}
}
/* Le nom de login existe-t-il déjà ? */
$sql = "SELECT loginName FROM membres
WHERE loginName = '$loginName'"; #23
$result = mysql_query($cxn,$sql)
or die("Requête SELECT en échec dans case new.");
$num = mysql_num_rows($result);
if ($num > 0) #24
{
$message_new = "$loginName existe déjà.
Choisissez-en un autre.";
include("login_form.inc");
exit();
}
/* Ajout du nouveau membre dans la base */
else #25
{
$today = date("Y-m-d");
$fields_str = implode(",",$fields);
$values_str = implode('","',$values);
$fields_str .=",createDate";
$values_str .='"'.",".'"'.$today;
$fields_str .=",password";
$values_str .= '"'.","."md5"."('".$password."')";
$sql = "INSERT INTO membres ";
$sql .= "(".$fields_str.")";
$sql .= " VALUES ";
$sql .= "(".'"'.$values_str.")";
$result = mysql_query($cxn,$sql)
or die("Requête INSERT en échec.");
$_SESSION['auth']="yes"; #26
$_SESSION['logname'] = $loginName;
/* Envoyer un email au nouveau membre */ #27
$emess = "Un nouveau compte de membre vient d'être créé. ";
$emess.= "Votre identificateur et votre mot de passe sont : ";
$emess.= "\n\n\t$loginName\n\t$password\n\n";
$emess.= "Nous apprécions l'intérêt que vous portez à notre site.\n\n";
$emess.= "Si vous avez des questions à poser, vous pouvez envoyer ";
$emess.= "un e-mail au webmaster";
$ehead="From: lolovillage@free.fr\r\n";
$subj = "Votre nouveau compte à l'UFAP";
$mailsnd=mail("$email","$subj","$emess","$ehead");
header("Location: Nouveau_membre.php"); #28
}
break;
default: #29
include("login_form.inc");
}
?>
ainsi que le fichier nouveau_membre.php
Code PHP : <?php
/* Programme : Nouveau_membre.php (New_member.php)
* Description : Affiche une page de bienvenue à l'intention
* du nouveau membre en l'appelant par ses prénom et nom. Il a
* ensuite le choix entre visiter les pages à accès réservé ou
* revenir à la page d'accueil du site Web.
*/
session_start();
if (@$_SESSION['auth'] != "yes")
{
header("Location: login.php");
exit();
}
include("chiens.inc");
$cxn = mysql_connect($host,$user,$password,$database)
or die ("Connexion en échec.");
$sql = "SELECT firstName,lastName FROM membres
WHERE loginName='{$_SESSION['logname']}'";
$result = mysql_query($cxn,$sql)
or die("Requête SELECT en échec dans Nouveau_membre");
$row = mysql_fetch_assoc($result);
extract($row);
echo "<html>
<head><title>Bienvenue au nouveau membre</title></head>
<body>
<h2 style='margin-top: .7in; text-align: center'>
Bienvenue à $firstName $lastName</h2>\n";
?>
<p>
Votre inscription en tant que membre.
vous permet de visiter les pages à accès réservé de notre site Web.
</p>
<p>
Nous vous avons envoyé par e-mail votre nom de login et votre
mot de passe. Conservez-les précieusement en vue de leur
prochaine utilisation.</p>
<div style="text-align: center">
<p style="margin-top: .5in; font-weight: bold">
Nous sommes heureux de vous compter parmi nous !</p>
<form action="http://www.ufap-cp-beziers.fr/crbst_0.html" method="POST">
<input type="submit"
value="Entrer dans la section réservée">
</form>
<form action="membre_page.php" method="POST">
<input type="submit" value="Revenir à la page d'accueil">
</form>
</div>
vous pouvez aussi voir ce que ça fait directement en visitant mon site :
UFAP
Pouvez-vous m'aider, je suis perdu ? 
Merci à tous
|
|
mercredi 6 octobre 2010 à 19:59:31 |
Re : Requête SELECT en échec dans case new et Connexion impossible au serveur dans case login

TopScritch
|
Bonjour,
Apparemment la variable $loginName n'est pas initialiser !!! (Ligne 188)
quel est le contenu de chiens.inc ?
|
|
Cette discussion est classée dans : login, sql, value, field, if
Répondre à ce message
Sujets en rapport avec ce message
Update table dans base mysql [ par morganb12 ]
Bonjour à tous. Je commence à me débrouiller en php et mysql, mais il me reste encore beaucoup de chose à apprendre. J'ai rédigé un ensemble de page
Verif formulaire [ par scorpion077 ]
Bonjourj'ai programmé deux pages en php. 1: index =...................................................................................................
parse error [ par Bartheleway ]
Voilà, je vous donne ma source. J'ai apparament un problème de programmation !!! <meta content="text/html; cha
page blanche [ par sanhoua ]
bonjour a tous après multiples essais je commences a m'ensortir mais hélas je suis coincé. je travaille avec dreamweaver mx, wampserver2. voici ma pag
Mon script JS ne s'éxecute pas ! [ par Oxygen89 ]
Bonjour, Je viens vous demander de l'aide, et croyez moi que étant autodidacte c'est difficile pour moi de venir demander de l'aide, mais là après av
création d'une plate forme d'une université (site web dynamique) [ par bestgirl88 ]
SVP est ce qu'il y a quelqu'un qui peut m'aider ... je suis entrain de faire un site web d'une faculté universitaire ... j'ai pu faire la partie du su
création d'une plate forme d'une université (site web dynamique) [ par radhouane1977 ]
Salut, SVP est ce qu'il y a quelqu'un qui peut m'aider ... je suis entrain de faire un site web d'une faculté universitaire ... j'ai pu faire la parti
probléme avec session et header [ par cherifzaynab ]
bonjour, pour l'authentification j'ai utiliser cette classe en php 5 <?php session_start(); include("connexionsimple.php"); class Auth{ static f
Aide pour trier mes données [ par blackblade ]
Hello Merci de bien vouloir aider un pur amateur !!! J'ai modifié une source trouvé sur le site pour un faire une sorte de fichier client chez nous. T
Livres en rapport
|
Derniers Blogs
ROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGEROSLYN FLUENT APIS: ROSLYNHELPER NUGET PACKAGE par Matthieu MEZIL
Si vous utilisez Roslyn et que vous vous voulez vous simplifier le code du code rewriter, je vous conseille d'installer mon NuGet package RoslynHelper ....(read more) ...
Cliquez pour lire la suite de l'article par Matthieu MEZIL POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|