[Bêta 4] Include dans une static
Bonjour je m'explique.
J'ai donc mon folio qui est en construction et j'aimerais mettre un formulaire de contact dans une static.
http://www.satovo.net >> Mon folio
http://satovo.net/?static3/contact >> Page de contact
J'ai d'abord voulu mettre quelques formulaires tirés du script php de contact et ne voyant aucune erreur je décide donc de faire une include du script complet voir si ça marche et ça me donne une erreur...
Que faire pour intégrer un script qui se trouve à cette adresse:
http://www.satovo.net/contact/contact.php pour l'intégrer et le rendre totalement exploitable à partir de ma static ?
Merci d'avance!
Cordialement Satovo
J'ai donc mon folio qui est en construction et j'aimerais mettre un formulaire de contact dans une static.
http://www.satovo.net >> Mon folio
http://satovo.net/?static3/contact >> Page de contact
J'ai d'abord voulu mettre quelques formulaires tirés du script php de contact et ne voyant aucune erreur je décide donc de faire une include du script complet voir si ça marche et ça me donne une erreur...
Que faire pour intégrer un script qui se trouve à cette adresse:
http://www.satovo.net/contact/contact.php pour l'intégrer et le rendre totalement exploitable à partir de ma static ?
Merci d'avance!
Cordialement Satovo
0
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Les pages statiques permettent d'inclure du code PHP, donc tu peux à priori copier coller le code de ton script contact ds le code source de la page statique
J'avais donc penser placer cette partie avant le doctype dans le fichier static.php mais ça l'alourdirais pour les autres pages et ce serait donc inutile.
Voila le link pour télécharger le script
http://www.comscripts.com/scripts/php.contact-captcha-v1.2364.html
Est ce que tu pourrais m'expliquer la démarche à suivre, je bidouille un peu le PHP mais bon c'est moyen moyen ^^.
Sinon merci pour le commentaire ça me fait plaisir.
<? session_start(); //ouverture la session pour conserver le captcha if (!isset($_POST["action"])) $_POST["action"]=""; if (!isset($_POST["nom"])) $_POST["nom"]=""; //déclaration de chaque élément de formulaire if (!isset($_POST["prenom"])) $_POST["prenom"]=""; if (!isset($_POST["email"])) $_POST["email"]=""; if (!isset($_POST["sujet"])) $_POST["sujet"]=""; if (!isset($_POST["message"])) $_POST["message"]=""; if (!isset($_POST["captcha"])) $_POST["captcha"]=""; $msg=""; $flag=1; // CI-DESSOUS remplacez l'adresse ($destinataire="contact@votreadresse.com";) par la vôtre if ($_POST["action"]=="Envoyer" && $_POST["email"]!="" && strtolower($_POST["captcha"])==$_SESSION["phrase"]){ $destinataire="germain.souquet@gmail.com"; //mettez ici votre adresse e-mail $objet="Satovo.net - Formulaire de contact "; // titre du mail automatique $message_envoi="Vous avez reçu une demande de contact ! \n"; $message_envoi.="Voici le contenu : \n"; //déclaration du contenu du message $message_envoi.="Nom du contact :".$_POST["nom"]." \n"; $message_envoi.="Prénom du contact :".$_POST["prenom"]." \n"; $message_envoi.="E-mail du contact :".$_POST["email"]." \n"; $message_envoi.="Site web :".$_POST["url"]." \n"; $message_envoi.="Sujet :".$_POST["sujet"]." \n"; $message_envoi.="Message du contact :".$_POST["message"]." \n\n"; //rajouter apres cette ligne les autres éléments du formulaire mail($destinataire,$objet,$message_envoi); // envoi du message $flag=0; //si tout est OK, on passe cette variable à 1 } else{ $msg="<span class='info'>Vous devez remplir tous les champs, portant un astérisque <span class='asterisque'>*</span>.</span> <span class='info-bis'>Merci</span>"; } // début de la gestion de l'affichage du captcha $monfichier=fopen("http://www.satovo.net/contact/captcha.txt","r"); $i=0; while(!feof($monfichier)){ $montab[$i]=fgets($monfichier,4096); $i++; } fclose($monfichier); shuffle($montab); $elem0=explode(";",$montab[0]); $elem1=explode(";",$montab[1]); $elem2=explode(";",$montab[2]); $elem3=explode(";",$montab[3]); $elem4=explode(";",$montab[4]); $phrase=$elem0[0].$elem1[0].$elem2[0].$elem3[0].$elem4[0]; $_SESSION["phrase"]=$phrase; $img="<span class='img'><img src='http://www.satovo.net/contact/img_captcha/".$elem0[1]."' alt=''/><img src='http://www.satovo.net/contact/img_captcha/".$elem1[1]."' alt=''/><img src='http://www.satovo.net/contact/img_captcha/".$elem2[1]."' alt=''/><img src='http://www.satovo.net/contact/img_captcha/".$elem3[1]."' alt=''/><img src='img_captcha/".$elem4[1]."' alt=''/></span>"; //fin de la gestion du captcha ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Formulaire de contact</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" media="screen" type="text/css" title="Contact captcha" href="http://www.satovo.net/contact/contact-captcha.css" /> </head> <body> <? if($flag==0){ // quand le message est parti voici ce qui est affiche, avec un lien retour vers la page de votre choix //libre à vous de procéder aux modifications que vous souhaitez echo "Merci pour votre message, nous vous répondrons dans les meilleurs délais<br />"; echo '<a href="javascript:history.back()">Retour</a>'; } else { ?> <!-- A partir d'ici il s'agit du traitement du formulaire (ce qui est apparent)--> <div id="formu"> <form method="post" name="contact" action="http://satovo.net/?static3/contact"> <fieldset> <h3>Formulaire de Contact</h3> <p><? echo $msg ?></p> <p><label>Nom <span class='asterisque'>*</span> : </label><input type="text" name="nom" value="<?php echo $_POST["nom"] ?>" /></p> <p><label>Prénom <span class='asterisque'>*</span> : </label><input type="text" name="prenom" value="<?php echo $_POST["prenom"] ?>" /></p> <p><label>E-mail <span class='asterisque'>*</span> : </label><input type="text" name="email" value="<?php echo $_POST["email"] ?>"/></p> <p><label>Site web : </label><input type="text" name="url" value="<?php echo $_POST["url"] ?>"/></p> <p><label>Sujet <span class='asterisque'>*</span> : </label><input type="text" name="sujet" value="<?php echo $_POST["sujet"] ?>" /></p> <!-- vous pouvez rajouter des éléments de formulaires ici --> <p><label>Message <span class='asterisque'>*</span> : <br /><br /></label><textarea name="message" cols="40" rows="8"><?php echo $_POST["message"] ?></textarea></p> <p class="captcha"><? echo $img ?> Recopiez le texte de l'image : <input type="text" name="captcha" size="5"/></p> </fieldset> <br /><input type="submit" name="action" value="Envoyer" /> <input type="reset" name="reset" value="Réinitialiser" class="button" /> </form></div> <!-- Ici c'est la fin du traitement du formulaire--> <? } ?> </body> </html>Voila j'ai mit ce code il a l'air de fonctionner (pas d'erreur) mais me demande de remplir tous les champs et n'envoie pas d'email... Shit!Est ce que ce serait possible d'utiliser un second fichier, je m'explique la static contient juste du HTML et la action renvoie vers une page par exemple contact.php qui execute l'envoie de mail et qui propose un lien de retour vers le site.
Ce serait possible d'adapter ce code la pour faire ce je propose pour que tout marche ?
Enfin si c'est la bonne solution bien sur
Comme indiqué dans l'aide sur les pages statiques (zone administration), vous pouvez mettre du code PHP même si celui ci doit être interprété avant les entêtes (redirections,cookies,sessions).
Je pense publier rapidement un formulaire de contact pour une page statique.
Je vous tiens au courant!
Merci marama pour votre (ton ?) support rapide & efficace.
EDIT: Problème résolu, script de contact opérationnel ! Le problème venait bien du captcha
à plus,
Gzyg
En test ici : http://blog.flox-arts.net/?static1/page-de-contact
Un petit tuto : http://wiki.pluxml.org/?11-installer-un-formulaire-de-contact
Ne pourrait-on pas récupérer l'adresse courrielle de l'administrateur qui est stockée dans le fichier de configuration XML ?
De même, en solution alternative au capcha, comment proposer le service openID ?
et apparaissent ainsi dans le courriel reçu par Thunderbird 2.x sous MacOS.
Merci beaucoup !
à plus,
Gzyg
$corps = str_replace("'", "'", $corps);
Pas joli, mais ça marchait... Merci beaucoup.
Concernant le formulaire de contact...
Afin d'éviter toute faille de sécurité merci d'inclure au début de chacune de vos pages statiques le code suivant:
<?php if (!defined('PLX_ROOT')) exit; ?>Cordialement,Stéphane
Consultant PluXml
Ancien responsable et développeur de PluXml (2010 à 2018)
à plus,
Gzyg
Merci beaucoup!