stripslashes

stripslashes - PHP - Programmation

Marsh Posté le 06-03-2013 à 12:47:01    

Bonjour à tous,
 
Je ne connais rien en php et j'ai choppé un formulaire de contact que j'essaie d'adapter a mes besoins.  
 
Le seul souci qui me reste est que lorsqu'on tape un message et qu'on valide, dans la fenetre du message il ajoute des antislashes avant chaque apostrophe. Ce que je comprends.
En cherchant un peu j'ai trouvé l'instruction stripslashes, que j'ai réussi a utiliser pour que le message que je reçois soit affiché sans ces antislashes, mais je n'arrive pas a faire de même pour le champ "message", une fois que l'utilisateur valide, son texte est tjrs corrigé pour ajouter ces antislashes...  
 
N'étant pas certain d'être clair, voici une image. Mon problème est dans l'encadré rouge.
 
http://img15.hostingpics.net/pics/773780contact.png
 
 
Voici le code, merci d'avance pour votre aide.
 
    <?php
    if (isset($_POST['submit'])) {
    $error = "";
 
    if (!empty($_POST['name'])) {
    $name = $_POST['name'];
    } else {
    $error .= "You didn't type in your name. <br />";
    }
 
    if (!empty($_POST['email'])) {
    $email = $_POST['email'];
      if (!preg_match("/^[_a-z0-9]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i", $email)){
      $error .= "The e-mail address you entered is not valid. <br/>";
      }
    } else {
    $error .= "You didn't type in an e-mail address. <br />";
    }
 
    if (!empty($_POST['message'])) {
    $message =$_POST['message'];
    } else {
    $error .= "You didn't type in a message. <br />";
    }
 
    if(($_POST['code']) == $_SESSION['code']) {
    $code = $_POST['code'];
    } else {
    $error .= "The captcha code you entered does not match. Please try again. <br />";    
    }
 
    if (empty($error)) {
    $from = 'From: ' . $name . ' <' . $email . '>';
    $to = "fyk.morane@gmail.com";
    $subject = "New contact form message";
    $content = $name . " has sent you a message: \n" .stripslashes($message);
    $success = "<h3>Thank you! Your message has been sent!</h3>";
    mail($to,$subject,$content,$from);
    }
    }
    ?>
 
    <div id="contactForm">
   
    <?php
      if (!empty($error)) {
      echo '<p class="error"><strong>Your message was NOT sent<br/> The following error(s) returned:</strong><br/>' . $error . '</p>';
      } elseif (!empty($success)) {
      echo $success;
      }
    ?>
      <form action="contact.php" method="post">
     
        <label>Name:</label>
        <input type="text" name="name" value="<?php if ($_POST['name']) { echo $_POST['name']; } ?>" />
 
        <label>Email:</label>
        <input type="text" name="email" value="<?php if ($_POST['email']) { echo $_POST['email']; } ?>" />
       
        <label>Message:</label><br />
        <textarea name="message" rows="20" cols="20"><?php if ($_POST['message']) { echo $_POST['message']; } ?></textarea>
       
        <label><img src="captcha.php"></label>
        <input type="text" name="code"> <br />
 
        <input type="submit" class="submit" name="submit" value="Send message" />
       
      </form>
    </div>


Message édité par Skaym le 06-03-2013 à 12:48:26
Reply

Marsh Posté le 06-03-2013 à 12:47:01   

Reply

Marsh Posté le 06-03-2013 à 19:34:13    

Les magic_quotes sont activés sur ton serveur.
 
Logiquement tu devrais pouvoir les désactiver, en cas contraire, une simple condition avec stripslashes au début de ton script.comme dans l'exemple de la page.
http://www.php.net/manual/fr/funct [...] es-gpc.php

Reply

Marsh Posté le 07-03-2013 à 10:01:39    

Bonjour Bistouille, merci beaucoup pour ton aide j'ai réussi à corriger le truc.
 
A très bientôt sans doute ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed