Comment interdire des caractères : é - / ?

Delph -  
 Delph -
Bonjour,

Je voudrai interdire la frappe de certains caractères dans un formulaire à remplir tel que : , - _ ^ ¨ : ' [ ] $ â é à *
Seulement laisser tout l'alphabet et les nombres.
Comment faire svp ?

Voici le script :
 
<?

if (isset($_POST['ban'])) // Si on demande de modifier une news
{

	 
$titre = htmlentities($_POST['titre']);
     
$titre = str_replace(" ", "", "$titre");	 
$ban = htmlentities($_POST['ban']);
$ban = str_replace(" ", "", "$ban");	
	     $url = htmlentities($_POST['url']);
		 $url = str_replace(" ", "", "$url");	
	     $nb = htmlentities($_POST['nb']);
		 $nb= str_replace(" ", "", "$nb");	
	     $type = htmlentities($_POST['type']);
$pts_total = "50000" ;	

	$gain= Floor($pts_total/$nb);


  $code = htmlentities($_POST['code']);
 
$reponse3 = mysql_query("SELECT * FROM gothicode WHERE code=\"$code\"");
 $reste3 = mysql_fetch_array($reponse3);

$reste3=$reste3[validite]; if ($reste3 != 0){ $code_="bon";}
if($code_ == "bon")
{
$jour = date('d/m/Y à H'); 

	$recherche_pseudo = mysql_query("SELECT count(id) FROM boutique_cpc Where titre=\"$titre\"") or die('Problème recherche titre');
$voila_pseudo = mysql_fetch_array($recherche_pseudo);
$reponse_pseudo = $voila_pseudo['0'];
if($reponse_pseudo!='0') {

echo "<script language=\"Javascript\">alert('un annonceur avec le même nom est déjà pris');</script>";
}

else {

	  mysql_query("ALTER TABLE `frames` ADD `$titre` VARCHAR( 255 ) DEFAULT '0' NOT NULL");
 mysql_query("INSERT INTO boutique_cpc(type,gain,titre,adresse,ban,nombre,accepter) VALUES(\"$type\",\"$gain\",\"$titre\",\"$url\",\"$ban\",\"$nb\",\"EN ATTENTE\")");  
	 $result = mysql_fetch_array(mysql_query("SELECT  * FROM boutique_cpc ORDER BY id DESC LIMIT 0,1"));
	  $id=$result[id];
	 echo" Le code $code est correct. La bannière est ajoutée, elle sera  mise en route dès vérification par le webmaster.
	 <br/>
	 Vous pourrez voir l'état de votre commande <a href='annonceurr.php'>içi</a> avec votre id : $id";

mysql_query("UPDATE gothicode SET validite=0 WHERE code=\"$code\"");



	 
	 }
}
else {
echo" erreur code invalide";}

//////////////////////////////

	 }	
	  else{

// On calcule le nombre de pages a créer

	  
	  ?>

<form action="" method="post">

<p align="center">

  <br/> Nom du site<br><font color="#CC3333">Pas de sites à caractères pornographiques svp !</font>
<br />
    <textarea name="titre" cols="50" rows="1">
    </textarea><br /><br />
    url bannière (avec les http://) :<br />
    <textarea name="ban" cols="50" rows="1"></textarea><br /><br />
	url site (avec les http://) :<br />
    <textarea name="url" cols="50" rows="1">
    </textarea><br /><br />
 Nombre de clics <br/><select name="nb">
<option value="50">50</option>
  <option value="250">250</option>
  <option value="500">500</option>
<option value="1000">1000</option>
<option value="2500">2500</option>

</select>
  <br /><br />Type de clic <br/>
  <select name="type">
<option value="simple clic"> simple clic</option>
<option value="timer 30 sec">timer 30 sec</option>
<option value="double clic">double clic</option>
</select>
    
  <br/><input type="submit" value="Envoyer" />

  </p>
</form>
<? } ?>
A voir également:

5 réponses

fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Salut,
Empêcher l'utilisateur de taper ces caractères n'est pas très sécuritaires, tout comme toute sécurité placé côté utilisateur. Il vaut mieux autoriser placer la protection côté serveur. Et en plus, dans ce cas, c'est plus facile :d
Et dans ce cas-là, tu peux faire une petite expression régulière et effacer tous les caractères interdits(preg_replace())
Ou alors, si des caractères interdits sont présents dans la chaîne, prévenir l'utilisateur et l'inviter à resaisir le champ du formulaire.
Cdlt
0
Delph
 
D'accord, donc il faudrait que je mette ce genre de chose je crois :
if(!preg_match('`^:alnum:([-_.]?:alnum:)*@:alnum:([-_.]?:alnum:)*\.([a-z]{2,5})$`',$titre))
{
		$mess = "Caractères interdits";


Mais où insérer ceci à mon script svp ?
0
fiddy Messages postés 11653 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Le PHP c'est loin derrière moi, mais j'aurais tout simplement fait une boucle pour vérifier que la chaîne ne contient aucun caractère interdit et inviter l'utiliser à resaisir le cas échéant.
Sinon, tu insères le code dès que tu reçois la chaîne dans ton script PHP, avant tout opération. Sur les $_POST, par exemple.
Cdlt
0
Delph
 
Quelqu'un d'autre pourrez m'aider svp ?
0
Delph
 
UP !
J'ai vraiment besoin d'aide et de trouver une solution :-(
Est-ce qu'une personne serait capable de m'aider s'il vous plait ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Delph
 
Un petit UP car je suis toujours à la recherche d'une réponse à mon problème :-(
0