Erreur formulaire de contact

Petit nouveau ! | 6 Messages

14 févr. 2012, 17:32

Bonjour,

Un code pour creer un formulaire de contact m'a été donné mais lorsque je le met en ligne sur ma page un message d'erreur s'affiche :
Fatal error: Call to undefined function: have_posts() in /mnt/162/sdb/6/7/mwspimiento/portfolioV3/Contact.php on line 227

Je vous met à la suite mon code intégral, je pense que c'est une erreur facile à résoudre mais je ne connais malheureusement absolument rien en php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="fr" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
	<title>ToPo Design</title>
	<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
	<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />
	<link rel="stylesheet" href="css/jquery.jcarousel.css" type="text/css" media="all" />
	<!--[if IE 6]>
		<link rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
	<![endif]-->
	<link rel="icon" type="image/png" href="favicon.png" />
<!--[if IE]><link rel="shortcut icon" type="image/x-icon" href="favicon.ico" /><![endif]-->
	<script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
	<script type="text/javascript" src="js/jquery.jcarousel.min.js"></script>
	<script type="text/javascript" src="js/func.js"></script>
	<script type="text/javascript">

 </script>
<link href='http://fonts.googleapis.com/css?family=Sonsie+One|Aldrich|Magra' rel='stylesheet' type='text/css'>
</head>
<body>
	<div class="shell">
		<div id="header">
			<h1 id="logo">
				<a href="#">ToPo .<br />
					<span class="min">
						<span class="red">Design</span>.
					</span>
				</a>
			</h1>
			<div id="navigation">
				<ul>
					<li>
						<a href="http://mwspimiento.free.fr/portfolioV3/" class="active">Sites
						</a>
					</li>
					<li>
						<a href="http://mwspimiento.free.fr/portfolioV3/logos.html">Logos
						</a>
					</li>
				<!--<li>
						<a href="#">Navigations
						</a>
					</li>
					<li>
						<a href="#">Services
						</a>
							</li>-->
					<li class="last">
						<a href="http://mwspimiento.free.fr/portfolioV3/Contact.php">Contact
						</a>
					</li>
				</ul>
				<div class="cl">&nbsp;
				</div>
			</div>
		</div>
		<div id="ombrage">
			<br />
			<h2>Contact
			</h2>
			<br />
		</div>
		<div class="slider-holder">
			<a href="#" class="prev notext">prev
			</a>
			<a href="#" class="next notext">next
			</a>
			<div class="slider">
				<ul>
					<li>
						<center><br /><br /><br /><br /><h4>Par Email à :<br /><br />
						[email protected]</h4>
					</center>
					</li>
					<li>
						<center><br /><br /><br /><br /><h4>Par courrier à :<br /><br /><br />
						Patrick TRIGUERO<br /><br />
						6, place de France<br /><br />
						31130 BALMA</h4></center>
					</li>
					<li>
						<center><br /><br /><br /><br /><br /><h4>Par téléphone au :<br /><br />
						06 . 08 . 17 . 41 . 97</h4>
						</center>
					</li>
				</ul>
			</div>
		</div>
		<div id="ombrage2">
		</div>
		<div id="main">
			<div id="content" class="left">
				<div class="accroche">
					<h2>Soignez votre image.</h2><?php 

//If the form is submitted

	if(isset($_POST['submitted'])) {



//Check to see if the honeypot captcha field was filled in

	if(trim($_POST['checking']) !== '') {

	$captchawarning = true;

	} else {



//Check to make sure that the name field is not empty

	if(trim($_POST['contactName']) === '') {

	$namewarning = '&nbsp;- indiquez votre nom&nbsp;:';

	$haswarning = true;

	} else {

	$name = trim($_POST['contactName']);

	}



//Check to make sure sure that a valid email address is submitted

	if(trim($_POST['email']) === '')  {

	$emailwarning = '&nbsp;- indiquez une adresse e-mail valide&nbsp;:';

	$haswarning = true;

	} else if (!eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,4}$", trim($_POST['email']))) {

	$emailwarning = '&nbsp;- adresse e-mail invalide.';

	$haswarning = true;

	} else {

	$email = trim($_POST['email']);

	}



//Check to make sure comments were entered	

	if(trim($_POST['comments']) === '') {

	$commentwarning = '&nbsp;- entrez votre message&nbsp;:';

	$haswarning = true;

	} else {

	if(function_exists('stripslashes')) {

	$comments = stripslashes(trim($_POST['comments']));

	} else {

	$comments = trim($_POST['comments']);

	}

	}



//If there is no warning, send the email

	if(!isset($haswarning)) {



	$emailTo = '[email protected]';

	$subject = 'Message de '.$name;

	$sendCopy = trim($_POST['sendCopy']);

	$body = "Nom: $name \n\nEmail: $email \n\nMessage: $comments";

	$headers = 'De : mon site <'.$emailTo.'>' . "\r\n" . 'Répondre à&nbsp;: ' . $email;

	

	mail($emailTo, $subject, $body, $headers);

	

	if($sendCopy == true) {

		$subject = 'Formulaire de contact';

		$headers = 'De : <[email protected]>';

		mail($email, $subject, $body, $headers);

	}

	$emailSent = true;

	}

	}

} ?>

<?php if(isset($emailSent) && $emailSent == true) { ?>

<div class="thanks">

<h1>Merci <?=$name;?></h1>

<p>Votre message a été envoyé avec succès.</p>

</div>

<?php } else { ?>

<?php if (have_posts()) : ?>

<?php while (have_posts()) : the_post(); ?>



<h1>Formulaire de contact</h1>



		<?php if(isset($haswarning) || isset($captchawarning)) { ?>

	<p class="warning">Une erreur est survenue lors de l'envoi de votre formulaire&nbsp;:<p>

		<?php } ?>



<form action="<?php the_permalink(); ?>" method="post">

<ol>

<li><label for="contactName">Nom</label>

<?php if($namewarning != '') { ?>

<span class="warning"><?=$namewarning;?></span>

<?php } ?>

<input type="text" name="contactName" id="contactName" value="<?php if(isset($_POST['contactName'])) echo $_POST['contactName'];?>" class="requiredField" />

</li>



<li><label for="email">E-mail</label>

<?php if($emailwarning != '') { ?>

<span class="warning"><?=$emailwarning;?></span>

<?php } ?>

<input type="text" name="email" id="email" value="<?php if(isset($_POST['email']))  echo $_POST['email'];?>" class="requiredField email" />

</li>



<li class="textarea"><label for="commentsText">Message</label>

<?php if($commentwarning != '') { ?>

<span class="warning"><?=$commentwarning;?></span>

<?php } ?>

<textarea name="comments" id="commentsText" rows="20" cols="30" class="requiredField"><?php if(isset($_POST['comments'])) { if(function_exists('stripslashes')) { echo stripslashes($_POST['comments']); } else { echo $_POST['comments']; } } ?></textarea>

</li>



<li class="inline"><label for="sendCopy">Recevoir une copie du message</label><input type="checkbox" name="sendCopy" id="sendCopy" value="true"<?php if(isset($_POST['sendCopy']) && $_POST['sendCopy'] == true) echo ' checked="checked"'; ?> /></li>

<li class="screenreader"><label for="checking" class="screenreader">Pour envoyer ce formulaire, ne saisissez rien dans ce champ</label><input type="text" name="checking" id="checking" class="screenReader" value="<?php if(isset($_POST['checking']))  echo $_POST['checking'];?>" /></li>

<li class="buttons"><input type="hidden" name="submitted" id="submitted" value="true" /><button type="submit"><span>envoyer</span></button></li>

</ol>

</form>



	<?php endwhile; ?>

	<?php endif; ?>

<?php } ?>
					<h3><font style="letter-spacing: 0.3px;">Une image d'entreprise bien conçue c'est une vente, un contact ou une fidélisation facilité.</h3>
					<p><font style="letter-spacing: 4.2px;">Charte graphique, architecture de site internet, ergonomie de navigation,</font>
					<font style="letter-spacing: 4.28px;">contenu, cartes de visite, autocollants sur véhicules, nous vous aiderons</font>
					<font style="letter-spacing: 3px;">à définir ces points clefs en fonction de votre marché, de l'image de votre entreprise</font>
					<font style="letter-spacing: 4.3748px;">et des objectifs à atteindre à travers la création du site web de celle-ci.</font></p>
				</div>
				<div class="col left">
					<h2>Objectif ?</h2>
					<h3><font style="letter-spacing: 1.9px;">Votre satisfaction est l’objectif.</font></h3>
					<p><font style="letter-spacing: 4.829px;">La réalisation opérationnelle :</font>
					<font style="letter-spacing: 2.5px;">parce que le professionnalisme est indi-</font>
					<font style="letter-spacing: 1.805px;">spensable au bon déroulement d’une action.</font></p>
				</div>
				<div class="col right">
					<h2>Méthode ?</h2>
					<h3><font style="letter-spacing: 2.77px;">Prendre le temps de réflexion.</font></h3>
					<p><font style="letter-spacing: 7px; word-spacing:10px;">La réflexion créative :</font>
					<font style="letter-spacing: 2px; word-spacing:3px;">parce que le cœur de la communication,</font>
					<font style="letter-spacing: 2.17px; word-spacing:2px;">c’est une création forte, mais maîtrisée.</font></p>
				</div>
				<div class="cl">&nbsp;</div>
			</div>
			
			<div id="sidebar" class="right">
				<h2>Communiquer
			<br /><font style="letter-spacing: 0.8px; word-spacing:2px;">oui, mais par quel moyens ?</font></h2>
				<div class="item">
					<h3>Site internet</h3>
					<p><font style="letter-spacing: 0.6px;">Quelle que soit votre activité professionnelle,</font>
					<font style="letter-spacing: 0.15px;">un site est maintenant un élément promotionnel</font>
					<font style=" letter-spacing: 1.42px; word-spacing:0px;">incontournable et d'un très bon rapport</font>
					<font style=" letter-spacing: 0.35px;">efficacité/prix. Vous avez donc raison de vouloir </font> 
					<font style=" letter-spacing: 0.9px; word-spacing:0px;">faire un site Internet pour votre entreprise.</font></p>
				</div><br />
				<div class="item">
					<h3>Cartes de visite</h3>
					<p><font style=" letter-spacing: -0.15px;">La carte de visite est un excellent outil de promotion.</font>
					<font style=" letter-spacing: -0.5px;">C'est un document de communication à ne pas négliger</font> 
					<font style=" letter-spacing: -0.38px;">car il offre l'opportunité de valoriser l'identité et l'image </font>
					<font style=" letter-spacing: 0.15px;">de son entreprise tout en véhiculant ses services,</font>
					<font style=" letter-spacing: 0.2px;"> ses activités etc. Elle doit à la fois refléter l'image</font>
					<font style=" letter-spacing: 0.4px;">de l'entreprise mais aussi diffuser un message.</font></p>
				</div><br />
				<div class="item">
					<h3>Pub sur vehicules</h3>
					<p><font style=" letter-spacing: 1.9px;">La pub sur véhicule : 3000 occasions </font>
					<font style=" letter-spacing: 1.7px;">d’être vu par heure en zone urbaine … </font></p>
				</div>
			</div>
			<div class="cl">&nbsp;
			</div>
		</div>
		<div id="footer"><!--
				<div class="nav left">
					<ul>
						<li><a href="#">Accueil</a></li>
						<li><a href="#">Services</a></li>
						<li><a href="#">Solutions</a></li>
						<li><a href="#">Supports</a></li>
						<li><a href="#">Partenaires</a></li>
						<li class="last"><a href="#">Contact</a></li>
					</ul>
				</div>-->
				 <p>
					<a href="http://validator.w3.org/check?uri=referer">
						<img src="http://www.w3.org/Icons/valid-xhtml10" alt="Valid XHTML 1.0 Transitional" height="31" width="88" />
					</a>
			</p>
		</div>
	</div>
</body>
</html>

Merci d'avance de votre aide

ViPHP
ViPHP | 2287 Messages

14 févr. 2012, 17:46

Bonjour,

Comme l'erreur vous l'indique, ce code fait appel à des fonctions php qui n'y sont pas définies. On ne pourra pas les inventer pour vous...
A vous de voir avec la personne qui vous a gentiment "donné" ce code incomplet, il serait normal qu'elle vous aide à le faire fonctionner.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Petit nouveau ! | 6 Messages

