PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 26-03-2010 15:44:40

yarel
Membre
Inscription : 26-03-2010
Messages : 4

problème formulaire php

Bonjour je m'appelle Yarel,

je suis graphiste, et j'ai un petit souci avec mon formulaire PHP. Pouvez vous m'aider ?
quand je rempli mon formulaire HTML et que je soumet les données il ne se passe rien.
(je dois reconnaitre que je n'y connais pas grand chose en php, je l'ai juste personnalisé)
sur le serveur je lui est mis 604 en permission est ce que le problème vient de là ?
Ou bien dois je créer une table sur ma base de données ( gros novice smile )

Merci d'avance

<?php
  /*
    ********************************************************************************************
    CONFIGURATION
    ********************************************************************************************
  */

  // destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
  $destinataire = 'richard@image.info';

  // copie ? (envoie une copie au visiteur)
  $copie = 'oui';

  // Action du formulaire (si votre page a des paramètres dans l'URL)
  // si cette page est index.php?page=contact alors mettez index.php?page=contact
  // sinon, laissez vide
  $form_action = '';

  // Messages de confirmation du mail
  $message_envoye = "Votre message nous est bien parvenu !";
  $message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";

  // Message d'erreur du formulaire
  $message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

  /*
    ********************************************************************************************
    FIN DE LA CONFIGURATION
    ********************************************************************************************
  */

  /*
   * cette fonction sert à nettoyer et enregistrer un texte
   */

  function Rec($text)
  {
    $text = trim($text); // delete white spaces after & before text
    if (1 === get_magic_quotes_gpc())
    {
      $stripslashes = create_function('$txt', 'return stripslashes($txt);');
    }
    else
    {
      $stripslashes = create_function('$txt', 'return $txt;');
    }

    // magic quotes ?
    $text = $stripslashes($text);
    $text = htmlspecialchars($text, ENT_QUOTES); // converts to string with " and ' as well
    $text = nl2br($text);
    return $text;
  };

  /*
   * Cette fonction sert à vérifier la syntaxe d'un email
   */

  function IsEmail($email)
  {
    $pattern = "^([a-z0-9_]|\\-|\\.)+@(([a-z0-9_]|\\-)+\\.)+[a-z]{2,7}$";
    return (eregi($pattern,$email)) ? true : false;
  };

  $err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

  // si formulaire envoyé, on récupère tous les champs. Sinon, on initialise les variables.
  $nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
  $email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
  $objet   = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : '';
  $message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';

  if (isset($_POST['envoi']))
  {
    // On va vérifier les variables et l'email ...
    $email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
    $err_formulaire = (IsEmail($email)) ? false : true;

    if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
    {
      // les 4 variables sont remplies, on génère puis envoie le mail
      $headers = 'From: '.$nom.' <'.$email.'>' . "\r\n";

      // envoyer une copie au visiteur ?
      if ($copie == 'oui')
      {
        $cible = $destinataire.','.$email;
      }
      else
      {
        $cible = $destinataire;
      };

      // Remplacement de certains caractères spéciaux
      $message = html_entity_decode($message);
      $message = str_replace(''',"'",$message);
      $message = str_replace('’',"
'",$message);
      $message = str_replace('
<br>','',$message);
      $message = str_replace('
<br />','',$message);

      // Envoi du mail
      if (mail($cible, $objet, $message, $headers))
      {
        echo '<p>'.$message_envoye.'</p>'."\n";
      }
      else
      {
        echo '
<p>'.$message_non_envoye.'</p>'."\n";
      };
    }
    else
    {
      // une des 3 variables (ou plus) est vide ...
      echo '
<p>'.$message_formulaire_invalide.' <a href="contact.php">Retour au formulaire</a></p>'."\n";
      $err_formulaire = true;
    };
  }; // fin du if (!isset($_POST['
envoi']))

  if (($err_formulaire) || (!isset($_POST['envoi'])))
  {
    // afficher le formulaire
    echo '
<form id="contact" method="post" action="'.$form_action.'">'."\n";
    echo '
  <fieldset><legend>Vos coordonnées</legend>'."\n";
    echo '
    <p>'."\n";
    echo '
      <label for="nom">Nom :</label>'."\n";
    echo '
      <input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" />'."\n";
    echo '
    </p>'."\n";
    echo '
    <p>'."\n";
    echo '
      <label for="email">Email :</label>'."\n";
    echo '
      <input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" />'."\n";
    echo '
    </p>'."\n";
    echo '
  </fieldset>'."\n";

    echo '  <fieldset><legend>Votre message :</legend>'."\n";
    echo '
    <p>'."\n";
    echo '
      <label for="objet">Objet :</label>'."\n";
    echo '
      <input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" />'."\n";
    echo '
    </p>'."\n";
    echo '
    <p>'."\n";
    echo '
      <label for="message">Message :</label>'."\n";
    echo '
      <textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea>'."\n";
    echo '
    </p>'."\n";
    echo '
  </fieldset>'."\n";

    echo '  <div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>'."\n";
    echo '
</form>'."\n";
  };
?>

 

Dernière modification par yarel (26-03-2010 16:06:46)

Hors ligne

#2 26-03-2010 15:47:32

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : problème formulaire php

Tu renseignes des variables ($formulaire, $affiche, ect), mais où les affiches-tu ?

Hors ligne

#3 26-03-2010 15:50:13

yarel
Membre
Inscription : 26-03-2010
Messages : 4

Re : problème formulaire php

il manquait une partie du code, autant pour moi. (J'ai mis à jour)

Hors ligne

#4 26-03-2010 16:03:12

yarel
Membre
Inscription : 26-03-2010
Messages : 4

Re : problème formulaire php

quand je valide mon formulaire j'obtiens ceci :

Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@www.jourdan-crespin.com and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Hors ligne

#5 26-03-2010 16:47:40

yarel
Membre
Inscription : 26-03-2010
Messages : 4

Re : problème formulaire php

help help yikes

Hors ligne

#6 26-03-2010 19:24:41

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : problème formulaire php

Alors comme ça aucune idée... Et que dit le log ?

Hors ligne

Pied de page des forums