Bonjour à tous,
Je travaille à mon nouveau portfolio, et je voulais y intégrer un formulaire de contact en PHP, plutôt qu'un simple "mailto". J'ai glané sur internet un joli tuto et me suis mis au boulot (je n'ai en PHP que des connaissances très basiques).
Il me semble avoir respecté pas à pas les différentes étapes (connexion, formatage et insertion...) et créé avec succès la table phpMyAdmin (sous Mac avec MAMP), mais :

1- ça ne fonctionne pas (après un clic sur le bouton "envoyer", direction page d'erreur 404).
2- une partie du code PHP apparaît sous le formulaire (comme une balise HTML et je ne trouve pas d'erreur de syntaxe)
3- j'ai mal à la tête


Merci d'avance
Modifié par groshapas (22 May 2010 - 12:47)
Bonjour !

Pourrais-tu nous détailler le code PHP que tu utilises ? Car il est assez difficile de débugger du code sans le voir (mis à part celui qui dépasse de ton formulaire Smiley biggrin )
Hem hem,
Désolé, le voici


<?php

define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', '@); // nom utilisateur
define('DB_SERVER_PASSWORD', '@'); // mot de passe
define('DB_DATABASE', 'formulaire'); // nom de la base

// Connexion au serveur mysql
$connect = mysql_connect(DB_SERVER, DB_SERVER_USERNAME, 
DB_SERVER_PASSWORD) 
or die('Impossible de se connecter : ' . mysql_error());
// sélection de la base de données
mysql_select_db(DB_DATABASE, $connect);

$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre message a été bien envoyé.";
$message = $msg_erreur;

// vérification des champs 
if (empty($_POST['nom'])) 
  $message .= "Votre nom<br/>";
if (empty($_POST['comments'])) 
  $message .= "Votre message<br/>";
  
// si un champ est vide, on affiche 
if (strlen($message) > strlen($msg_erreur)) {

  echo $message;

// sinon c'est ok 
} else {

  foreach($_POST as $index => $valeur) {
    $$index = mysql_real_escape_string(trim($valeur));
  }



  $sql = "INSERT INTO formulaire VALUES ('',  '".$nom."', '".$societe."', '".$adresse_mail."', '".$telephone."', '".$souhaits."', '".$comments."', now())";
  $res = mysql_query($sql);

  if ($res) {
    echo $msg_ok;
  } else {
    echo mysql_error();
  }

}
?>

Modifié par groshapas (23 May 2010 - 08:25)
Salut,

J'ai édité ton message, car la balise a utiliser pour présenter du code est [ code] et non pas [ code=php], sinon le contenu ne s'affiche pas (sans l'espace que j'ai ajouté entre les crochets pour que tu puisse voir la balise de mise en forme dans mon message). Smiley cligne
Modifié par Mikachu (17 May 2010 - 18:25)