5568 sujets

Sémantique web et HTML

Bonjour, Smiley biggrin

je viens de construire un site avec une structure, et donc un index.php.

J'ai fait une page de contact avec un formulaire, en php aussi, qui fonctionne très bien. Seul petit hic, je n'arrive pas à trouver comment faire pour lui demander d'aller sur la page "contactok.html" quand le message est bien envoyé tout en gardant ma structure.

Par défaut, il met "Votre message nous est bien parvenu !" en noir sur blanc sans mise en forme du tout.

Ma structure :

<!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" xml:lang="fr" lang="fr">

<head>
    <title>{TITRE}</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
	<META NAME="DESCRIPTION" CONTENT="{DESCRIPTION}">
	<META NAME="KEYWORDS" LANG="fr" CONTENT="{KEYWORDS}">
	<META NAME="LANGUAGE" CONTENT="FR">
	<META NAME="ROBOTS" CONTENT="index, follow, all">
	<META NAME="GOOGLEBOT" CONTENT="index, follow, all">
	<META NAME="AUTHOR" CONTENT="Ugo Di CREDICO & Jean-Paul DURAND">
	<META NAME="COPYRIGHT" content="© N'DIGO all rights reserved">
	<meta name="viewport" content="height=550,width=1100,initial-scale=0.4">
	
	<link rel="stylesheet" href="css/style.css" type="text/css" media="all" charset="utf-8" />

	<link type="text/css" rel="stylesheet" href="css/byslidemenu.css" media="all">


	<!-- jQuery -->
	<script type="text/javascript" src="js/jquery.js"></script>
	<script type="text/javascript" src="js/pikachoose.js"></script>
	<!-- mootools -->
	<script type="text/javascript" src="js/mootools-core.js"></script>
	<script type="text/javascript" src="js/byslidemenu.js"></script>
	<script type="text/javascript" src="js/byslidemenu_demo.js"></script>
	
	<!-- Balise pour google wembaster-->
	<meta name="google-site-verification" content="uTheLxTfCOp826W2ET_ihw68nLDF3lPJw0VmhI6-5jQ" />
	<meta name="description" content="Acrobati : Nettoyage et purge de façades d'immeubles et de bureaux" />
</head>

<body>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/fr_FR/all.js#xfbml=1";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<script type="text/javascript">


  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-11638891-3']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>

		<div id="logo"><img alt="" src="images/logo.png"></div>
        
		<br />	<div id="corps">
		<div id="menu">
		<ul id="navigation">
  <li><a href="index.php?lien=sommaire" title="Accueil">Accueil</a></li>
  <li><a href="index.php?lien=prestations" title="Prestations">Prestations</a></li>
  <li><a href="index.php?lien=contact" title="Contact">Contact</a></li>
  
</ul>

</div>
<div id="adresse">1283 route de Charaville 38630 Les Avenières - 0677130253</div>
		{CORPS}</div>
</body>
</html>


Ma page contactok.html
<div id="titre">PRENEZ CONTACT</div>
<div id="premier">Mail envoyé. A très bientôt</div><br />
<div id="txtpres">Nous vous répondrons dans les plus brefs délais.<br /><br />

<div class="fb-like" data-href="https://www.facebook.com/pages/Acrobati/119929091527151?fref=ts" data-send="true" data-width="450" data-show-faces="true"></div>


Enfin, mon formulaire php
<?php
/*
	********************************************************************************************
	CONFIGURATION
	********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'largesse@acrobati.fr';
 
// copie ? (envoie une copie au visiteur)
$copie = 'oui'; // 'oui' ou 'non'
 
// Messages de confirmation du mail
$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";
 
// Messages d'erreur du formulaire
$message_erreur_formulaire = "Vous devez d'abord <a href=\"contact.html\">envoyer le formulaire</a>.";
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";
 
/*
	********************************************************************************************
	FIN DE LA CONFIGURATION
	********************************************************************************************
*/
 
