[RESOLU] Problème d'envoie de formulaire

Eléphanteau du PHP | 16 Messages

14 juin 2019, 00:15

Bonjour,
Voila sa fait 2/3 jours que je me bat pour savoir qu'elle est le problème, j'ai fuiné un peu partout sans résultat.
Je suis pas très doué donc voila.

Voici mes codages :

Code : Tout sélectionner

<center> <?php include 'menu.php'?> <br> <?php include("datebase.php"); if((isset($_POST['pseudo'])) && (isset($_POST['titre'])) && (isset($_POST['texte']))) { $pseudo = $_POST['pseudo']; $titre = $_POST['titre']; $texte = $_POST['texte']; echo $pseudo; echo $titre; echo $texte; } else { ?> <form method="post" action="posteur.php"> <input type="text" name="pseudo" id="pseudo" placeholder="Nom/Prénom :" required> <input type="text" name="titre" id="titre" placeholder="Titre :" required> <input type="text" name="texte" id="texte" placeholder="Texte :" required> <input type="submit" name="formsend" id="formsend"> </form> <?php } ?> </center>
Et il met impossible d'envoyé jusqu'à la base de donnée, elle est bien connecté mais je ne sais pas

Mercii :D
Modifié en dernier par Sylvestre le 14 juin 2019, 01:17, modifié 2 fois.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

14 juin 2019, 00:23

Rien dans le code que tu indiques ne fait de traitement avec ta base de données donc c'est un peu difficile de t'aider :-D
Quand tout le reste a échoué, lisez le mode d'emploi...

Mammouth du PHP | 2703 Messages

14 juin 2019, 00:41

<input type="text"

Eléphanteau du PHP | 16 Messages

14 juin 2019, 00:59

Rien dans le code que tu indiques ne fait de traitement avec ta base de données donc c'est un peu difficile de t'aider :-D
Et je peux régler sa comment ?

Eléphanteau du PHP | 16 Messages

14 juin 2019, 00:59

<input type="text"
Merci j'ai modifier mais sa fait toujours la même chose

Eléphant du PHP | 53 Messages

14 juin 2019, 03:17

Salut Sylvestre, comment ça va ?

Je ne suis pas très fort moi-même, cependant je remarque certaines anomalies dans ton code. À première vue, il manque une requête. Vois-tu, si tu veux que ces informations s'incrivent dans une base de données il faut que tu en fasses la demande. Par exemple :
$req = $bdd->prepare('INSERT INTO table (nom, titre, texte ) VALUES (:nom, :titre, :texte) ;
$req->execute(array(
'nom' => $_POST['nom'],
'titre' => $_POST['titre'],
'texte' => $_POST['texte'] ));
évidemment tu remplaces table par le nom de ta table.

Deuxièmement je me demande pourquoi tu diriges l'action de ton formulaire vers une autre page (posteur.php) alors que tu commences le traitement du formulaire sur la même page.

Finalement , tu devrais sortir ton formulaire de ton code php.
D'après moi ton code devrait ressembler un peu à celui-là:

Code : Tout sélectionner

<?php include 'menu.php'?> <br> <?php include("datebase.php"); if(isset($_POST['formsend'])) { if((isset($_POST['pseudo'])) && (isset($_POST['titre'])) && (isset($_POST['texte']))) { $pseudo = htmlspecialchars($_POST['pseudo']); $titre = htmlspecialchars($_POST['titre']); $texte = htmlspecialchars($_POST['texte']); //la requête pour inclure les informations. Bien sûr tu dois remplacer table par le nom de ta table. $req=$bdd->prepare('INSERT INTO table (pseudo, titre, texte) VALUES (:pseudo, :titre, :texte)'); $req->execute(array( 'pseudo' => $pseudo, 'titre' => $titre, 'texte' => $texte )); } } ?> <form method="post" action=""> <input type="text" name="pseudo" id="pseudo" placeholder="Nom/Prénom :" required> <input type="text" name="titre" id="titre" placeholder="Titre :" required> <input type="text" name="texte" id="texte" placeholder="Texte :" required> <input type="submit" name="formsend" id="formsend"> </form>
Pourquoi faire simple quand on peut faire compliqué ?

Eléphanteau du PHP | 16 Messages

14 juin 2019, 03:28

Salut Sylvestre, comment ça va ?

Je ne suis pas très fort moi-même, cependant je remarque certaines anomalies dans ton code. À première vue, il manque une requête. Vois-tu, si tu veux que ces informations s'incrivent dans une base de données il faut que tu en fasses la demande. Par exemple :
$req = $bdd->prepare('INSERT INTO table (nom, titre, texte ) VALUES (:nom, :titre, :texte) ;
$req->execute(array(
'nom' => $_POST['nom'],
'titre' => $_POST['titre'],
'texte' => $_POST['texte'] ));
évidemment tu remplaces table par le nom de ta table.

Deuxièmement je me demande pourquoi tu diriges l'action de ton formulaire vers une autre page (posteur.php) alors que tu commences le traitement du formulaire sur la même page.

Finalement , tu devrais sortir ton formulaire de ton code php.
D'après moi ton code devrait ressembler un peu à celui-là:

Code : Tout sélectionner

<?php include 'menu.php'?> <br> <?php include("datebase.php"); if(isset($_POST['formsend'])) { if((isset($_POST['pseudo'])) && (isset($_POST['titre'])) && (isset($_POST['texte']))) { $pseudo = htmlspecialchars($_POST['pseudo']); $titre = htmlspecialchars($_POST['titre']); $texte = htmlspecialchars($_POST['texte']); //la requête pour inclure les informations. Bien sûr tu dois remplacer table par le nom de ta table. $req=$bdd->prepare('INSERT INTO table (pseudo, titre, texte) VALUES (:pseudo, :titre, :texte)'); $req->execute(array( 'pseudo' => $pseudo, 'titre' => $titre, 'texte' => $texte )); } } ?> <form method="post" action=""> <input type="text" name="pseudo" id="pseudo" placeholder="Nom/Prénom :" required> <input type="text" name="titre" id="titre" placeholder="Titre :" required> <input type="text" name="texte" id="texte" placeholder="Texte :" required> <input type="submit" name="formsend" id="formsend"> </form>
Salut, très bien et toi ?

Je te remercie pour tes explication sa fonctionne mieux maintenant^^

En faite pour la pour la redirection je la redirigé vers cet même page, je suis vraiment pas doué

Je te remercie passe une bonne fin de soirée :D