Formulaire
Résolu
florire
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
florire Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je voudrais que mon formulaire est 2 action.
<form action="pageactuel.php" method="post">
<form action="http://monforum/posting.forum" method="POST" name="post" enctype="multipart/form-data" onSubmit="envoiMessage(this)">
J'ai chercher un peu partout sur google mais soit j'arrive pas adapté le code à se que je veux faire, soit je comprend rien.
Si quelqu'un pourrait m'aider s'il vous plait :)
Je voudrais que mon formulaire est 2 action.
<form action="pageactuel.php" method="post">
<form action="http://monforum/posting.forum" method="POST" name="post" enctype="multipart/form-data" onSubmit="envoiMessage(this)">
J'ai chercher un peu partout sur google mais soit j'arrive pas adapté le code à se que je veux faire, soit je comprend rien.
Si quelqu'un pourrait m'aider s'il vous plait :)
6 réponses
Salut, pourquoi ne pas faire un fichier php externe qui traiterais les deux ?
Je vois que le second est pour l'upload, et le premier est pour ?
Je vois que le second est pour l'upload, et le premier est pour ?
salut, j'ai regarder ton code.
J'ai une question :)
Le message a insérer dans le forum est bien le même que celui enregistrer dans la bdd ? Je pense que oui car les deux formulaires que tu me montre sont les même....
Si c'est le même message, tu as juste a faire une requete là ou tu veux qu'il s'affiche.
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
J'ai une question :)
Le message a insérer dans le forum est bien le même que celui enregistrer dans la bdd ? Je pense que oui car les deux formulaires que tu me montre sont les même....
Si c'est le même message, tu as juste a faire une requete là ou tu veux qu'il s'affiche.
׺°"~'"°º×]|I{*------» m3745p10!7 «------*}I|[׺°"~'"°º×
Oui j'ai regrouper les deux formulaire en 1 seul.
Dans ma bdd j'enregistre le champs pseudo, et le champs carte du formulaire et dautre donné mais c'est des variable qui n'ont pas de lien direct avec le formulaire.
Et pour le message sur le forum les champs caché sont les indications pour posté le message. (ou, comment..) et le message envoyé avec les informations rentré dans le formulaire (pseudo, carte) est fait par javascript.
Comment faire la requête ?
Et je te remercie de m'aider :)
Dans ma bdd j'enregistre le champs pseudo, et le champs carte du formulaire et dautre donné mais c'est des variable qui n'ont pas de lien direct avec le formulaire.
Et pour le message sur le forum les champs caché sont les indications pour posté le message. (ou, comment..) et le message envoyé avec les informations rentré dans le formulaire (pseudo, carte) est fait par javascript.
Comment faire la requête ?
Et je te remercie de m'aider :)
Mais le site c'est toi qui la fait ?
Je te conseille de lire ou relire le site openclassroom.
Quand tu valide un formulaire la page se rafraichit si elle est fait en php.
En fait si tu fais une action sur traitement.php la page est redirigé desus, c'est comme un lien. Si ensuite sur traitement.php tu met une redirection sur ta page de formulaire, elle sera rafraichie
Je te conseille de lire ou relire le site openclassroom.
Quand tu valide un formulaire la page se rafraichit si elle est fait en php.
En fait si tu fais une action sur traitement.php la page est redirigé desus, c'est comme un lien. Si ensuite sur traitement.php tu met une redirection sur ta page de formulaire, elle sera rafraichie
Bah le forum est fais avec forumactif.
Oui je sais que si je met l'action "formulaire.php" sa rafraichie la page je m'en sert pour que la personne voit sont code qui à étais généré aléatoirement si le formulaire à étais envoyé.
Mais si la page se rafraichie avant de faire l'action pour posté un message sur le forum, cette action ne seras pas réalisé.
T'inquiète j'explique encore plus mal ^^
Oui je sais que si je met l'action "formulaire.php" sa rafraichie la page je m'en sert pour que la personne voit sont code qui à étais généré aléatoirement si le formulaire à étais envoyé.
Mais si la page se rafraichie avant de faire l'action pour posté un message sur le forum, cette action ne seras pas réalisé.
T'inquiète j'explique encore plus mal ^^
salut, tu enregistre tes infos dans la basse de données et aussi tout tes critère de selection (topictype, f....)
et tu fais un requête de ce genre :
biensur c'est un exemple a adapter a ton site
et tu fais un requête de ce genre :
SELECT pseudo, message FROM ccm WHERE topictype = '0' AND f = '77' ORDER BY id ASC LIMIT 0,10
biensur c'est un exemple a adapter a ton site
$message = (je sais pas comment le récupérer car il est fais en javascript :s)
Ensuite j'en fais quoi de la sélection ?
$jeu1 = $_POST['pseudo'];Dans l'ordre id, topictype, message, f, subject, pseudo, carte.
$jeu1 = $_POST['carte'];
$requete = "INSERT INTO carte VALUES('','newtopic','0','".$message."','77','video','".$pseudo."','".$carte."')";
$requete1 = "SELECT message FROM carte WHERE topictype = '0' AND f = '77' ORDER BY id ASC LIMIT 0,10";
$exc = mysql_query($requete1);
Ensuite j'en fais quoi de la sélection ?
Salut, on fait autrement, laisse tomber javascript
ton formulaire :
ton traitement.php :
ton formulaire :
<form action="traitement.php" method="post"> <p> <input type="hidden" name="lt" value="0" /> <input type="hidden" name="mode" value="newtopic" /> <input type="hidden" name="topictype" value="0" checked="checked" /> <input type="hidden" name="f" value="77" /> <label for="titre"></label> <input type="hidden" name="subject" id="titre" value="Video" /> <label for="pseudo">Pseudo: <input type="text" name="pseudo" id="pseudo"/> <label for="chou">Carte: <input type="text" name="chou" id="chou"/> <input type="submit" value="jouer" /> </p> </form>
ton traitement.php :
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); //tu met tes infos dans la ligne du dessus } catch(Exception $e) { die('Erreur : ' . $e -> getMessage()); } if (isset($_POST['chou']) && isset($_POST['pseudo'])) { $pseudo = htmlspecialchars($_POST['pseudo']); $chou = htmlspecialchars($_POST['chou']); $message = "<strong>Carte :</strong> " . $pseudo . "<br /><strong>Nombre :</strong>" . $chou . "<br />"; $requete1 = $bdd -> prepare("INSERT INTO carte(message,topictype,mode,lt,f) VALUES(?,?,?,?,?)"); $requete1 -> execute(array($message, $_POST['topictype'], $_POST['mode'], $_POST['lt'], $_POST['f'])); echo $message; echo $chou; echo $_POST['topictype']; echo $_POST['mode']; $requete1 -> closeCursor(); header("Location:index.php");//tu remplace index.php par la page ou tu souhaite être rediriger } ?>
voilà là ou tu veux que sa s'affiche tu fais par exemple :
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', ''); } catch(Exception $e) { die('Erreur : ' . $e -> getMessage()); } $requete = $bdd -> query("SELECT message FROM carte WHERE topictype = '0' AND f = '77' AND mode = 'newtopic' AND lt ='0' ORDER BY id ASC LIMIT 0,10"); while($req = $requete ->fetch()){ echo $req['message']."<br /><hr /><br />"; } $requete -> closeCursor(); ?>
J'ai reussi en mettant :
<input type="submit" name="post" value="Commander" onclick="document.forms['form'].action='traitement.php';document.forms['form'].submit();document.forms['form'].action='http://www.MONFORUM.com/posting.forum';document.forms['form'].submit();"/>
Mais sa m'ouvre les 2 actions dans 2 nouveau onglet donc 3 onglet au total c'est génant. Si j'enleve le target="_blank" du "form" sa m'ouvre aucun onglet mais il y a que la deuxième action (posté forum) qui est exécuter. Il y aurais pas moyen d'ouvrir qu'une seul action dans un nouvel onglet ? Ou en invisble ^^ ?
Et merci de votre aide :)
<input type="submit" name="post" value="Commander" onclick="document.forms['form'].action='traitement.php';document.forms['form'].submit();document.forms['form'].action='http://www.MONFORUM.com/posting.forum';document.forms['form'].submit();"/>
Mais sa m'ouvre les 2 actions dans 2 nouveau onglet donc 3 onglet au total c'est génant. Si j'enleve le target="_blank" du "form" sa m'ouvre aucun onglet mais il y a que la deuxième action (posté forum) qui est exécuter. Il y aurais pas moyen d'ouvrir qu'une seul action dans un nouvel onglet ? Ou en invisble ^^ ?
Et merci de votre aide :)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
C'est à dire ? Je suis pas très bon en php :$
Le premier est pour envoyer certaine donnée récupérer du formulaire sur une base de donné et afficher un code qui à étais générer.
Le deuxième est pour aussi envoyer certaine donnée en message sur un forum.
ce que je veux dire c'est que au lieux de faire deux actions, tu peux faire un fichiers qui traite les deux en un.
tu met dans ton form
Ensuite dans ton traitement.php tu fais tes deux script que tu avais prévu de faire.
Et pour sortir du fichier externe (traitement.php) tu met a la fin une redirection
par exemple pour retourner a l'index.php
formulaire.php
Les champs cacher servent à envoyer un message sur le forum.
traitement.php
Si sa peut aider le formulaire complet pour envoyer message au forum: