IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Captcha avec les if et else


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut Captcha avec les if et else
    salut, déjà je précise que c'est pas moi qui ai fait le code donc c'est pour ça que je pige pas certains trucs.

    Pour éviter d'avoir 50 commentaires chaque jour à cause de bots, j'essaye de voir pour un captcha textuel, image ou un champ caché. Mais le truc c'est que j'arrive pas à placer le reste de mon code initial dans le if et le else.

    genre si les 4 numéros sont bien écrits, alors on dit ok c bon le commentaire est bien ajouté et sinon les numéros sont pas bons.

    Par exemple j'ai ça

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
     session_start();
    ?>
     
    <form method="POST" action="">
    <h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /><br />
    <input type="text" name="captcha" style="width:70px"/><br />
    <input type="submit" />
    </form>
     
    <?php 
    if($_POST['captcha']){
    if($_POST['captcha']==$_SESSION['captcha']){
    echo 'Bingo !';
    }
    else {
    echo '<h3 style="color:red">Oups !</h3>';
    }
    }
    ?>

    et le code de mon captcha

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    <?php
    session_start();
    $_SESSION['captcha'] = rand(1000,9999);
     
    $img = imagecreatetruecolor(70, 30);
    $fill_color=imagecolorallocate($img,255,255,255);
    imagefilledrectangle($img, 0, 0, 70, 30, $fill_color);
     
    $text_color=imagecolorallocate($img,10,10,10);
    $font = './28DaysLater.ttf';
    imagettftext($img, 23, 0, 5,30, $text_color, $font, $_SESSION['captcha']);
     
    header("Content-type: image/jpeg");
    imagejpeg($img);
    imagedestroy($img);

    ça marche mais j'arrive pas à placer mon code initial dans le if

    voila un bout de mon code index, c'est le formulaire de commentaires

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <form action="index.php" method="POST">
    			<?php
    			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
    			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
     
    			?>&nbsp;
    <br />
    <?php
    			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
    			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
    		?></form><br /><?php
    		echo '</div>';
    	}
    	else {
    		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
    	}
    }
     
     
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
     
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) <= 2 OR strlen($_POST['Message']) < 2)) {
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

    Si vous pouvez m'éclairer, ça m'avancerai pas mal ^^ je vous remercie !

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est plus un problème de logique que de PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    elseif(!isset($_POST['captcha']) || $_POST['captcha'] != $_SESSION['captcha']){
         // captcha pas bon
    }
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
        .......
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    nop ça marche pas, je peux répondre en ignorant le captcha et en plus dans mon index avec mes news ( pas ou ya mes commentaires ) il m'affiche le code qu'il y a entre le elseif

    sinon j'ai test ça, ça devrait marcher mais non^^

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    	<form action="index.php" method="POST">
    			<?php
    			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
    			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
    			echo '<h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /> &nbsp;
    <input type="text" name="captcha" style="width:70px"/>';
    			?>&nbsp;
    <br />
    <?php
    			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
    			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
    		?></form><br /><?php
    		echo '</div>';
    	}
    	else {
    		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
    	}
    }
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND isset($_POST['captcha']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) OR $_POST['captcha'] == $_SESSION['captcha'] {
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) AND isset($_POST['captcha']) <= 2 OR strlen($_POST['Message']) < 2)) OR $_POST['captcha'] != $_SESSION['captcha'] {
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

    enfaite faut rajouter un isset pour dire qu'il existe et après on crée l'égalité ou l'inégalité c'est ça ?

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    et en plus dans mon index avec mes news ( pas ou ya mes commentaires ) il m'affiche le code qu'il y a entre le elseif
    Je n'ai pas du tout compris ce que tu voulais dire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    j'ai simplement mis un bout du code, celui qui fait référence au formulaire pour les commentaires, sinon la page entière c'est ma page index soit les news (et dedans il y a un lien pour les commentaires qui me dirigent vers ce bout de code avec tous les commentaires + le formulaire pour faire un commentaire)

    donc, avec ton code, quand je suis dans les commentaires d'une new ça marche sauf que je peux poster un commentaire sans tenir compte du captcha, mais si je suis dans à l'endroit où ya les news il m'affiche ce que je mets à la place de ça "// captcha pas bon"

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Montre nous tes codes plutôt parce que tes explications n'ont ni queue ni tête.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    bah ya tout en haut enfaite mais je le rajoute

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <form action="index.php" method="POST">
                <?php
                echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
                echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
                echo '<h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /> &nbsp;
    <input type="text" name="captcha" style="width:70px"/>';
                ?>&nbsp;
    <br />
    <?php
                echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
                echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
            ?></form><br /><?php
            echo '</div>';
        }
        else {
            echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
        }
    }
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) AND isset($_POST['captcha']) ){ if($_POST['captcha']==$_SESSION['captcha']) {
        // Voir  en haut le code d'insertion dans la BD
        // Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
        echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {  // On affiche les nouveautés (page principale donc)
     
        // on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
        if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) <= 2 OR strlen($_POST['Message']) < 2)) OR $_POST['captcha']!=$_SESSION['captcha']){
            echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
        }
        else {
            echo '&nbsp;&nbsp;';
        }

    j'ai rajouté ça dans la première condition : AND isset($_POST['captcha']) ){ if($_POST['captcha']==$_SESSION['captcha'])

    et dans le condition pour dire que c'est pas bon, j'ai rajouté ça : OR $_POST['captcha']!=$_SESSION['captcha']

    mais nop sans succès

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est tout le code ça ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    C'est une partie du code de ma page index, c'est le formulaire mais ya tout dedans avec ce qui en rapport avec le fait de pouvoir poster un commentaire

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il manque le premier if{} dans ce qu'on voit.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    ah oui vous avez raison, voila

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    <?php
    if( isset($_GET['id'])) { // Si le visiteur veut voir les commentaires
    	$id_new = htmlspecialchars($_GET['id']);
    	if( is_numeric($id_new)) { // [SECURITE] Si id_new est bien un chiffre !
    		// On affiche LA nouveauté
    		$reponse = $bdd->query('SELECT * FROM Nouveautes WHERE id="'.$id_new.'"') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>');
    		$nouveaute = $reponse->fetch();
    		$id = $nouveaute['id'];
    		$auteur = stripslashes(htmlspecialchars($nouveaute['Auteur']));
    		$recupAuteurBdd=$bdd->query('SELECT * FROM Equipe WHERE Pseudo="'.$auteur.'"');
    		$auteurBdd=$recupAuteurBdd->fetch();
     
    		$Avatar = stripslashes($auteurBdd['Avatar']);
    		$titre = stripslashes(htmlspecialchars($nouveaute['Titre']));
    		$date = $nouveaute['Date'];
    		$message = stripslashes(nl2br(htmlspecialchars($nouveaute['Message'])));
     
    				// Regex pour le bbcode :
    					$message = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message);
    					$message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message);
    					$message = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message);
    					$message = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message);
    					$message = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message);
    					$message = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message);
    					$message = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message);
    					$message = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message);
    					$message = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message);
     
    						//smilies
    						$message = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message);
    						$message = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message);
    						$message = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message);
    						$message = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message);
    						$message = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message);
    						$message = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message);
    						$message = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message);
    						$message = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message);
    				// Fin regex
     
    		echo '<div class="New2">';
    		echo '<div class="New2_haut_index">';
    			echo '<h2>'.$titre.'</h2>';
    			echo '<h5>Par '.$auteur.' le '.$date.'.</h5>';
    		echo '<img src="Css/point-corps2.png"></div>';
    		echo '<div class="New2_corps"><p>';
    			echo $message;
    		echo '</p></div>';
    		echo '</div>';
     
    		echo '<div class="New2-commentaires">';
    		echo '<span class="Color">Vous pouvez laisser un commentaire ou partager ce sujet en citant l\'auteur.</span>';
    		echo '<span class="Color">Commentaires sur la nouveauté<br /></span>';
    			$rq = $bdd->query('SELECT * FROM Commentaires WHERE id_new="'.$id.'" ORDER BY id DESC') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>'); // on récupère les données de la table Commentaires
    			while ($com = $rq->fetch()) {
    				$auteur2 = stripslashes($com['Auteur']);
    				$date2 = $com['Date'];
    				$message2 = stripslashes(nl2br(stripslashes($com['Message'])));
    					// Regex pour le bbcode :
    					$message2 = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message2);
    					$message2 = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message2);
    					$message2 = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message2);
    					$message2 = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message2);
    					$message2 = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message2);
    					$message2 = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message2);
    					$message2 = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message2);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message2 = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message2);
    					$message2 = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message2);
    					$message2 = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message2);
    						//smilies
    						$message2 = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message2);
    						$message2 = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message2);
    						$message2 = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message2);
    						$message2 = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message2);
    						$message2 = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message2);
    						$message2 = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message2);
    						$message2 = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message2);
    						$message2 = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message2);
     
    				echo '<strong>'.$auteur2.'</a> commente le '.$date2.' :</strong><br />';
    				echo '&nbsp;&nbsp;'.$message2.'<br /><br />';
    			}
     
    			echo '<span class="Color">Laisser un commentaire</span>';
    			?>
    			<form action="index.php" method="POST">
    			<?php
    			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
    			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
    			echo '<h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /> &nbsp;
    <input type="text" name="captcha" style="width:70px"/>';
    			?>&nbsp;
    <br />
    <?php
    			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
    			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
    		?></form><br /><?php
    		echo '</div>';
    	}
    	else {
    		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
    	}
    }
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) AND !isset($_POST['captcha']) <= 2 OR strlen($_POST['Message']) < 2)) {
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

  12. #12
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    franchement je pige pas, pourquoi il m'affiche à chaque fois page blanche

    j'ai même rajouté la ligne de code que vous avez mentionné au début du sujet, qui devrait marcher mais non

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) AND !isset($_POST['captcha']) <= 2 OR strlen($_POST['Message']) < 2)) AND !isset($_POST['captcha']) || $_POST['captcha'] != $_SESSION['captcha']{
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

    ps : je peux pas éditer mon ancien post, donc je suis obligé de reposter une réponse.

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tes conditions sont mal fichues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (strlen($_POST['Auteur']) AND !isset($_POST['captcha']) <= 2
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    ah oui excusez moi, j'avais oublié de supprimer ce bout de code...
    j'ai plus page blanche, mais je peux toujours ignorer le captcha pour poster mon commentaire

  15. #15
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Est-ce qu'on a le droit de voir le code corrigé et incluant le contrôle du captcha ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  16. #16
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    bien sur

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    <? php 
    if( isset($_GET['id'])) { // Si le visiteur veut voir les commentaires
    	$id_new = htmlspecialchars($_GET['id']);
    	if( is_numeric($id_new)) { // [SECURITE] Si id_new est bien un chiffre !
    		// On affiche LA nouveauté
    		$reponse = $bdd->query('SELECT * FROM Nouveautes WHERE id="'.$id_new.'"') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>');
    		$nouveaute = $reponse->fetch();
    		$id = $nouveaute['id'];
    		$auteur = stripslashes(htmlspecialchars($nouveaute['Auteur']));
    		$recupAuteurBdd=$bdd->query('SELECT * FROM Equipe WHERE Pseudo="'.$auteur.'"');
    		$auteurBdd=$recupAuteurBdd->fetch();
     
    		$Avatar = stripslashes($auteurBdd['Avatar']);
    		$titre = stripslashes(htmlspecialchars($nouveaute['Titre']));
    		$date = $nouveaute['Date'];
    		$message = stripslashes(nl2br(htmlspecialchars($nouveaute['Message'])));
     
    				// Regex pour le bbcode :
    					$message = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message);
    					$message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message);
    					$message = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message);
    					$message = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message);
    					$message = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message);
    					$message = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message);
    					$message = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message);
    					$message = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message);
    					$message = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message);
     
    						//smilies
    						$message = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message);
    						$message = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message);
    						$message = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message);
    						$message = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message);
    						$message = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message);
    						$message = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message);
    						$message = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message);
    						$message = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message);
    				// Fin regex
     
    		echo '<div class="New2">';
    		echo '<div class="New2_haut_index">';
    			echo '<h2>'.$titre.'</h2>';
    			echo '<h5>Par '.$auteur.' le '.$date.'.</h5>';
    		echo '<img src="Css/point-corps2.png"></div>';
    		echo '<div class="New2_corps"><p>';
    			echo $message;
    		echo '</p></div>';
    		echo '</div>';
     
    		echo '<div class="New2-commentaires">';
    		echo '<span class="Color">Vous pouvez laisser un commentaire ou partager ce sujet en citant l\'auteur.</span>';
    		echo '<span class="Color">Commentaires sur la nouveauté<br /></span>';
    			$rq = $bdd->query('SELECT * FROM Commentaires WHERE id_new="'.$id.'" ORDER BY id DESC') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>'); // on récupère les données de la table Commentaires
    			while ($com = $rq->fetch()) {
    				$auteur2 = stripslashes($com['Auteur']);
    				$date2 = $com['Date'];
    				$message2 = stripslashes(nl2br(stripslashes($com['Message'])));
    					// Regex pour le bbcode :
    					$message2 = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message2);
    					$message2 = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message2);
    					$message2 = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message2);
    					$message2 = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message2);
    					$message2 = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message2);
    					$message2 = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message2);
    					$message2 = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message2);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message2 = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message2);
    					$message2 = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message2);
    					$message2 = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message2);
    						//smilies
    						$message2 = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message2);
    						$message2 = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message2);
    						$message2 = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message2);
    						$message2 = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message2);
    						$message2 = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message2);
    						$message2 = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message2);
    						$message2 = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message2);
    						$message2 = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message2);
     
    				echo '<strong>'.$auteur2.'</a> commente le '.$date2.' :</strong><br />';
    				echo '&nbsp;&nbsp;'.$message2.'<br /><br />';
    			}
     
    			echo '<span class="Color">Laisser un commentaire</span>';
    			?>
               <form action="index.php" method="POST">
    			<?php
    			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
    			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
      echo '<h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /> &nbsp;
    <input type="text" name="captcha" style="width:70px"/>';
    			?>&nbsp;
    <br />
    <?php
    			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
    			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
    		?></form><br /><?php
    		echo '</div>';
    	}
    	else {
    		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
    	}
    }
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10) {
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) <= 2 OR strlen($_POST['Message']) < 2) OR !isset($_POST['captcha']) || $_POST['captcha'] != $_SESSION['captcha']) {
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu as mis ton contrôle de captcha apres la validation du commentaire.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    en gros je dois mettre mon formulaire après les conditions ? ou simplement le submit ?

    mais sinon pourquoi les conditions déjà présentes comme : il faut minimum 3 caractères dans le message et 2 dans le nom de l'auteur, marchent eux ?

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu n'as pas compris : ligne 112 du code que tu nous montres tu as "le commentaire est posté", ligne 118 tu as le contrôle du captcha.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Août 2013
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Août 2013
    Messages : 18
    Points : 3
    Points
    3
    Par défaut
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <?php if( isset($_GET['id'])) { // Si le visiteur veut voir les commentaires
    	$id_new = htmlspecialchars($_GET['id']);
    	if( is_numeric($id_new)) { // [SECURITE] Si id_new est bien un chiffre !
    		// On affiche LA nouveauté
    		$reponse = $bdd->query('SELECT * FROM Nouveautes WHERE id="'.$id_new.'"') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>');
    		$nouveaute = $reponse->fetch();
    		$id = $nouveaute['id'];
    		$auteur = stripslashes(htmlspecialchars($nouveaute['Auteur']));
    		$recupAuteurBdd=$bdd->query('SELECT * FROM Equipe WHERE Pseudo="'.$auteur.'"');
    		$auteurBdd=$recupAuteurBdd->fetch();
     
    		$Avatar = stripslashes($auteurBdd['Avatar']);
    		$titre = stripslashes(htmlspecialchars($nouveaute['Titre']));
    		$date = $nouveaute['Date'];
    		$message = stripslashes(nl2br(htmlspecialchars($nouveaute['Message'])));
     
    				// Regex pour le bbcode :
    					$message = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message);
    					$message = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message);
    					$message = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message);
    					$message = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message);
    					$message = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message);
    					$message = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message);
    					$message = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message);
    					$message = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message);
    					$message = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message);
     
    						//smilies
    						$message = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message);
    						$message = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message);
    						$message = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message);
    						$message = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message);
    						$message = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message);
    						$message = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message);
    						$message = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message);
    						$message = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message);
    				// Fin regex
     
    		echo '<div class="New2">';
    		echo '<div class="New2_haut_index">';
    			echo '<h2>'.$titre.'</h2>';
    			echo '<h5>Par '.$auteur.' le '.$date.'.</h5>';
    		echo '<img src="Css/point-corps2.png"></div>';
    		echo '<div class="New2_corps"><p>';
    			echo $message;
    		echo '</p></div>';
    		echo '</div>';
     
    		echo '<div class="New2-commentaires">';
    		echo '<span class="Color">Vous pouvez laisser un commentaire ou partager ce sujet en citant l\'auteur.</span>';
    		echo '<span class="Color">Commentaires sur la nouveauté<br /></span>';
    			$rq = $bdd->query('SELECT * FROM Commentaires WHERE id_new="'.$id.'" ORDER BY id DESC') or die('<pre>' . print_r($bdd->errorInfo()) . '</pre>'); // on récupère les données de la table Commentaires
    			while ($com = $rq->fetch()) {
    				$auteur2 = stripslashes($com['Auteur']);
    				$date2 = $com['Date'];
    				$message2 = stripslashes(nl2br(stripslashes($com['Message'])));
    					// Regex pour le bbcode :
    					$message2 = preg_replace('#\[g\](.+)\[/g\]#isU', '<strong>$1</strong>', $message2);
    					$message2 = preg_replace('#\[i\](.+)\[/i\]#isU', '<em>$1</em>', $message2);
    					$message2 = preg_replace('#\[u\](.+)\[/u\]#isU', '<u>$1</u>', $message2);
    					$message2 = preg_replace('#\[color=(red|blue|green|yellow|orange|red2|blue2)\](.+)\[/color\]#isU', '<span class="$1">$2</span>', $message2);
    					$message2 = preg_replace('#\[centre\](.+)\[/centre\]#isU', '<div class="Center">$1</div>', $message2);
    					$message2 = preg_replace('#\[droite\](.+)\[/droite\]#isU', '<div class="Right">$1</div>', $message2);
    					$message2 = preg_replace('#\[gauche\](.+)\[/gauche\]#isU', '<div class="Left">$1</div>', $message2);
    					$message = preg_replace('#\[flotgauche\](.+)\[/flotgauche\]#isU', '<div class="Float_left">$1</div>', $message);
    					$message2 = preg_replace('#\[image\](.+)\[/image\]#isU', '<img src="$1" />', $message2);
    					$message2 = preg_replace('#\[image taille=(.+)\](.+)\[/image\]#isU', '<img width="$1px" src="$2" />', $message2);
    					$message2 = preg_replace('#\[lien=(.+)\](.+)\[/lien\]#isU', '<a target="blanck" href="$1">$2</a>', $message2);
    						//smilies
    						$message2 = preg_replace('#:ff:#isU', '<img src="http://www.cool-smiley.com/smiley/firefox/c020.gif" />', $message2);
    						$message2 = preg_replace('#:\)#isU', '<img src="http://illiweb.com/fa/i/smiles/icon_smile.gif" />', $message2);
    						$message2 = preg_replace('#:\^\^:#isU', '<img src="http://www.ruedusmiley.com/smileys/content%20(83).gif" />', $message2);
    						$message2 = preg_replace('#:snif:#isU', '<img src="http://www.ruedusmiley.com/smileys/triste%20(13).gif" />', $message2);
    						$message2 = preg_replace('#:chante:#isU', '<img src="http://www.cool-smiley.com/smiley/musique/c012.gif" />', $message2);
    						$message2 = preg_replace('#:lol:#isU', '<img src="http://www.cool-smiley.com/smiley/lolmdr/c002.gif" />', $message2);
    						$message2 = preg_replace('#:bravo:#isU', '<img src="http://www.ruedusmiley.com/smileys/respect%20(7).gif" />', $message2);
    						$message2 = preg_replace('#:anneaux:#isU', '<img src="http://www.ruedusmiley.com/smileys/film%20tv%20(23).gif" />', $message2);
     
    				echo '<strong>'.$auteur2.'</a> commente le '.$date2.' :</strong><br />';
    				echo '&nbsp;&nbsp;'.$message2.'<br /><br />';
    			}
     
    			echo '<span class="Color">Laisser un commentaire</span>';
    			?>
               <form action="index.php" method="POST">
    			<?php
    			echo '&nbsp;&nbsp;<input type="text" name="Auteur" id="Auteur" value="" /> <span class="Small"><label for="Auteur">Pseudo (requis)</label></span><br />';
    			echo '&nbsp;&nbsp;<textarea type="text" class="Postcomment" name="Message" id="Message" rows="4" cols="70"></textarea><br />';
      echo '<h3>Quel est ce chiffe? </h3>
    <img src="captcha.php" /> &nbsp;
    <input type="text" name="captcha" style="width:70px"/>';
    			?>&nbsp;
    <br />
    <?php
    			echo '<input type="hidden" name="id_new" value="'.$id.'" />';
     
    			echo '&nbsp;&nbsp;<input type="submit" value="Poster le commentaire" />';
    		?></form><br /><?php
    		echo '</div>';
    	}
    	else {
    		echo '<strong>Erreur:</strong><br />Une erreur est survenue lors de l\'exécution du script.<br />Veuillez recommencez dans quelques minutes.';
    	}
    }
     
    elseif( isset($_POST['id_new']) AND is_numeric($_POST['id_new']) AND isset($_POST['Auteur']) AND isset($_POST['Message']) AND isset($_POST['id_new']) AND $_POST['Auteur'] != '' AND $_POST['Message'] != '' AND strlen($_POST['Auteur']) >= 3 AND strlen($_POST['Message']) > 10 AND !isset($_POST['captcha']) || $_POST['captcha'] == $_SESSION['captcha']){
    	// Voir  en haut le code d'insertion dans la BD
    	// Ici, on affiche un texte qui dit que le commentaire est envoyé au cas ou l'actualisation de la page n'est pas lieu ou qu'il soit lent à charger.
    	echo '<strong>Succés :</strong><br />Le commentaire a bien été posté.<br /><a href="index.php?id='.$idn.'">Revenir à la nouveauté</a>.';
    }
     
    else {	// On affiche les nouveautés (page principale donc)
     
    	// on a tenté d'envoyer un commentaire mais il est trop court, message d'erreur :
    	if( isset($_POST['Auteur']) AND isset($_POST['Message']) AND (strlen($_POST['Auteur']) <= 2 OR strlen($_POST['Message']) < 2) OR isset($_POST['captcha']) || $_POST['captcha'] != $_SESSION['captcha']) {
    		echo '<br />&nbsp;&nbsp;Votre commentaire fais moins de 3 caractères ou votre pseudo fait moins de 3 caractères.<br />Veuillez poster un vrai commentaire !<br /><br />';
    	}
    	else {
    		echo '&nbsp;&nbsp;';
    	}

    ah ok, mais j'avais déjà essayé mais ça marche toujours pas

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 9
    Dernier message: 29/03/2011, 20h45
  2. Réponses: 16
    Dernier message: 02/04/2010, 20h14
  3. [XL-2003] Prblème avec les if , else end if
    Par doudou8mc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 09/11/2009, 12h10
  4. Problème avec les "else if"
    Par ookki dans le forum C++
    Réponses: 5
    Dernier message: 22/06/2008, 18h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo