erreur dans mon formulaire de reservation de chambres

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : erreur dans mon formulaire de reservation de chambres

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 05 nov. 2015, 10:40

bonjour

j'ai lacher prise apres des millions d heures devant le pc

merci

Re: erreur dans mon formulaire de reservation de chambres

par charlotte » 27 oct. 2015, 12:13

J ai regarder aujourd hui sur le net a propos des dates et ce serait bien un problem de format

ici la source sur wc3 en anglais : http://www.w3.org/TR/html5/forms.html#d ... alueasdate

en francais ca donne :

L'attribut valueAsDate IDL représente la valeur de l'élément, interprété comme une date.

Sur l'obtention, si l'attribut valueAsDate ne concerne pas, tel que défini pour l'état actuel de input l'attribut type de l'élément d'entrée, puis retourner null. Sinon, exécuter l'algorithme Navette aéroport Orly pour convertir une chaîne à un objet Date défini pour cet Etat; si l'algorithme retourne un objet Date, puis la retourner, sinon, null.

numéro à une chaîne, un algorithme pour convertir une chaîne à un objet Date, et un algorithme pour convertir un objet Date en une chaîne, qui sont utilisés par max, min, étape, valueAsDate, valueAsNumber, StepDown (), et StepUp () .

par contre je n ai pas d exemple pour convertir et reconvertir l aglorithme pour convertir une chaine a un objet date.
si quelqu un connait

merci
J'ai moi aussi eu le même problème d'affichage pour la page de réservation de ma chambre d'hôte. Pour ma part, c'était le format de la date qui ne collait pas. Là heureusement c'est bon grâce à vos conseils. Merci

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 05 oct. 2015, 14:13

Pour le $message je comprends il sagit d une mise en forme avant les variables qui apparaitront a la reception du mail.
oui c est important que je le face pour avoir un mail comprehensive. faut deja que je trouve a faire fonctionner ce formulaire pour les dates..

voila ou j en suis me dit pas qu il y a des erreurs dans le formulaire il me dit :L'envoi du mail a echoue, veuillez raessayer SVP

ou est l erreur ou les erreurs? merci

/ formulaire envoyé, on récupère tous les champs.
$full_name  = (isset($_POST['full_name']))  ? Rec($_POST['full_name'])        : '';
$email      = (isset($_POST['email']))      ? Rec($_POST['email'])      : '';
$date1      = (isset($_POST['date1']))      ? Rec($_POST['date1'])        : '';  
$date2      = (isset($_POST['date2']))      ? Rec($_POST['date2'])        : '';


$sdate = date("Y-m-d",strtotime(str_replace('/','-',$_POST['date1'])));
$sdate = date('Y-m-d', strtotime($sdate . ' + 1 day'));



$edate = date("Y-m-d",strtotime(str_replace('/','-',$_POST['date2'])));
$edate = date('Y-m-d', strtotime($edate . ' + 1 day'));

 $nights = (strtotime($edate) - strtotime($sdate)) / (60 * 60 * 24);
 $_POST['nights']=$nights; 


// 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é
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

if (isset($_POST['envoi']))
{
	if (($full_name != '') && ($email != '') && ($sdate != '') && ($edate != ''))
	{
		
			// les  variables sont remplies, on gﯨre puis envoie le mail
			$headers  = 'MIME-Version: 1.0' . "\r\n";
			$headers .= 'From:'.$full_name.' <'.$email.'>' . "\r\n" .
				'Reply-To:'.$email. "\r\n" .
				'Content-Type: text/plain; charset="utf-8"; DelSp="Yes"; format=flowed '."\r\n" .
				'Content-Disposition: inline'. "\r\n" .
				'Content-Transfer-Encoding: 7bit'." \r\n" .
				'X-Mailer:PHP/'.phpversion();

			// envoyer une copie au visiteur ?
		if ($copie == 'non')
		{
			$cible = $destinataire.','.$email;
		}
		else
		{
			$cible = $destinataire;
		};

		// Remplacement de certains caractères spéciaux
		

		// Envoi du mail
		if (mail("Reservation recu de:".$cible, "Date d arrivee:".$sdate, "Date de depart:". $edate, "Nombre de nuit: ".$nights, $headers))
			{
				echo '<p>'.$message_envoye.'</p>';
			}
			else
			{
				echo '<p>'.$message_non_envoye.'</p>';
			 };
			 }
			
         	
		    else
		    {
			// une des 3 variables (ou plus) est vide ...
			echo '<p>'.$message_formulaire_invalide.'</p>';
			$err_formulaire = true;

};
	};

 
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
	// afficher le formulaire
	echo '

Re: erreur dans mon formulaire de reservation de chambres

par Megadeth » 05 oct. 2015, 09:32

Salut,

Ce que veux dire or1 c'est que le $message (défini dans l'envoi du mail) doit être le résultat de la concaténation de toutes tes autres variables.

$message = "Bonjour, une nouvelle réservation a été faite pour la date du ".$datein." au ... etc....

