CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Probleme formulaire php aide

proLevel
proLevel
Niveau 5
28 août 2008 à 21:33:10

Bonjour,

voila je voudrais faire un formulaire en php pour recevoir les noms prénoms et emails de mes visiteurs et recevoir cela ds ma base sql dans un tableau. Mais je ne sais pas vraiment comment faire et j'ai pas trop de temps (demain) personne n'aurai 5 min pour me lacher un bou de script et des explications ? Merci !

letmeguess
letmeguess
Niveau 5
28 août 2008 à 21:53:03

Tu as de la chance : voilà un petit bout de code d'un truc que j'avais fait il y a un certain temps:

<?php
if (isset($_POST['nom']) AND isset($_POST['prenom']) AND isset($_POST['adressemail']))
{
$nom = addslashes($_POST['nom']);
$prenom = addslashes($_POST['prenom']);
$adressemail = addslashes($_POST['adressemail']);

mysql_query("INSERT INTO tabase VALUES('', '" . $nom . "', '" . $prenom . "', '" . $adressemail . "')") or die (mysql_error());

mysql_close();
}
?>
Ça te permet d'entrer dans ta bdd la valeur de tes champs nommés "nom", "prénom" et "email". Il te faudra un script pour te connecter à ta bdd et bien sûr ton formulaire Html.

Good luck :ok:

proLevel
proLevel
Niveau 5
28 août 2008 à 22:28:38

voilà mon code php de la page traitement.php :

<?php
// Parametres mysql à remplacer par les vôtres
define('DB_SERVER', 'localhost'); // serveur mysql
define('DB_SERVER_USERNAME', '***'); // nom d'utilisateur
define('DB_SERVER_PASSWORD', '***'); // mot de passe
define('DB_DATABASE', '***'); // 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 demande a bien été prise en compte.";
$message = $msg_erreur;

// vérification des champs
if (empty($_POST['***']))
$message .= "***<br/>";
if (empty($_POST['***']))
$message .= "***<br/>";

// si un champ est vide, on affiche le message d'erreur
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));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}

$sql = "INSERT INTO formulaire VALUES ('', '".$***."', '".$***."', now())";
$res = mysql_query($sql);

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

}
?>

et voilà ce qui se trouve sur l'index.html :

<form method="post" action="traitement.php">

<p class="titre">Coordonnées</p>

<fieldset id="coordonnees">
</fieldset>

<p class="titre">Message</p>

<fieldset id="message">
</fieldset>

<p id="buttons">
<input type="submit" value="Envoyer" />
</p>

</form>

Sauf que quand on remplit le formulaire rien ne se passe et la page se recharge.

letmeguess
letmeguess
Niveau 5
28 août 2008 à 22:36:30

C'est normal dans ton script tu as pas mal de "*" à remplacer par tes données à toi (qui ne correspondent donc à rien):

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

Si tu tests en local (par contre renseigne le nom de ta base)

// vérification des champs
if (empty($_POST['coordonnees']))//Là tu mets le nom d'un de tes champs
$message .= "***<br/>";
if (empty($_POST['message']))//Et là de l'autre
$message .= "***<br/>";

Vérifies tous les autres endroits que tu n'as pas renseigné et tu aura d'avantage de résultat.

proLevel
proLevel
Niveau 5
28 août 2008 à 23:15:09

non c'est moi qui est caché cela lol. Sinon vous ne voyez pas d'ou cela peut venir ?

letmeguess
letmeguess
Niveau 5
28 août 2008 à 23:33:24

Arf okay, mais pour le coup je pense pas qu'il y avait grand chose à cacher^^

Bref, place un "or die (mysql_error());" après tes requêtes SQL du type:

$res = mysql_query($sql) or die (mysql_error()); histoire de voir s'il y a une erreur dans ces dernières

proLevel
proLevel
Niveau 5
28 août 2008 à 23:43:53

je place cela partout ou il y a $ ? ou juste la derniere celle que tu as ecrite ?

proLevel
proLevel
Niveau 5
29 août 2008 à 01:11:20

J'obtiens ceci maintenant : Table 'base.formulaire' doesn't exist ...

proLevel
proLevel
Niveau 5
29 août 2008 à 01:20:07

maintenant j'ai ça: Column count doesn't match value count at row 1 ...

proLevel
proLevel
Niveau 5
29 août 2008 à 01:39:45

Nan ba voilà c'est bon j'ai reussi merci poru tout !

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment