VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Bug code source dans l'enregistrement O forum

ammmmmine 339Messages postés 22 février 2010Date d'inscription 21 avril 2012Dernière intervention - Dernière réponse le 2 mars 2010 à 18:46
Bonjour,
Pour faire court , j'ai un petit bug dans mon script pour la mise en place d'un forum dans mon site web :p.
le bug est situé dans la partie enregistrement du forum, et plus precisement dans la partie reservée a l'image antibot , cette derniere , j'arrive a l'afficher coorectement , mais je n'arrive as a trouver le probleme dans le if( ).
Si quelqu'un veut bien m'aider je lui en serais reconnaissant .
merci :)
Lire la suite 

Bug code source dans l'enregistrement O forum »

13 réponses
Réponse
+0
moins plus
Comment veux-tu qu'on t'aide avec ça ?
Il faudrait au moins nous donner ton code.
Ajouter un commentaire
Réponse
+0
moins plus
voici mon code ( il y'a peut etre des zones qui sont effacées pour eviter de divulger les infos sur mon site) :

<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);


$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
$milieu_html = NULL;
?>
<?php

$i = 0;
$temps = time();
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);
$milieu_html = mysql_real_escape_string($_POST['verif_code']);





$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}

if ($pass != $confirm || empty($confirm) || empty($pass))

$mdp_erreur = "Votre mot de passe et votre confirmation sont differents, ou sont vides";
$i++;

?>

<?php //partie antibot
if(Isset($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{ // Le champ du code de confirmation a été remplis
if($_POST['verif_code'] !== $_SESSION['aleat_nbr'])
{
$i++;
$milieu_html = 'Votre code de confirmation n est pas bon ! Merci de réessayer.';
}
}
?>
<?php



$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);

if ($nombremail != 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//verification de la forme
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides

if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}

$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}

$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<body>
<div class="contenu1">
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';

if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}


//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());


//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 2;

}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>'.$milieu_html.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
Ajouter un commentaire
Réponse
+0
moins plus
Ca fait presque une semaine que je cherche le petit "hic" dans ce code, donc celui qui le trouvera ou qui essayera :p de le trouver , aura mon entière gratitude :D
Ajouter un commentaire
Réponse
+0
moins plus
Utilise la balise code de CCM.
Ajouter un commentaire
Réponse
+0
moins plus
desolé avion, mais je suis noob , donc si quelqu'un veut bien me proposer une solution , merci
Ajouter un commentaire
Réponse
+0
moins plus
Place ton code entre la balise "code" quand tu écris un message sur ce site.
Une balise c'est comme ... strong, em, p, div, span, h1, h2, ...
Ajouter un commentaire
Réponse
+0
moins plus
non mais c'est bon t'inquiete, je ne vais quand meme pas lui faire une injection sql :) , sinon tu pourrais pas me donner stp le bon code , merci
Ajouter un commentaire
Réponse
+0
moins plus
bon aparement personne ne veut m'aider , alors , je laisse ce topic ouvert en attendant une reponse que je n'aurais peut etre jamais :'(
Ajouter un commentaire
Réponse
+0
moins plus
Depuis le début je te demande de mettre ton code dans la balise "code" de CCM !
Ajouter un commentaire
Réponse
+0
moins plus
<?php
//Cette fonction doit être appelée avant tout code html
session_start();

//On donne ensuite un titre à la page, puis on appelle notre fichier debut.php
$titre = "Index du forum";
include("includes/debut.php");
?>
<?php
//Maintenant, on se connecte à la base de données
include("includes/identifiants.php");
mysql_connect($adresse, $nom, $motdepasse);
mysql_select_db($database);


$pseudo_erreur1 = NULL;
$pseudo_erreur2 = NULL;
$mdp_erreur = NULL;
$email_erreur1 = NULL;
$email_erreur2 = NULL;
$msn_erreur = NULL;
$signature_erreur = NULL;
$avatar_erreur = NULL;
$avatar_erreur1 = NULL;
$avatar_erreur2 = NULL;
$avatar_erreur3 = NULL;
$milieu_html = NULL;
?>
<?php

$i = 0;
$temps = time();
$signature = mysql_real_escape_string($_POST['signature']);
$pseudo = mysql_real_escape_string($_POST['pseudo']);
$email = mysql_real_escape_string($_POST['email']);
$msn = mysql_real_escape_string($_POST['msn']);
$website = mysql_real_escape_string($_POST['website']);
$localisation = mysql_real_escape_string($_POST['localisation']);
$pass = md5($_POST['password']);
$confirm = md5($_POST['confirm']);
$milieu_html = mysql_real_escape_string($_POST['verif_code']);





$nombrepseudo = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_pseudo = "'.$pseudo.'"'), 0);
if($nombrepseudo != 0)
{
$pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre";
$i++;
}
if (strlen($pseudo) < 3 || strlen($pseudo) > 15)
{
$pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit";
$i++;
}

if ($pass != $confirm || empty($confirm) || empty($pass))

$mdp_erreur = "Votre mot de passe et votre confirmation sont differents, ou sont vides";
$i++;

?>