Le $message du mail c'est le body/le corps du mail que tu vas recevoir.

Avant d'implémenter ça avec un formulaire, essaie juste de te faire parvenir un email simple (cf les tutos sur ce forum, ils sont bien faits ;))

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 04 oct. 2015, 13:01

J ai regarder aujourd hui sur le net a propos des dates et ce serait bien un problem de format

ici la source sur wc3 en anglais : http://www.w3.org/TR/html5/forms.html#d ... alueasdate

en francais ca donne :

L'attribut valueAsDate IDL représente la valeur de l'élément, interprété comme une date.

Sur l'obtention, si l'attribut valueAsDate ne concerne pas, tel que défini pour l'état actuel de input l'attribut type de l'élément d'entrée, puis retourner null. Sinon, exécuter l'algorithme pour convertir une chaîne à un objet Date défini pour cet Etat; si l'algorithme retourne un objet Date, puis la retourner, sinon, null.

numéro à une chaîne, un algorithme pour convertir une chaîne à un objet Date, et un algorithme pour convertir un objet Date en une chaîne, qui sont utilisés par max, min, étape, valueAsDate, valueAsNumber, StepDown (), et StepUp () .

par contre je n ai pas d exemple pour convertir et reconvertir l aglorithme pour convertir une chaine a un objet date.
si quelqu un connait

merci

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 04 oct. 2015, 12:53

aujourd hui j ai chercher sur le web, concernant le probleme de date.

voici ce qui est dit :

L'attribut valueAsDate IDL représente la valeur de l'élément, interprété comme une date.

Sur l'obtention, si l'attribut valueAsDate ne concerne pas, tel que défini pour l'état actuel de l'attribut type de l'élément d'entrée, puis retourner null. Sinon, exécuter l'algorithme pour convertir une chaîne à un objet Date défini pour cet Etat; si l'algorithme retourne un objet Date, puis la retourner, sinon, null.

numéro à une chaîne, un algorithme pour convertir une chaîne à un objet Date, et un algorithme pour convertir un objet Date en une chaîne, qui sont utilisés par max, min, étape, valueAsDate, valueAsNumber, StepDown (), et StepUp () .

source en WC3: en anglais : http://www.w3.org/TR/html5/forms.html#d ... alueasdate



une idee comment convertir l algorithme? et apres reconvertir afin de regler mon problem ?

bonne soiree

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 03 oct. 2015, 16:43

bonsoir or1
message c'est un commentaire
datein c est une date d'arriver avec un calendrier. comme quand tu remplis un formulaire avec date d arrivee et date de depart, je pense pas qu on puisse le mettre dans messages qui est le commentaire du cient qui reserve. je pense que le problem vient du format des dates dd/mm/yy qui semble ne pas etre reconnu par la verification du formulaire . je ne suis pas developpeur mais tous les autres champ fonction sauf les deux dates arrivee et depart.

Re: erreur dans mon formulaire de reservation de chambres

par or 1 » 03 oct. 2015, 13:32

if (mail($cible, $datein, $objet, $message, $headers))
il faudrait respecter les paramètres de la fonction mail. $datein doit être quelque part dans $message.

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 03 oct. 2015, 07:59

je suis reparti avec le formulaire propre et j ai inserer les nouveaux champ pas a pas.
le problem est dans les dates.
pour l instant j ai mis datein ( date arrivee) quand je valide le formulaire il me dit : L'envoi du mail a echoue, veuillez reessayer SVP.
// formulaire envoyé, on récupère tous les champs.
$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : '';
$email   = (isset($_POST['email']))   ? Rec($_POST['email'])   : '';
$datein = (isset($_POST['datein']))   ? Rec($_POST['datein'])   : '';
$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é
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

