Ajouter un commentaire

Niroken

Hello,

C'est Noel, alors voici ma modeste contribution.

Tout d'abord sur le répertoire www de ton serveur web crée un ensemble de répertoires pour avoir l'arborescence :
www/chatconcoursinscriptions/html
www/chatconcoursinscriptions/php/bean
www/chatconcoursinscriptions/php/helper
www/chatconcoursinscriptions/css

Dans le dossier html, placer un fichier inscription.html :

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<form action="../php/chat_inscrire.php" method="POST">
<table class="MsoNormalTable" border="0" cellpadding="0" width="100%" style="width: 100.0%" id="table19">
	<tr>
		<td width="26%" style="width:26.0%;padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><span style="color: #812778"><b><font size="2">Couleur</font></b></span><b><span style="color:#812778"><font size="2">:</font></span></b></td>
		<td style="padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><b>
		<font size="3" face="Times New Roman" color="#812778"><input TYPE="text" SIZE="40" NAME="couleur"></font></b></td>
	</tr>
	<tr>
		<td width="26%" style="width:26.0%;padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><span style="color: #812778"><b><font size="2">Race</font></b></span><b><span style="color:#812778"><font size="2">:</font></span></b></td>
		<td style="padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><b>
		<font size="3" face="Times New Roman" color="#812778"><input TYPE="text" SIZE="40" NAME="race"></font></b></td>
	</tr>
	<tr>
		<td colspan="2" style="padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal" align="center" style="text-align:center"><b>
		<span style="font-family:"Palatino Linotype"">
		<font color="#812778" face="Times New Roman">
		<input TYPE="submit" VALUE="Poster la Requête" NAME="Submit"><input TYPE="reset" VALUE="Recommencer" NAME="Submit2"></font></span></b></td>
	</tr>
</table>
</form>
</body>
</html>

Ici je n'ai mis qu'un sous ensemble de ton formulaire complet, il faudra que tu récupères le tien.

Dans le dossier php/bean, placer un fichier chat_inscription.php :

<?php
class chat_inscription {
	
	private $nom_complet;
	private $race;
	private $poil;
	private $couleur;
	private $sexe;
	private $nom_exposant;
                //A compléter
	
	public function __set($name, $value) {
		$this->$name = $value;
	}
	
	public function __get($name) {
		return $this->$name;
	}
	
}
?>

Ici je n'ai pas mis toutes le svariables, il faudra que tu complètes également

Dans le dossier php/helper placer un fichier mail_helper.php :

<?php

class mail_helper {
	
	private $envoyeur_nom;
	private $envoyeur_mail;
	private $receveur_nom;
	private $receveur_mail;
	private $sujet;
		
	static public function init_smtp_serveur($smtp_server) {
		ini_set("SMTP", $smtp_server); 
	}
	
	public function send_html_mail($html_content) {
		$entete = "MIME-Version: 1.0\r\n";
		$entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
		$entete .= "To: $this->receveur_nom <$this->receveur_mail>\r\n";
		$entete .= "From: $this->envoyeur_nom <$this->envoyeur_mail>\r\n";
		if(!mail($this->receveur_mail, $this->sujet, $html_content, $entete)){
			echo "L'email n'a pu être envoyé !";
		} else {
		 	echo "Email a bien été evoyé !";
		}
	}
	
	public function __set($name, $value) {
		$this->$name = $value;
	}
	
	public function __get($name) {
		return $this->$name;
	}
	
}

?>

Dans le dossier php/helper encore placer un fichier chat_inscription_helper.php

<?php
class  chat_inscription_helper {
	
	private $chat_inscription;
	
	static private $ligne_chat_inscription_html = '
	<tr>
		<td width="26%" style="width:26.0%;padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><span style="color: #812778"><b><font size="2">[LIBELLE]</font></b></span><b><span style="color:#812778"><font size="2">:</font></span></b></td>
		<td style="padding:.75pt .75pt .75pt .75pt">
		<p class="MsoNormal"><b>
		<font size="3" face="Times New Roman" color="#812778">[DATA]</font></b></td>
	</tr>
	';
	
	public function create_chat_inscription_from_form_datas($array_datas) {
		$this->chat_inscription = new chat_inscription();
		$this->chat_inscription->__set('couleur', $array_datas['couleur']); 
		$this->chat_inscription->__set('race', $array_datas['race']); 
	}
	
	public function chat_inscription_to_html() {
		if (!is_null($this->chat_inscription)) {
			$chat_inscription_html = '
			<table>
			' .
			$this->replace_ligne_chat_inscription_html("couleur") .
			$this->replace_ligne_chat_inscription_html("race") .
			'
			</table>
			';
			return $chat_inscription_html;
		}
		
		return null;
	}
	
	private function replace_ligne_chat_inscription_html($data) {
		$tokens = array("[LIBELLE]", "[DATA]");
		$datas = array($data, $this->chat_inscription->__get($data)); 
		return str_replace($tokens, $datas, chat_inscription_helper::$ligne_chat_inscription_html);
	}
	
	public function __get($name) {
		return $this->$name;
	}
	
}
?>

Ici, pareil que dans chat_inscription, il faut compléter les données à renseigner à ajouter pour le chat_inscription

Enfin pour finir dans le dossier php placer un fichier chat_inscrire.php

<?php
include_once './bean/chat_inscription.php';
include_once './helper/chat_inscription_helper.php';
include_once './helper/mail_helper.php';

$chat_inscription_helper = new chat_inscription_helper();
$chat_inscription_helper->create_chat_inscription_from_form_datas($_POST);

// Attention ici il faut bien configurer le serveur smtp du FAI concerné
mail_helper::init_smtp_serveur("smtp.orange.fr");
$mail_helper = new mail_helper();
$mail_helper->__set('envoyeur_mail', 'fly_zefyr@hotmail.com');
$mail_helper->__set('receveur_mail', 'fly_zefyr@hotmail.com');
$mail_helper->__set('sujet', 'un mail de test');

$mail_helper->send_html_mail($chat_inscription_helper->chat_inscription_to_html());
?>

Du coup, ici le code de ton action "chat_iinscrire" reste lisible, et tu pourras facilement maintenir ce code(j espère).

A garder à l'esprit, la chose suivante dans ce code :
Il doit y avoir un mapping entre l'attribut "name" de tes inputs du formulaire et les attributs de ta classe chat_inscription.

Je m'explique :
Si l'attribut "name" de l'input vaut couleur, alors il faut créer une variable private $couleur dans la classe chat_inscription, tu y accèdes de la facon suivante : __get('couleur') pour voir sa valeur, et __set('couleur', 'blanc') pour mettre la valeur blanc à couleur.

J'espère avoir été clair, si tu as des question, n'hésites pas.

Bonne chance,
Niroken

Filtered HTML

Plain text

CAPTCHA
Cette question permet de vérifier que vous n'êtes pas un robot spammeur :-)
  GGG   U   U  X   X  H  H  U   U 
G U U X X H H U U
G GG U U X HHHH U U
G G U U X X H H U U
GGG UUU X X H H UUU