Page blanche

sanhoua Messages postés 11 Date d'inscription jeudi 3 décembre 2009 Statut Membre Dernière intervention 26 janvier 2012 - 15 déc. 2009 à 16:01
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 19 déc. 2009 à 10:57
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 page de login qui ne sert qu'a loguer les utilisateurs et en fonction de ton login et mot de passe tu es redirigé sur une page.
==


Pseudo






Mot de passe










=====
juste un formulaire qui pointe vers le fichier login.php3 que voici
==

4 réponses

phpAnonyme Messages postés 392 Date d'inscription mercredi 28 octobre 2009 Statut Membre Dernière intervention 23 mars 2012 55
18 déc. 2009 à 14:50
Salut

- Tu ne doit pas couper ton else ainsi ! ( ligne du mysql_result() )
- Tu récupère mal le pseudo, tu utilise la méthode post dans ton formulaire, utilise la variable superglobale prévue à cette effet !

______________________________________________________________________
0
davidcian Messages postés 186 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 19 décembre 2009 1
19 déc. 2009 à 10:01
Essais ca:

Mais bon vu ce que tu veux faire il y a beaucoup plus simple...

Par contre fait attention à la présentation et à la syntaxe.

<?
require("protec/passe/conf.php3");

$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo="".$pseudo."" and passe="".$passe.""",$db_link);
if(mysql_num_rows($requete)==0){
header("Location:".$url_erreur);
exit;
}else{
$destination=mysql_result($requete,$i,"destination");
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++){
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}

$requete=mysql_db_query($sql_bdd,"update membre set id="".$id."" where pseudo="".$pseudo."" and passe="".$passe.""",$db_link);

header("Location:".$destination."?id=$id");
}

mysql_close($db_link);
?>


Un code bien présenté c'est des erreur de syntaxe évité ;)

Az
0
davidcian Messages postés 186 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 19 décembre 2009 1
19 déc. 2009 à 10:04
Ha p'tite erreur j'ai raté une variable...

<?
require("protec/passe/conf.php3");

$db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo="".$pseudo."" and passe="".$passe.""",$db_link);
if(mysql_num_rows($requete)==0){
header("Location:".$url_erreur);
exit;
}else{
$destination=mysql_result($requete,$i,"destination");
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++){
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}

$requete=mysql_db_query($sql_bdd,"update membre set id="".$id."" where pseudo="".$pseudo."" and passe="".$passe.""",$db_link);

header("Location:".$destination."?id=".$id);
}

mysql_close($db_link);
?>


Az
0
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
19 déc. 2009 à 10:57
Salut,

Juste comme ça en passant :
'<?' est à bannir => '<?php' sinon tu vas avoir de gros pbs d'ici peu de temps

'mysql_db_query' est à bannir => mysql_query(), ou mieux, PDO sinon tu vas avoir de gros pbs d'ici peu de temps

'.php3' ??!!! est à bannir => extension '.php' sinon tu vas avoir de gros pbs d'ici peu de temps (si tu changes d'hébergeur notamment ou lorsque l'actuel évoluera)

pseudo="".$pseudo."" est à bannir (comme le soulignait PhpAnonyme) => $_POST['pseudo'] sinon tu vas avoir de gros pbs d'ici peu de temps.
Voir :
http://fr.php.net/manual/fr/security.globals.php
http://fr.php.net/manual/fr/function.mysql-real-escape-string.php

srand() n'est plus requis depuis des lustres, et toute ta partie de génération d'un id aléatoire peut tenir en 1 seule ligne (voir uniqid())
D'ailleurs j'ai du mal à comprendre à quoi peut te servir cet id.

mysql_close($db_link); => inutile

Attention, il vaut mieux mettre un espace après le location de header :
header("Location:[espace]".$destination."?id=$id");


Dis moi, tu n'es pas en php 3 tout de même ???


Cordialement,

Kohntark -
0
Rejoignez-nous