if (isset($_POST['envoi']))
{
	if (($nom != '') && ($email != '') && ($datein != '') && ($objet != '') && ($message != ''))

apres dans cible j'ai ajouter addin:
// Envoi du mail
if (mail($cible, $datein, $objet, $message, $headers))

Dans le code htmil j'ai mis :
<label>Date arrivee :</label>
<input type="date" id="'.stripslashes($datein).'" name="datein" tabindex="3" />

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 02 oct. 2015, 22:14

bonsoir il y a dans le formulaire $form_action = '';
<?php
/*
	********************************************************************************************
	CONFIGURATION
	********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'monemail.com';

// copie ? (envoie une copie au visiteur)
$copie = 'non';

// Action du formulaire (si votre page a des paramètres dans l'URL)
// si cette page est index.php?page=contact alors mettez index.php?page=contact
// sinon, laissez vide
$form_action = '';

// 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.";

// Message d'erreur du formulaire
$message_formulaire_invalide = "Vérifiez que tous les champs soient bien remplis et que l'email soit sans erreur.";

/*
	********************************************************************************************
	FIN DE LA CONFIGURATION

Re: erreur dans mon formulaire de reservation de chambres

par or 1 » 02 oct. 2015, 18:43

dans le code indiqué, il n'y a pas la balise <form ...
elle n'est vraiment pas dans le code exécuté ?

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 02 oct. 2015, 18:36

bonsoir merci oui c etait bien cela , mais j ai encore une autre erreur quand je charge la page en booking.php il affiche le formulaire je repli et au moment de valider ca bloque ? comme ci il envoi pas pourtant pour envoyer j ai mis
<input type="submit" name="envoi" value="send" />
	</form>';
};
?>

Re: erreur dans mon formulaire de reservation de chambres

par or 1 » 02 oct. 2015, 18:00

</form>
';
}
?>

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 02 oct. 2015, 17:51

bonsoir
Je prends un autre formulaire il me trouve une erreur Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/..etc....
if (($err_formulaire) || (!isset($_POST['envoi'])))
{
	// afficher le formulaire
	echo '


	  <label>subject</label>
      <input type="text" id="'.stripslashes($subject).'" name="Pre-reservation" placeholder="Pre-reservation">
 
      <label>Nom Prenom :</label>
      <input type="text" id="'.stripslashes($full_name).'" name="full_name" placeholder="Nom prenom" required>
 
      <label>Adresse e-mail :</label>
      <input type="email" id="'.stripslashes($email).'" name="email" required>
 
      <label>Date arrivee :</label>
      <input type="date" id="'.stripslashes($arrival_dt).'" name="arrival_dt" required>
	  
	  <label>Date de depart :</label>
      <input type="date" id="'.stripslashes($departure_dt).'" name="depart_dt" required>

        
      <label>Nombre de personnes :</label>
      <input type="number" id="'.stripslashes($guests).'" name="guests" value="0" min="1" max="4" required>
 
      <label>Nombre de chambres :</label>
      <input type="number" id="'.stripslashes($room).'" name="room" value="0" min="1" max="4" required>
	  
	  <label>Chambre avec ou sans balcon :</label>
      <input type="text" id="'.stripslashes($mess).'" name="Balcon" placeholder="" required>
     
      
		<input type="submit" name="send" value="send"/>
	</form>
'}
?>
 
    
</body>
</html>
j 'ai meme essayer avec '}; ?> pareil

Re: erreur dans mon formulaire de reservation de chambres

par dryland » 01 oct. 2015, 15:19

salut @rthur desole je savais pas pour le code de ne pas le mettre entier.

j'ai retrouver le code original sans la verification anti spam
$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é
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

if (isset($_POST['envoi']))
{
	if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))
mais lorsque je change les valeur pour l adapter a ma reservation il me dit "Verifiez que tous les champs soient bien remplis "
$nom          = (isset($_POST['nom']))    ? Rec($_POST['nom'])        : '';
$email        = (isset($_POST['email']))      ? Rec($_POST['email'])      : '';
$datepicker   = (isset($_POST['datepicker']))    ? Rec($_POST['datepicker'])        : '';
$datepicker1  = (isset($_POST['datepicker1']))   ? Rec($_POST['datepicker1'])        : '';
$adults       = (isset($_POST['adults']))     ? Rec($_POST['adults'])      : '';
$room         = (isset($_POST['room']))       ? Rec($_POST['room'])    : '';


// 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é
$err_formulaire = false; // sert pour remplir le formulaire en cas d'erreur si besoin

if (isset($_POST['envoi']))
{
if (($nom != '') && ($email != '') && ($datepicker != '') && ($datepicker1 != '') && ($adults != '') && ($room != '') )
{
le problem est dans le code html des champs par exemple dans datepicker (date d arrivee) le calendrier quand tu clique sur une date il affiche la date au format selection de date affiche par exemple 10/02/2015 peut etre que le formatage n'est pas reconnu dans mon input ou mal coder, ou maque peut etre quelques chose.
<div class="bnr-right">
<input class="date" id="datepicker" type="text" value="'.stripslashes($datepicker).'" tabindex="3" />
</div>
En fouillant le net il semblerait qu'il faut mettre pour les dates ce type de format:
<input class="date" id="datepicker1" type="text" value="dd/MMM/yyyy" onfocus="this.value = '.stripslashes($datepicker).';" onblur="if (this.value == '') {this.value = '';}" required=>
mais je ne sais pas ce qu il faut mettre dans les champs exemple
if (this.value == '??????') {this.value = '??????';}" required=>


est dans par exemple adultes pour selection combien de personne . pas d'erreur ?
<div class="bnr-right">
						
						 <td>
      	<select id="adults" name="adults" value="'.stripslashes($adults).'" tabindex="5" />
			<option value="1 adult">1 adult</option>
			<option value="2 adult">2 adults</option>
			<option value="3 adult">3 adults</option>
			<option value="4 adult">4 adults</option>
		</select>
      </td> 
						</div>


Rien qu'en allant a url pour tester il me marque d'entree : Verifiez que tous les champs soient bien remplis et il me dit pareil quand je remplis le formulaire.