14 févr. 2012, 18:02

Oui merci ça m'avance un peu, pourquoi mettre donné entre guillemets? Un sous entendu ?

Des formulaires de contacts il y en a a foison sur le net je vois pas pourquoi j'irais en voler un ...

Si je ne demande pas à la personne qui me l'a donné c'est parce qu’on me l'a passé sur alsacreation (donné par Olivier C) sans que je le demande vraiment mais parce qu’il savait que j'en avais besoin, je ne voulais pas abuser de la gentillesse de cette personne et je trouvais normal de m'orienter vers un forum d'aide au débutant en php.

Mais bon si je ne trouve pas d'aide sur ce forum qui me semblé justement dédié à ce genre de chose rien de grave...
Je me debrrouillerais

ViPHP
ViPHP | 2287 Messages

14 févr. 2012, 18:17

C'est à dire qu'en voyant le contenu de la page en question, qui parle de professionalisme et de création de site web, avec un script "donné" (je ne fais que vous citer) sans fournir avec les informations pour le mettre en place apparemment... Pas de sous-entendu particulier, mais je m'interrogeais simplement sur la logique de votre démarche à venir ici demander de l'aide pour un script qu'on vous a donné "là-bas" de manière partielle sans même s'assurer que vous puissiez le mettre en place.

N'y voyez pas un refus de vous aider, mais votre problème ne s'y prête tout simplement pas tel que vous nous le posez.
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Petit nouveau ! | 6 Messages

14 févr. 2012, 18:28

Et bien comme ça a l'air de vous intéresser, j'ai bien l'intention de me lancer en freelance tant que designer graphique, ce qui n'a rien a voir avec le php (mais ça je pense que vous le savez déjà).

Je suis actuellement en train de travailler sur les contacts, autant au niveau de la clientèle qu'au niveau de mes collaborateurs qui eux s'occuperont de l’intégration).
J'ai un peu de temps devant moi pour cela car je ne compte pas me lancer avant juillet/aout mais j'aimerais pouvoir créer mon folio avant (ce qui pour moi me parait assez logique.

Voilà qui je pense éclairera votre curiosité.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 févr. 2012, 08:28

Salut,

Comme l'indique. Calimero le problème provient de fonctions manquante et la seul Olivier C pourra aider, si c'est lui qui a fournis cette partie aussi (les noms des fonctions sont presque explicite mais on ne devineras pas le code. ;) )

Quand aux réponse du forum c'est assez simple on aide les gens à comprendre php en expliquant les erreurs, en indiquant la bonne voie, parfois en donnant un bout de code c'est tout ;) (prêtre / pasteur php au final prêchons la bonne paroles mes frères et sœur :mrgreen: ).

J'en profite pour une analyse rapide du code :
Utilisé des short tag (<?= ?>) c'est peu lisible et surtout ce n'est pas la configuration par défaut de php il y a donc des risques que ce script ne fonctionne pas sur un serveur php5.


Les tests sur des chaînes vide peuvent être remplacer par l'utilisation de la fonction empty

Les fonctions ereg* sont déprécier (un message doit devrait d'ailleurs l'indiquer), ces fonctions sont à remplacer par des preg_*.

Il serait intéressant d'utiliser isset en plus de la vérification de contenu des infos du formulaire (ou simplement empty pour les deux) pour éviter les erreurs si le formulaire n'est pas complet (vue que l'on ne peux pas être certains de ça qui est envoyé par le client ! ).


@+
Il en faut peu pour être heureux ......

Petit nouveau ! | 6 Messages

15 févr. 2012, 12:36

Ok merci,

A ce que je comprend le code est un peu pourri, il vaut mieux que j’en cherche un autre du coup.

Merci à vous pour vos réponses

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

15 févr. 2012, 15:00

il est pas pourris, il est perfectible c'est tous.

maintenant si tu souhaite du copier coller effectivement il va te falloir chercher d'autre script.

php ce n'est pas si complexe et même si ce n'est pas ton métier quelque rudiment, tel qu'une validation de formulaire, sont toujours utile.

les dev ont bien des rudiments (et parfois plus) de design et intégration.

@+
Il en faut peu pour être heureux ......