× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum des Webmasters
 formulaire contact traitement.php
Ajouter un message à la discussion
Pages : 1 [2] ... Fin
Page 2 sur 2 [Fin]
paovallau
 Posté le 12/08/2020 à 15:27 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

bonjour

merci

donc je reprends.

Je suis partie dans tous les sens du coup je remets mon code

Mon mail ne part pas et j'ai une erreur à la ligne if (1 === get_magic_quotes_gpc()){

Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/00/38/98/home/www/traitement.php on line 34Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/00/38/98/home/www/traitement.php on line 34Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/00/38/98/home/www/traitement.php on line 34Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/00/38/98/home/www/traitement.php on line 34Deprecated: Function get_magic_quotes_gpc() is deprecated in /home/users/00/38/98/home/www/traitement.php on line 34

<?php

$destinataire = 'moi@gmail.com';


$copie = 'non';



$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";


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



function Rec($text) {
  $text = htmlspecialchars(trim($text), ENT_QUOTES);
  if (1 === get_magic_quotes_gpc()){
    $text = stripslashes($text);
  }

  $text = nl2br($text);
  return $text;
}

function IsEmail($email) {
 $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[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_]?)|(?:\[(?:(?:[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;
}


$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : NULL;
$prenom     = (isset($_POST['prenom']))     ? Rec($_POST['prenom'])     : NULL;
$email   = (isset($_POST['email']))   ? IsEmail(Rec($_POST['email']))   : NULL;
$objet    = (isset($_POST['objet']))     ? Rec($_POST['objet'])     : NULL;
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : NULL;

$msg = array(); 

if (isset($_POST['envoi'])) {
    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" .
                  '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();

    
      if ($copie == 'non') {
        $cible = $destinataire.','.$email;
      } else {
        $cible = $destinataire;
      }

     
     $message = str_replace("'","'",$message);
				$message = str_replace("’","'",$message);
				$message = str_replace("\"",'"',$message);
				$message = str_replace('<br>','',$message);
				$message = str_replace('<br />','',$message);
				$message = str_replace("<","<",$message);
				$message = str_replace(">",">",$message);
				$message = str_replace("&","&",$message);



      
      if (mail($cible, $objet, $message, $headers)){
        $msg[] = '<p>'.$message_envoye.'</p>';
      } else {
        $msg[] = '<p>'.$message_non_envoye.'</p>';
      }
      
    } else {
      
      $msg[] = '<p>'.$message_formulaire_invalide.'</p>';
      $err_formulaire = true;
    }
 
}

?>
Jean-Pierre
 Posté le 12/08/2020 à 17:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bon... voici enfin une base de solide.

Curieux car j'ai toujours ce code en test qui fonctionne sans aucune erreur, en effet la fonction en question est obsolète raison sécurité !
(Oupssss sauf que désormais = rien ne passe aussi )

Je vais demander au fiston, en plus lui tirer les orteils, car filer un script obsolète...

Mat, mon grand lapin, peux-tu s'il te plaît venir voir, nous avons besoin de toi.

Ta frangine Licette en profite pour te bavouiller



Modifié par Jean-Pierre le 12/08/2020 17:41
Jean-Pierre
 Posté le 13/08/2020 à 15:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Paovallau

Le fiston n'est pas encore rentré au nid : le printemps, les or mômes, les filles et la chaleur...

Bref, patiente un peu.

Licette de son côté te concocte un truc mais c'est une limace...

Si tu comptes sur nous tu auras ; sinon tu n'auras rien du tout

Licette et JP

paovallau
 Posté le 13/08/2020 à 15:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Merci ! 😁

Jean-Pierre
 Posté le 13/08/2020 à 20:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Bonzour,

Je profite encore que papounet est sé la voizine...

Que dis-tu de ce formulaire style "dans le vent" ?

http://lalimacefolle.com/tests/cc/formulaire.php

On peut l'essayer hein, c'est fait pour ça : Papounet recevra plein de colle ebay

Bon... ze vais zouer au tennis avec Zardette ma copine lézard

Licette



Modifié par Jean-Pierre le 13/08/2020 21:43
Jean-Pierre
 Posté le 13/08/2020 à 20:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Oupsss, je ne peux plus la tenir...

Si tu souhaites un aspect plus classique, dis-le hein, pas de soucis

JP

PS : d'ailleurs...

http://lalimacefolle.com/tests/cc/formulaire2.php



Modifié par Jean-Pierre le 13/08/2020 21:59
Malcolm
 Posté le 14/08/2020 à 15:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Jean-Pierre a écrit :

Bon... voici enfin une base de solide.

Curieux car j'ai toujours ce code en test qui fonctionne sans aucune erreur, en effet la fonction en question est obsolète raison sécurité !
(Oupssss sauf que désormais = rien ne passe aussi )

Je vais demander au fiston, en plus lui tirer les orteils, car filer un script obsolète...

Mat, mon grand lapin, peux-tu s'il te plaît venir voir, nous avons besoin de toi.

Ta frangine Licette en profite pour te bavouiller

c'était pas obsolète à l'époque

on peut facilement ignorer cette fonction, car depuis PHP7.4 c'est effectivement déprécié. Je vais finir par mettre une compatibilité avec mes scripts entre 2 barbecue

La fonction peut être remplacée par :

function Rec($text) {
$text = htmlspecialchars(trim($text), ENT_QUOTES);

$text = nl2br($text);
return $text;
}

Jean-Pierre
 Posté le 14/08/2020 à 16:49 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Fiston

Ah bahhhhhhhhh voilà

Je vais faire un tour avec ta frangine Licette en laisse autour du pas thé de maisons et elle va tester tout ça en revenant.

Elle te bavouille aux scies

Ton pas terre n'aile

Publicité
paovallau
 Posté le 14/08/2020 à 18:39 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour

Merci

Je vais regarder à tout ça et essayer de comprendre sans copier bêtement

😁

Jean-Pierre
 Posté le 14/08/2020 à 19:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Licette vient de modifier le script suivant les indications de son frangin Mat' :

http://lalimacefolle.com/tests/fiston/contact.php

Et

Merci fiston, ça roule

Jean-Pierre
 Posté le 14/08/2020 à 19:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Message original par paovallau

Bonjour,

Quelqu'un pour me corriger?

Est-ce que je peux rediriger vers une page "merci" si oui comment?

Dans le code dito du fiston : te suffira de modifier tout bêtement comme ceci :

if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
    		{
    			//echo '<p>'.$message_envoye.'</p>';
				header("Location: success.php");
				exit();
    		}
    		else

Vois-tu : simplement ajouter DEUX lignes et neutraliser celle d'origine = echo... (ou la virer)

Ajouter ces deux lignes :

header(...

exit()

De cette façon tu auras une autre page à créer tout ce dont tu souhaites.

Licette et JP



Modifié par Jean-Pierre le 14/08/2020 19:53
paovallau
 Posté le 15/08/2020 à 18:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour

Alors qu'est-ce que vous en pensez?

Il ne fonctionne pas mais c'est un bon début de correction?

<?php

$destinataire = 'moi@gmail.com';


$copie = 'non';

if (isset($_POST['submit']))
	{
		require_once('antispam.php'); 

$message_envoye = "Votre message nous est bien parvenu !";
$message_non_envoye = "L'envoi du mail a échoué, veuillez réessayer SVP.";


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



function Rec($text) {
$text = htmlspecialchars(trim($text), ENT_QUOTES);

$text = nl2br($text);
return $text;
}

function IsEmail($email) {
 $value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[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_]?)|(?:\[(?:(?:[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;
}


$nom     = (isset($_POST['nom']))     ? Rec($_POST['nom'])     : NULL;
$prenom     = (isset($_POST['prenom']))     ? Rec($_POST['prenom'])     : NULL;
$email   = (isset($_POST['email']))   ? IsEmail(Rec($_POST['email']))   : NULL;
$objet    = (isset($_POST['objet']))     ? Rec($_POST['objet'])     : NULL;
$message = (isset($_POST['message'])) ? Rec($_POST['message']) : NULL;

$msg = array(); 

if (isset($_POST['envoi'])) {
    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" .
                  '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();

    
      if ($copie == 'non') {
        $cible = $destinataire.','.$email;
      } else {
        $cible = $destinataire;
      }

     
     $message = str_replace("'","'",$message);
				$message = str_replace("’","'",$message);
				$message = str_replace("\"",'"',$message);
				$message = str_replace('<br>','',$message);
				$message = str_replace('<br />','',$message);
				$message = str_replace("<","<",$message);
				$message = str_replace(">",">",$message);
				$message = str_replace("&","&",$message);


$nospam_question = (isset($_POST['nospam_question'])) ? $_POST['nospam_question'] : ''; 
 
		
		$verif_nospam = NoSpamQuestion('ans', $nospam_question);
 
      
      if (mail($cible, $objet, $message, $headers)){
        $msg[] = '<p>'.$message_envoye.'</p>';
		header("Location: merci.php");
				exit();
      } else {
        $msg[] = '<p>'.$message_non_envoye.'</p>';
      }
      
    } else {
      
      $msg[] = '<p>'.$message_formulaire_invalide.'</p>';
      $err_formulaire = true;
    }
 
}

?>
Jean-Pierre
 Posté le 15/08/2020 à 18:50 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Oupssss : as-tu oublié qu'il faut aussi une seconde page :

require_once('antispam.php');

Je ne sais pas sur quel lien tu as récolté ça.

Je vais voir...



Modifié par Jean-Pierre le 15/08/2020 19:03
Jean-Pierre
 Posté le 15/08/2020 à 19:02 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Testé : ça roule

A te lire...

(Source : http://www.php-astux.info/script-formulaire-contact-php-antispam.txt)

Sur lien ci-dessus faut pas oublier de changer la fonction en question

Le code ci-dessous est rectifié suivant les indications du fiston, et est donc OK :

<?php
/*
	********************************************************************************************
	CONFIGURATION
	********************************************************************************************
*/
// destinataire est votre adresse mail. Pour envoyer à plusieurs à la fois, séparez-les par une virgule
$destinataire = 'contact@tonsite.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.";

/*
 * NoSpamQuestion affiche une question pour la validation d'un formulaire ...
 * $mode, mode question ou réponse par défaut tirage au sort de question {string}
 * $answer, lors de la demande d'une réponse à la question numero tant ... {int}
 *
 * @returns array
 *
 * Ajouter une question :
 * copier/coller ces lignes et remplir le contenu entre guillemets doubles :
 *
 * $array_pictures[$j]['num'] = $j; // ne pas changer cette ligne
 * $array_pictures[$j]['question'] = "mettre ici la question (correspondant à l'image si vous utilisez une image)";
 * $array_pictures[$j]['answer'] = "mettre ici la réponse à l'énigme";
 * $j++; // ne pas oublier cette ligne dans la copie :-)
 *
 * C'est tout. Question suivante ? :-)
 *
 */
function NoSpamQuestion($mode = 'ask', $answer = 0)
{
	$array_pictures = array(); $j = 0;

	$array_pictures[$j]['num'] = $j;
	$array_pictures[$j]['question'] = "Quelle est la cinquième lettre du mot Astux";
	$array_pictures[$j]['answer'] = "x";
	$j++;

	$array_pictures[$j]['num'] = $j;
	$array_pictures[$j]['question'] = "Le soleil est-il chaud ou froid ?";
	$array_pictures[$j]['answer'] = "chaud";
	$j++;

	$array_pictures[$j]['num'] = $j;
	$array_pictures[$j]['question'] = "Ecrire 12 en lettres";
	$array_pictures[$j]['answer'] = "douze";
	$j++;

	if ($mode != 'ans')
	{
		// on est en mode 'tirer au sort', on tire une image aléatoire
		$lambda = rand(0, count($array_pictures)-1);
		return $array_pictures[$lambda];
	}
	else
	{
		// on demande une vraie réponse
		foreach($array_pictures as $i => $array)
		{
			if ($i == $answer)
			{
				return $array;
				break;
			};
		};
	}; // Fin if ($mode != 'ans')
};
/*
	********************************************************************************************
	FIN DE LA CONFIGURATION
	********************************************************************************************
*/
	// on tire au sort une question
	$nospam = NoSpamQuestion();

/*
 * cette fonction sert à nettoyer et enregistrer un texte
 */
function Rec($text) 
{
	$text = htmlspecialchars(trim($text), ENT_QUOTES);

	$text = nl2br($text);
	return $text;
}



/*
 * Cette fonction sert à vérifier la syntaxe d'un email
 */
function IsEmail($email)
{
	$value = preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[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_]?)|(?:\[(?:(?:[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'])    : '';
$antispam_h = (isset($_POST['antispam_h'])) ? Rec($_POST['antispam_h']) : '';
$antispam_r = (isset($_POST['antispam_r'])) ? Rec($_POST['antispam_r']) : '';

// 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']))
{
	// On demande la vraie réponse
	$verif_nospam = NoSpamQuestion('ans', $antispam_r);

	if (strtolower($antispam_h) != strtolower($verif_nospam['answer']))
	{
		// le formulaire s'arrête ici
		echo '<p>Vous n\'avez pas répondu correctement à la question Antispam ...</p>';
	}
	else
	{
		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" .
				'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 == '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("<","<",$message);
			$message = str_replace(">",">",$message);
			$message = str_replace("&amp;","&",$message);

			// Envoi du mail
			$num_emails = 0;
			$tmp = explode(';', $cible);
			foreach($tmp as $email_destinataire)
			{
				if (mail($email_destinataire, $objet, $message, $headers))
					$num_emails++;
			}

			if ((($copie == 'oui') && ($num_emails == 2)) || (($copie == 'non') && ($num_emails == 1)))
			{
				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;
		};
	};
}; // fin du if (!isset($_POST['envoi']))

if (($err_formulaire) || (!isset($_POST['envoi'])))
{
	// afficher le formulaire
	echo '
	<form id="contact" method="post" action="'.$form_action.'">
	<fieldset><legend>Vos coordonnées</legend>
		<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p>
		<p><label for="email">Email :</label><input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="2" /></p>
	</fieldset>

	<fieldset><legend>Votre message :</legend>
		<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="3" /></p>
		<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="4" cols="30" rows="8">'.stripslashes($message).'</textarea></p>
	</fieldset>

	<fieldset><legend>Antispam</legend>
		<p><label for="antispam_h">'.$nospam['question'].'</label><input type="text" name="antispam_h" id="antispam_h" /><input type="hidden" name="antispam_r" value="'.$nospam['num'].'" /></p>
	</fieldset>

	<div style="text-align:center;"><input type="submit" name="envoi" value="Envoyer le formulaire !" /></div>
	</form>';
};
?>
paovallau
 Posté le 15/08/2020 à 19:05 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Ok merci

Je regarderai ça demain 😉

Jean-Pierre
 Posté le 15/08/2020 à 19:09 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Enfin non, il ne marche pôô....

Car à la question "Le soleil est-t'il chaud ou froid", si Licette tape "Question conne" et bien ça ne fonctionne pas

Publicité
paovallau
 Posté le 23/08/2020 à 18:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour

Voici mon dernier traitement.php

Il fonctionne! le header non du coup j'ai mis du java pour la redirection.

Je vais tenter à présent l'antispam!

<?php



$name = stripcslashes($_POST['name']);
$email = stripcslashes($_POST['email']);
$subject = stripcslashes($_POST['subject']);
$message = stripcslashes($_POST['message']);



$mailto = 'moi@gmail.com'; 
$subject = $subject; 

$error_message = 'Une erreur est survenue'; 
$success_message = 'message envoyé'; 




$message = "Nom: $name\r\n
Objet: $subject\r\n
Email: $email\r\nMessage: $message";

$headers = "From: $name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion();

function validateEmail($email) {
   if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
	  return true;
   else
	  return false;
}

if((strlen($name) < 1 ) || (strlen($email) < 1 ) || (strlen($message) < 1 ) || validateEmail($email) == FALSE ) {

	echo($error_message);

} else {

	if( mail($mailto, $subject, $message, $headers) ) {
		
echo '

<script language="Javascript">
<!--
document.location.replace("merci.php");
// -->
</script>';



	} else {

		echo($error_message);

	}

}
Jean-Pierre
 Posté le 23/08/2020 à 20:56 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Tu disais :

Il fonctionne! le header non du coup j'ai mis du java pour la redirection.

faut pas confondre Java et Javascript = pas pareil du tout !

Placer du JS à cet endroit ce n'est pas top.

Pourquoi le header location ne fonctionnait pas ? Quel code ?

header("Location: merci.php");
				exit();

Autre chose : ci-dessus j'avais pris la peine de te montrer le code d'un script AVEC antispam.

Pourquoi ne pas l'avoir testé en premier ?

Licette et JP

PS : ensuite faudra faire une légère modif si tu veux avoir une fiabilité niveau envois.



Modifié par Jean-Pierre le 23/08/2020 21:23
paovallau
 Posté le 23/08/2020 à 21:40 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Oui j'ai pris votre code antispam mais j'ai un message d'erreur sur la dernière ligne un } ou ?>

Je chercherai mon erreur

Le header ("Location.... ne fonctionne pas.

Sinon j'ai pris une des lignes de codes que vous m'aviez proposé.

Merci vos conseils me sont précieux

Jean-Pierre
 Posté le 23/08/2020 à 21:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Le header ("Location.... ne fonctionne pas.

Genre de truc qui ne veux rigoureusement rien dire.

Je demandais le code de cette partie précises mais...

Un plus de rigueur jeune fille

Plus c'est clair et plus on n'éclair au chocolat.

Jean-Pierre
 Posté le 23/08/2020 à 22:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Oupssss attend attend... tu disais que c'était donc la partie "header location" qui ne fonctionnait pas ?

Là, je vais te prendre un peu plus au sérieux car justement une connaissance que je donne un coup demain... hé bien justement ça faisait plusieurs jours que je pensais que la maîtresse des lieux me faisait tourner en bourre hic !

Hé bien écoute : après X ruses de Sioux = que dalle pour lancer ce header !

Je viens justement également de remplacer cette partie de code par du javascript comme toi.

		
		.../...
		{
			echo "Bravo c'est parti ! <br />";
			//header("Location: .$mempath"); 
			echo'
			<script type="text/javascript">
				document.location.href="Get_Reg.dat"
			</script>';
		}
	
		else
		{
		.../...

@ +

JP

Edit : j'allais oublier le plus important : Quel hébergeur as-tu ?

02switch ? Car c'est celui-là qui est en cause !

Demain je devrais en avoir confirmation ou infirmation.



Modifié par Jean-Pierre le 23/08/2020 22:35
paovallau
 Posté le 24/08/2020 à 15:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonjour

Je suis sur un hébergeur gratuit pour les essais. lescigales.org

j'utilise filezilla pour le transfert.

Ensuite je pense prendre ovh car je l'avais il y a des années et jamais de soucis

Mais je vais aller voir o2switch

Je n'ai encore pris aucune décision. Je n'ai pas comparer les hébergements.

J'ai le temps. Je dois présenter mon site fin septembre.

Il ne sera en ligne qu'en fin d'année.

Jean-Pierre
 Posté le 24/08/2020 à 17:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Ah oki, je ne connais pas lescigales.org.

Tu sais, le temps file si vite que ton raisonnement de procrastination...

paovallau
 Posté le 24/08/2020 à 21:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petite astucienne

Bonsoir!

Donc mon dernier traitement.php a une erreur : syntax error, unexpected end sur ma dernier ligne.

J'ai essayé de retirer et remettre le ?>

Sans succès.

J'ai recompté les { et } et regardé aux points virgules.

Je le mets de côté pour ce soir car je ne vois plus rien

J'ai bien mes 3 fichiers : contact, traitement et antispam

J'ai rajouté les lignes nécessaires dans le formulaire.

Mon erreur est donc sur la dernière ligne du code de traitement.

Je vous le mets à la suite.

A bientôt

<?php



$name = stripcslashes($_POST['name']);
$email = stripcslashes($_POST['email']);
$subject = stripcslashes($_POST['subject']);
$message = stripcslashes($_POST['message']);



$mailto = 'moi@gmail.com'; 
$subject = $subject; 

$error_message = 'Une erreur est survenue'; 
$success_message = 'message envoyé'; 




$message = "Nom: $name\r\n
Objet: $subject\r\n
Email: $email\r\nMessage: $message";

$headers = "From: $name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion();

function validateEmail($email) {
   if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
	  return true;
   else
	  return false;
}

if((strlen($name) < 1 ) || (strlen($email) < 1 ) || (strlen($message) < 1 ) || validateEmail($email) == FALSE ) {

	echo($error_message);

} else {

	if( mail($mailto, $subject, $message, $headers) ) {
		
echo '

<script language="Javascript">
<!--
document.location.replace("merci.php");
// -->
</script>';



	} else {

		echo($error_message);

	}

}
?>
Jean-Pierre
 Posté le 24/08/2020 à 21:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Je ne sais pas ce que tu fabriques, mais voilà ce n'est pas testé car me manque "des morceaux".

Mais j'ai indenté et rectifié des bricoles.

<?php

	$name    = stripcslashes($_POST['name']);
	$email   = stripcslashes($_POST['email']);
	$subject = stripcslashes($_POST['subject']);
	$message = stripcslashes($_POST['message']);



	$mailto  = 'moi@gmail.com'; 
	$subject = $subject; 

	$error_message   = 'Une erreur est survenue'; 
	$success_message = 'message envoyé'; 

	
	$message = "Nom: $name \r\n
				Objet: $subject \r\n 
				Email: $email \r\n
				Message: $message";
				
	// UN FROM NE DOIT JAMAIS AVOIR UN QUELCONQUE RAPPORT AVEC LE VISITEUR !!!!!!!!!!
	// MAIS AVEC LE WEBMASTER = OUI.
	// DONC LE FROM C'EST TOI ET PERSONNE D'AUTRE
	// SINON LA FIABILITÉ EST HAUTEMENT ENGAGÉE
	// Donc à rectifier à ce niveau...
	$headers = "From: $name <$email>" . "\r\n" . "Reply-To: $email" . "\r\n" . "X-Mailer: PHP/" . phpversion();

	function validateEmail($email) 
	{
		if(preg_match("/^[_\.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+\.)+[a-zA-Z]{2,6}$/i", $email))
		return true;
		else
		return false;
	}

	if((strlen($name) < 1 ) || (strlen($email) < 1 ) || (strlen($message) < 1 ) || validateEmail($email) == FALSE ) 
	{

		echo($error_message);

	} 
	else 
	{
		if( mail($mailto, $subject, $message, $headers) )
			
		{
			echo'

			<script language="Javascript">
				document.location.href="merci.php"
			</script>';

		} 
		else 
		{

			echo($error_message);

		}

	}
?>
Publicité
Pages : 1 [2] ... Fin
Page 2 sur 2 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
98,99 €Disque dur portable externe WD Black P10 Game Drive 4 To à 98,99 €
Valable jusqu'au 24 Septembre

Amazon fait une promotion sur le disque dur externe portable WD Black P10 Game Drive 4 To qui passe à 98,99 € livré gratuitement. On le trouve ailleurs à partir de 125 €. Ce disque dur USB 3.1 est dédié pour gérer et transporter votre bibliothèque de jeux sur PC ou sur console.


> Voir l'offre
9,14 €Visseuse sans fil TACKLIFE SDP60DC + 10 embouts à 9,14 € avec coupon et code 8MKP2NK2
Valable jusqu'au 21 Septembre

Amazon propose la visseuse sans fil TACKLIFE SDP60DC 3.6 V (batterie li-ion 1500 mAh) et ses 10 embouts à 9,14 € seulement au lieu de 34 €. Pour profiter de cette offre, cochez la case Coupon Utiliser le coupon de réduction de 5% sur la page du produit et utilisez le code promo 8MKP2NK2 sur la page de paiement. Le prix passera à 9,14 € sur la page de confirmation de commande.


> Voir l'offre
329,99 €PC Portable 15.6 pouces HP + Imprimante DeskJet 4110 + sacoche à 329,99 € (via ODR)
Valable jusqu'au 22 Septembre

Cdiscount fait une promotion sur un lot comprenant un PC portable HP 15S-FQ1036NF (15.6 pouces HD, Core i3-1005G1, 4 Go de RAM, SSD 256 Go, Windows 10), sa sacoche et une imprimante multifonction HP DeskJet Plus 4110 à 429,99 €. Or HP rembourse 100 € pour l'achat de ce pack qui vous reviendra à 329,99 € après remboursement. On trouve habituellement l'ensemble aux alentours de 500 €. Un très bon pack idéal pour la bureautique et Internet.


> Voir l'offre

Sujets relatifs
Aide pour formulaire de contact
Formulaire de contact html/php
Formulaire contact PHP
Formulaire Contact PHP : E-mail vide ou presque...
champs caché destinataire formulaire contact php
aide moi a me guidee sur mon Formulaire php
Formulaire de Contact en php
aide pour un formulaire de contact
Probleme formulaire contact PHP
formulaire php, de l'aide s'il vous plait...
Plus de sujets relatifs à formulaire contact traitement.php
 > Tous les forums > Forum Forum des Webmasters