<?php //partie antibot
if(Isset($_POST['verif_code']) AND !Empty($_POST['verif_code']))
{ // Le champ du code de confirmation a été remplis
if($_POST['verif_code'] !== $_SESSION['aleat_nbr'])
{
$i++;
$milieu_html = 'Votre code de confirmation n est pas bon ! Merci de réessayer.';
}
}
?>
<?php



$nombremail = mysql_result(mysql_query('SELECT COUNT(*) FROM forum_membres WHERE membre_email = "'.$email.'"'), 0);

if ($nombremail != 0)
{
$email_erreur1 = "Votre adresse email est déjà utilisée par un membre";
$i++;
}
//verification de la forme
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email))
{
$email_erreur2 = "Votre adresse E-Mail n'a pas un format valide";
$i++;
}
//Vérification de l'adresse MSN
if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $msn) && !empty($msn))
{
$msn_erreur = "Votre adresse MSN n'a pas un format valide";
$i++;
}
//Vérification de la signature
if (strlen($signature) > 200)
{
$signature_erreur = "Votre signature est trop longue";
$i++;
}
?>
<?php
//Vérification de l'avatar :
if (!empty($_FILES['avatar']['size']))
{
//On définit les variables :
$maxsize = 10024; //Poid de l'image
$maxwidth = 100; //Largeur de l'image
$maxheight = 100; //Longueur de l'image
$extensions_valides = array( 'jpg' , 'jpeg' , 'gif' , 'png', 'bmp' ); //Liste des extensions valides

if ($_FILES['avatar']['error'] > 0)
{
$avatar_erreur = "Erreur lors du tranfsert de l'avatar : ";
}
if ($_FILES['avatar']['size'] > $maxsize)
{
$i++;
$avatar_erreur1 = "Le fichier est trop gros : (<strong>".$_FILES['avatar']['size']." Octets</strong> contre <strong>".$maxsize." Octets</strong>)";
}

$image_sizes = getimagesize($_FILES['avatar']['tmp_name']);
if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight)
{
$i++;
$avatar_erreur2 = "Image trop large ou trop longue : (<strong>".$image_sizes[0]."x".$image_sizes[1]."</strong> contre <strong>".$maxwidth."x".$maxheight."</strong>)";
}

$extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1));
if (!in_array($extension_upload,$extensions_valides) )
{
$i++;
$avatar_erreur3 = "Extension de l'avatar incorrecte";
}
}
?>
<body>
<div class="contenu1">
<?php
if ($i == 0) // Si i est vide, il n'y a pas d'erreur
{

echo'<h1>Inscription terminée</h1>';
echo'<p>Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum</p>';
echo'<p>Cliquez <a href="./index.php">ici</a> pour revenir à la page d accueil</p>';

if (isset($_FILES['avatar']['size']))
{
//On déplace l'avatar
$avatar = time();
$nomavatar = str_replace(' ','',$avatar).".".$extension_upload;
$avatar = "./images/avatars/".str_replace(' ','',$avatar).".".$extension_upload;
move_uploaded_file($_FILES['avatar']['tmp_name'],$avatar);
}


//On balance le tout dans notre table
mysql_query('
INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email,
membre_msn, membre_siteweb, membre_avatar,
membre_signature, membre_localisation, membre_inscrit,
membre_derniere_visite)
VALUES ("'.$pseudo.'" , "'.$pass.'" , "'.$email.'" ,
"'.$msn.'" , "'.$website.'" , "'.$nomavatar.'" ,
"'.$signature.'" , "'.$localisation.'" , "'.$temps.'" ,
"'.$temps.'" ) ') or die(mysql_error());


//Et on définit les variables de sessions
$_SESSION['pseudo'] = $pseudo;
$_SESSION['id'] = mysql_insert_id();
$_SESSION['level'] = 2;

}
else
{
echo'<h1>Inscription interrompue</h1>';
echo'<p>Une ou plusieurs erreurs se sont produites pendant l\'incription</p>';
echo'<p>'.$i.' erreur(s)</p>';
echo'<p>'.$pseudo_erreur1.'</p>';
echo'<p>'.$pseudo_erreur2.'</p>';
echo'<p>'.$mdp_erreur.'</p>';
echo'<p>'.$email_erreur1.'</p>';
echo'<p>'.$email_erreur2.'</p>';
echo'<p>'.$msn_erreur.'</p>';
echo'<p>'.$signature_erreur.'</p>';
echo'<p>'.$avatar_erreur.'</p>';
echo'<p>'.$avatar_erreur1.'</p>';
echo'<p>'.$avatar_erreur2.'</p>';
echo'<p>'.$avatar_erreur3.'</p>';
echo'<p>'.$milieu_html.'</p>';
echo'<p>Cliquez <a href="./register.php">ici</a> pour recommencer</p>';
}
mysql_close();
?>
</div>
</body>
Ajouter un commentaire
Réponse
+0
moins plus
Mais ça ne change rien, tu as fais un copier/coller du code sans l'indentation donc ton code est illisible.
Ajouter un commentaire
Réponse
+0
moins plus
c'est a dire ???
Ajouter un commentaire
Réponse
+0
moins plus
Fais un copier/coller de ton code dans la balise "code" de CCM avec les indentations (tabulations).
Ajouter un commentaire
Ce document intitulé « bug code source dans l'enregistrement O forum » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?