[Résolu] bouton onclick ou submit: deux actions
Bonjour,
je tourne un peu en rond; alors que la solution ne doit pas être très loin.
J'ai un formulaire et en validant cela envoie les données par mail. Pas de problème.
J'avais un bouton en-dessous qui en cliquant nous redirige sur une nouvelle page;.pas de pb non plus.
Je n'affiche donc plus le bouton submit du formulaire.
J'ai déplacé la div btn-cart dans la section <form></form>
J'ai essayé onclick, onsubmit mais je n'arrive pas à avoir les deux actions avec un seul bouton:, à savoir:
quand je clique dessus, cela envoie par mail les données saisies et nous ouvre la page static3/panier.
Alors je veux bien quelques idées
Merci d'avance
Cordialement
je tourne un peu en rond; alors que la solution ne doit pas être très loin.
J'ai un formulaire et en validant cela envoie les données par mail. Pas de problème.
J'avais un bouton en-dessous qui en cliquant nous redirige sur une nouvelle page;.pas de pb non plus.
[== PHP ==]
<form method="post" action="<?php $plxShow->urlRewrite('?static4/envoi') ?>">
<p><label for="nom">Votre nom:</label>
<input type="text" name="nom" required /></p>
<p><label for=prénom">Votre prénom:</label>
<input type="text" name="prenom" required /></p>
<p><label for="email">Votre email:</label>
<input type="email" name="email" required /></p>
</form>
[== PHP ==] <?php $prenom = $_POST['prenom']; $nom = $_POST['nom']; $email = $_POST['email']; $destinataire = "monAdresse@fai.fr"; $subject = "Formulaire"; $mailHeaders = "From: Mon test de formulaire<> \n"; $mailHeaders .= "Reply-To: $email\n\n"; $mailHeaders .='Content-Type: text/plain; charset="utf-8"'."\n"; $mailContent = "Message de : $prenom\n"; $mailContent = "Message de : $nom\n"; $mailContent .= "Adresse : $email\n"; mail($destinataire, $subject, $mailContent, $mailHeaders); ?>
[== PHP ==]
<div class="btn-cart">
<a href="<?php $plxShow->urlRewrite('?static3/page') ?>" title="Votre page">Voir votre page</a>
</div>
Je n'affiche donc plus le bouton submit du formulaire.
J'ai déplacé la div btn-cart dans la section <form></form>
J'ai essayé onclick, onsubmit mais je n'arrive pas à avoir les deux actions avec un seul bouton:, à savoir:
quand je clique dessus, cela envoie par mail les données saisies et nous ouvre la page static3/panier.
Alors je veux bien quelques idées
Merci d'avance
Cordialement
0
Connectez-vous ou Inscrivez-vous pour répondre.

Réponses
ça fonctionne lorsque je teste en dehors de pluxml
[== PHP ==] <?php $prenom = $_POST['prenom']; $nom = $_POST['nom']; $email = $_POST['email']; $reception = "monadresse@fai.fr"; $subject = "Formulaire"; $mailHeaders = "From: Mon test de formulaire<> \n"; $mailHeaders .= "Reply-To: $email\n\n"; $mailHeaders .='Content-Type: text/plain; charset="utf-8"'."\n"; $mailContent = "Message de : $prenom, $nom\n"; $mailContent .= "Adresse : $email\n"; mail($reception, $subject, $mailContent, $mailHeaders); header('Location: test-nouvellePage.php'); ?>dans pluxml, ce code fonctionne aussi:
[== PHP ==] <div class="btn-cart "> <a href="<?php $plxShow->urlRewrite('?static3/panier') ?>" title="Votre panier">Voir votre panier et commander</a> </div>Par contre dès que je transfère dans pluxml, cela ne fonctionne plus:
[== PHP ==] <form method="post" action="<?php $plxShow->urlRewrite('?static4/envoi') ?>" ....... </form> <!-- pour envoi.php --> <? php ........ header('Location:<?php $plxShow->urlRewrite(\'?static3/panier\') ?>'); ?>J'obtiens ces deux messages d'erreur:
sur le web:
Not Found
The requested URL /boutique/< was not found on this server.
et en local:
Accès interdit!
Vous n'avez pas le droit d'accéder à l'objet demandé. Soit celui-ci est protégé, soit il ne peut être lu par le serveur.
header('Location:<?php $plxShow->urlRewrite(\'?static3/panier\') ?>');metsheader('Location:'.$plxShow->urlRewrite('?static3/panier'));'); header('Location:'.$plxShow->urlRewrite('?static3/panier')); ?>
et sur le web:
Not Found
The requested URL /boutique/< was not found on this server.
en debut de fichier php, j'ai l'instruction:
<?php if(!defined('PLX_ROOT')) exit; ?>
mais même sans, cela ne fonctionnait pas
Même résultat : ici
Le code du formulaire dans la sidebar:
[== PHP ==] <!-- Début du test du formulaire --> <div class="block-full radius-shadow widget"> <form class="form-prescripteur" action="<?php $plxShow->urlRewrite('?static17/envoi') ?>" method="post"> <p><label for="nom">Votre nom et prénom:</label> <input name="nom" required="" type="text" /></p> <p><label for="email">Votre email:</label> <input name="email" required="" type="email" /></p> <p><input id="envoi" type="submit" value="Submit: Voir le thème" /></p> </form> <br /> <div class="btn-cart"> <a href="<?php $plxShow->urlRewrite('?static4/theme-pluxml') ?>" title="Votre panier">Lien direct: Voir le thème</a> </div> </div>le template de la page statique static-envoi.php:
et le fichier envoi.php:
[== PHP ==] <? php header('Location:<?php $plxShow->urlRewrite(\'?static4/theme-pluxml\') ?>'); ?>J'ai essayé aussi le fichier envoi.php avec ta correction, et pareil
La page statique que tu crées à partir de ton panneau d'administration doit s'appeler envoi avec comme url envoi.
Et à mon avis tu ne nous a pas copié tout le code du fichier envoi.php...
Ta page de démo ne fonctionne pas.
le fichier envoi.php est bien celui-là
de quelle page demo parles-tu parce que le lien du bouton "lien direct: voir le thème" ouvre bien la page
et la page statique créée dans le panneau d'administration s'appelle bien envoi avec l'url envoi et le template static-envoi
Par contre une erreur( un copier-coller maleureux) dans le template static-envoi.php mais cela ne change rien au message d'erreur:
Not Found
The requested URL /< was not found on this server.
"
Il y a un probleme avec le contenu du parametre action de la balise form de ton formulaire
action="<?php $plxShow->urlRewrite('?static17/envoi') ?>"Il te faut un lien bien formé et pas des équivalents html genre < et des bouts d'instructions php
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Merci pour votre patience et toutes mes excuses pour ce copier coller de bout de code qui a mal fonctionné ..
balise form:
<form action="<?php $plxShow->urlRewrite('?static17/envoi') ?>" method="post">fichier envoi.php
<? php header('Location:'.$plxShow->urlRewrite('?static4/theme-pluxml')); ?>J'obtiens ce message:
Parse error: syntax error, unexpected T_STRING in /themes/myPlx-Fixed-2013-10-22/envoi.php on line 3
La ligne 3 étant bien la ligne de header(location....
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
Encore un grand merci!!
ça fonctionne.;
y compris le point de départ de ce post: envoi des données du formulaire par mail et redirection vers une page.
Bonne journée
très cordialement