// on teste si le formulaire a été soumis
if (!isset($_POST['envoi']))
{
	// formulaire non envoyé
	echo '<p>'.$message_erreur_formulaire.'</p>'."\n";
}
else
{
	/*
	 * cette fonction sert à nettoyer et enregistrer un texte
	 */
	function Rec($text)
	{
		$text = htmlspecialchars(trim($text), ENT_QUOTES);
		if (1 === get_magic_quotes_gpc())
		{
			$text = stripslashes($text);
		}
 
		$text = nl2br($text);
		return $text;
	};
 
	/*
	 * Cette fonction sert à vérifier la syntaxe d'un email
	 */
	function IsEmail($email)
	{
		$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(? [decu]? [decu]?:[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!\.)){0,61}[a-zA-Z0-9_-]?\.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_\-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:\[(? [decu]?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);
		return (($value === 0) || ($value === false)) ? false : true;
	}
 
	// formulaire envoyé, on récupère tous les champs.
	$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
	$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
	$objet   = (isset($_POST['objet']))   ? Rec($_POST['objet'])   : '';
	$message = (isset($_POST['message'])) ? Rec($_POST['message']) : '';
 
	// On va vérifier les variables et l'email ...
	$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré
 
	if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
	{
		// les 4 variables sont remplies, on génère puis envoie le mail
		$headers  = 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'From:'.$nom.' <'.$email.'>' . "\r\n" .
					'Reply-To:'.$email. "\r\n" .
					'X-Mailer [langue]HP/'.phpversion();
 
		// envoyer une copie au visiteur ?
		if ($copie == 'oui')
		{
			$cible = $destinataire.','.$email;
		}
		else
		{
			$cible = $destinataire;
		};
 
		// Remplacement de certains caractères spéciaux
		$message = str_replace("&#039;","'",$message);
		$message = str_replace("&#8217;","'",$message);
		$message = str_replace("&quot;",'"',$message);
		$message = str_replace('<br>','',$message);
		$message = str_replace('<br />','',$message);
		$message = str_replace("&lt;","<",$message);
		$message = str_replace("&gt;",">",$message);
		$message = str_replace("&amp;","&",$message);
 
		// Envoi du mail
		if (mail($cible, $objet, $message, $headers))
		{
			echo '<p>'.$message_envoye.'</p>'."\n";
		}
		else
		{
			echo '<p>'.$message_non_envoye.'</p>'."\n";
		};
	}
	else
	{
		// une des 3 variables (ou plus) est vide ...
		echo '<p>'.$message_formulaire_invalide.' <a href="contact.html">Retour au formulaire</a></p>'."\n";
	};
}; // fin du if (!isset($_POST['envoi']))
?>


J'espère avoir été assez clair, mais pour préciser, j'aimerai trouver la formule me permettant de remplacer ça :
$message_envoye = "Votre message nous est bien parvenu !";

Par
$message_envoye = "<a href="index.php?lien=contact">";
(grossièrement bien sûr...) Smiley rolleyes

Merci d'avance!
Pour être plus précis, ce n'est pas un <a href> que je cherche, mais que la page "Votre message est bien envoyé" soit incorporé dans ma structure de site.

Voila à quoi ressemble la page

http://www.acrobati.fr/traitement_formulaire.php

J'aimerai que ce message apparaisse dans la structure du site qui ressemble à ça.

http://www.acrobati.fr/index.php?lien=contact

J'imagine qu'il faut modifier
$message_envoye = "Votre message nous est bien parvenu !";

pour mettre un lien direct avec ma page "contactok.html" qui existe déjà!
http://www.acrobati.fr/index.php?lien=contactok

Mais j'ai beau chercher et essayer des trucs, je ne trouve pas...

HELP!!! Smiley bawling
Et si je met cela


$message_envoye =  header('Location: /index.php?lien=contactok');
$message_non_envoye = header('Location: /index.php?lien=contactno');


Qu'il y ait une faute ou pas, la page chargée sera automatiquement "contactno"...

Ca doit être à cause du header, il doit bien y avoir une solution?... Smiley decu
J'ai trouvé ça

$message_envoye = "Votre message nous est bien parvenu"; 
echo $message_envoye;
sleep(1);
header("Location: index.php?lien=contactok");

$message_non_envoye = "Veuillez recommencer votre saisie"; 
echo $message_non_envoye;
sleep(1);
header("Location: index.php?lien=contactno");


Mais je suis confronté au même problème, il va, par défaut, afficher le lien
"Location: index.php?lien=contactno"


.... Smiley ohwell
en gros:
if(mail($from,$to,$subject,$header)){
        header location (ta page ok.html)
        }
else{
       header location (ta page pas ok)
       }

Modifié par Ornitorinc (08 Jun 2013 - 11:15)
salut,
si tu veux garder ta structure comme tu dis, tu ne dois pas quitter la page de ton formulaire et par conséquent le traiter sur la même page.