[Résolu] Affiche erreur si message vide

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [Résolu] Affiche erreur si message vide

Re: [Résolu] Affiche erreur si message vide

par Ryle » 15 avr. 2012, 16:43

En principe, on a un bouton résolu pour ça, mais il est actuellement chez le garagiste et vous savez comment ça se passe... on vient pour une vidange et il nous en colle pour le carburateur, le joint de culasse, les plaquettes de frein, ... mais on ne désespère pas de le récupérer un jour :)

J'ai fait la modif en attendant :)

Affiche erreur si message vide [Résolut]

par cris84 » 15 avr. 2012, 14:03

je peux pas modifier mon premier message...

Re: Affiche erreur si message vide

par juliette » 15 avr. 2012, 13:23

salut, c'est a toi de clore le sujet en modifiant le titre de ton 1er message !
a plus...

Re: Affiche erreur si message vide

par cris84 » 15 avr. 2012, 10:58

bonjour,

il y avais un forçage '<br>' dans le textaera invisible, je l'ai donc remplacé par : <textarea name="message" cols="60" rows="15" wrap="virtual"></textarea>

Problème donc résolut merci de clore le sujet =D>

Re: Affiche erreur si message vide

par Ryle » 14 avr. 2012, 22:46

Ta chaine n'est donc pas vide... elle doit contenir au moins un retour à la ligne, qui du coup, lorsque tu fais appel à ta fonction nl2brstrict, ajoute (ou remplace selon ce que fait ta fonction) une balise <br> dans ta variable $mess qui du coup est encore moins vide :)

Re: Affiche erreur si message vide

par cris84 » 14 avr. 2012, 19:24

Voici le message renvoyé par var_dump :

string '<br>' (length=4)

j'ai contrôlé je ne vois pas de <br> (dans l'include pas de <br> non plus)

je mets le code en entier sait-on jamais :
<?php

if(!isset($_SESSION['valid'])){
echo"<h5><br>Vous n'êtes pas connecté.<br><br></h5>";
}
else{

$mess=isset($_REQUEST['message']) ? nl2brstrict($_REQUEST['message']) : null; 
$sujet=isset($_REQUEST['sujet']) ? $_REQUEST['sujet'] : null;

  $exp=$_SESSION['valid'];
  $dest=isset($_REQUEST['dest']) ? $_REQUEST['dest'] : null;
  $envoi=isset($_REQUEST['envoi']) ? $_REQUEST['envoi'] : null;
  //si envoi existe et egal à ok alors on teste l'envoi d'un message
    if($envoi=='ok'){
   
    
       
    if($mess<>""){
	
    //date actuelle lors de l'envoi 
    $date=date('Y-m-d H:i:s');
  
    $req="INSERT INTO mess(datemess,sujet,message,exp,desti) VALUES('$date','$sujet','$mess','$exp','$dest')";
    $res=mysql_query($req,$cnx);
    
       if($res){ 
       echo"<h6><br>Votre message a bien été envoyé.<br><br></h6>"; var_dump($mess);
       }
       else{
       echo"<h5><br>Impossible d'envoyer le message.<br><br></h5>";
       }
       }
       else{
       echo"<h5><br>Message vide.<br><br></h5>"; 
       }
     }
     echo"<h2>Envoyer un message à ".$dest."</h2>";
     echo"<form action='index.php?genre=envoimess&dest=$dest&envoi=ok' name='poster' method='post'>";
     
 echo"<table class='tab' border='0' width='90%'>
 <tr><td>Sujet : </td><td><input type='text'  size='30' name='sujet'></td></tr><table>";
 //liste des images des smileys qui vont intégrer les caractères appropriés (javascript) eux meme filtré par la fonction smileys en php
 //voir INC/mesfonctions.php
     
include('INC/choixsmileys.php'); 

?>


<table width="50%" border="0" align="center" class="tab">
<td><tr>
<CENTER><textarea
   rows="15"
   cols="65"
   name="message"
   wrap="virtual"
   onmouseover="this.focus();">

</textarea></CENTER>
</td></tr>
<tr><td><input type='submit' name='envoyer' value='Poster votre message'></td></tr></table></form>



<?php


}


?>
     
     
     
     
     
     
     
     
    

Re: Affiche erreur si message vide

par juliette » 14 avr. 2012, 18:32

isset test au sein de ton script si ta variable est différente de null...
var_dump te permet de voir de tes propres yeux ce qu'il y a dedans...

Re: Affiche erreur si message vide

par cris84 » 14 avr. 2012, 18:21

c'est pas fait avec : if($mess<>""){
:?:

Re: Affiche erreur si message vide

par Mazarini » 14 avr. 2012, 17:34

La première chose à faire est de regarder ce qu'il y a dans $mess juste avant le test : var_dump($mess);

[Résolu] Affiche erreur si message vide

par cris84 » 14 avr. 2012, 17:13

Bonjour à tous,
quand je poste mon message vide normalement je devrais avoir l'erreur : message vide, hors le message est posté malgré tout.
Avez vous une idée :?:
Voici le code :
<?php if(!isset($_SESSION['valid'])){
echo"<h5><br>Vous n'êtes pas connecté.<br><br></h5>";
}
else{

$mess=isset($_REQUEST['message']) ? nl2brstrict($_REQUEST['message']) : null;
$sujet=isset($_REQUEST['sujet']) ? $_REQUEST['sujet'] : null;

  $exp=$_SESSION['valid'];
  $dest=isset($_REQUEST['dest']) ? $_REQUEST['dest'] : null;
  $envoi=isset($_REQUEST['envoi']) ? $_REQUEST['envoi'] : null;
 
    if($envoi=='ok'){
       
    if($mess<>""){
    
    $date=date('Y-m-d H:i:s');
  
    $req="INSERT INTO coms(datemess,sujet,message,exp,desti) VALUES('$date','$sujet','$mess','$exp','$dest')";
    $res=mysql_query($req,$cnx);
    
       if($res){
       echo"<h6><br>Votre commentaire a bien été envoyé.<br><br></h6>";
       }
       else{
       echo"<h5><br>Impossible d'envoyer le message.<br><br></h5>";
       }
       }
       else{
       echo"<h5><br>Message vide.<br><br></h5>";
       }
     }
     echo"<h2>Envoyer un commentaire à ".$dest."</h2>";
     echo"<form action='index.php?genre=envoicom&dest=$dest&envoi=ok' name='poster' method='post'>";
     ?>