IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Création d'un livre d'or


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut Création d'un livre d'or
    Bonjour,
    Je suis en train de mettre en place un livre d'or pour mon site. La mise est form est quasi terminée.
    N'ayant que de tous petits acquis en PHP et MYSQL et n'ayant donc jamais eu à réaliser ce genre de projet, je ne sais pas du tout par où commencer une fois mon formulaire crée.

    - Comment faire pour envoyer les infos que les visiteurs auront entré dans le formulaire soient stockées et envoyées ?

    - Quelles manip ais-je à faire dans mon fichier même (action="") ?

    - Quelles manip ai-je à faire sur 1&1 ?

    - Comment faire pour afficher au fur et à mesure les messages (ou partie des messages vu la forme de mon site) que les visiteurs en laissent ?

    - Et enfin, mais c'est en option car j'ai déjà beaucoup farfouillé sur le net sans trouver de réponse, comment faire pour insérer un smiley dans la textarea par un simple clic sur le smiley souhaité ?

    Merci d'avance si vous pouvez m'aider !

    Voici le formulaire en question (une partie des messages déjà postés s'afficheraient à droite)


  2. #2
    Expert éminent
    Avatar de 12monkeys
    Homme Profil pro
    Webmaster
    Inscrit en
    Novembre 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4 093
    Points : 9 031
    Points
    9 031
    Par défaut
    Bonsoir

    Citation Envoyé par e.koo Voir le message
    - Comment faire pour envoyer les infos que les visiteurs auront entré dans le formulaire soient stockées et envoyées ?
    Voici un tutoriel qui traite de la question de la connexion à la base : http://eusebius.developpez.com/phpmysql-base/, ensuite il faut faire un INSERT pour insérer les données (pour écrire tes requêtes : http://mysql.developpez.com/cours/)

    Citation Envoyé par e.koo Voir le message
    - Quelles manip ais-je à faire dans mon fichier même (action="") ?
    Tout dépend de comment tu veut faire. Tu as deux solutions : soit tu fais tes traitements dans le même fichier où se trouve le code html, soit dans un fichier séparé. Dans les deux cas il faut mettre le lien vers le fichier php en question dans action. http://php.developpez.com/cours/?pag...ge#formulaires

    Citation Envoyé par e.koo Voir le message
    - Quelles manip ai-je à faire sur 1&1 ?
    Rien je supposes...

    Citation Envoyé par e.koo Voir le message
    - Comment faire pour afficher au fur et à mesure les messages (ou partie des messages vu la forme de mon site) que les visiteurs en laissent ?
    Là c'est pareil que le premier lien que j'ai donné, il faut se connecter à la base, faire un SELECT pour récupérer les données, et les afficher...
    Vous souhaitez participer à la rubrique (X)HTML/CSS, contactez moi.
    débutez avec les CSS
    Pas de MP pour des questions techniques ! Mode d'emploi du forum ; Règles ; Pensez à la balise code ; Pas de SMS !
    Votez pour les messages qui vous ont aidés...

  3. #3
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ok. Merci beaucoup pour cette réponse, je vais m'y mettre !

  4. #4
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    J'ai du nouveau.
    Le livre d'or est désormais un Flash (comme le reste du site). J'ai suivi un bon tutoriel pour le réaliser.

    J'ai peur qu'il me manque des étapes car depuis que j'ai rajouté ma page dans mon arborescence sur 1&1 (et donc un fichier php), plus rien de marche ! Et ce message apparait : (au démarrage du site ! non sur la page du livre d'or ou en cliquant sur envoyer !)

    Error 403 - Forbidden
    L'accès au fichier nécessite une autorisation

    Quel est le problème ?

  5. #5
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    salut,
    t'as peut être pas mis les droits suffisant à l'execution de ton script
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  6. #6
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    C'est bon, j'ai reglé ce problème ! C'était une erreur de débutante !
    Bref, sinon, comment faire pour recevoir les formulaires qu'auront entré les visiteurs ?
    Je n'ai rien à faire dans l'interface de 1&1 ? Tout les actions sont dans le HTML et le PHP ?
    Merci d'avance !
    Il devrait normalement être en ligne dans la matinée, ici :
    www.emmacroville.fr

    Je viens de faire un test : quand je remplis le formulaire, apparait le message : "Erreur PHP" mais je recois quand même le mail ! Ou est le problème ?

    Comment faire pour afficher un message de confirmation lorsque le formulaire est accepté ? Et effacer le contenu du formulaire par la même occasion ?

    Voici mon code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    <?php
    function decoder($texte){
            $texte = utf8_decode($texte); // converti en iso-8859-1
            $texte = stripslashes($texte); // élimine les anti-slashs d'échappement
            $texte = nl2br($texte); // converti les retours  en <br />
            $texte = trim($texte); // élimine les '\n', '\r', '\t' etc
            return $texte;
    }
     
    $erreurPHP="";
     
    /* Paragraphe à decommenter pour tester le script php seul, sans le fla
    $_POST['sujet'] = 'formulaire Test';
    $_POST['messageHtml'] = '<html><body>Salut<br /> mon cher<br /><br />Bye</body></html>';
    $_POST['messageText'] = "Salut  mon cher  Bye";
    $_POST['expediteur'] = "expediteur@fai.fr";
    $_POST['mailReponse'] = "expediteur@fai.fr";
    */
     
    if(isset($_POST['sujet']))$sujet = $_POST['sujet'];
    else $erreurPHP .= "Variable 'sujet' non transmise\n";
     
    if(isset($_POST['messageHtml']))$messageHtml = $_POST['messageHtml'];
    else $erreurPHP .= "Variable 'message' non transmise\n";
     
    if(isset($_POST['messageText']))$messageTexte = $_POST['messageText'];
    else $erreurPHP .= "Variable 'message' non transmise\n";
     
    if(isset($_POST['expediteur']))$expediteur = $_POST['expediteur'];
    else $erreurPHP .= "Variable 'expediteur' non transmise\n";
     
    if(isset($_POST['mailReponse']))$mailReponse = $_POST['mailReponse'];
    else $erreurPHP .= "Variable 'mailReponse' non transmise\n";
     
    if($erreurPHP != "") echo utf8_encode("erreurPHP=".$erreurPHP);
    else
    {
    	$to = "e.koo@hotmail.fr";
    	$sujet = decoder($sujet);
    	$expediteur = decoder($expediteur);
    	$messagehtml = decoder($messageHtml);
    	$messageTexte = utf8_decode($messageTexte);
     
    	 //-----------------------------------------------
         //GENERE LA FRONTIERE DU MAIL ENTRE TEXTE ET HTML
         //-----------------------------------------------
     
         $frontiere = '-----=' . md5(uniqid(rand()));
     
         //-----------------------------------------------
         //HEADERS DU MAIL
         //-----------------------------------------------
     
         $headers = 'From: '.$expediteur.' <'.$mailReponse.'>'."\n";
         $headers .= 'Return-Path: <'.$mailReponse.'>'."\n";
         $headers .= 'MIME-Version: 1.0'."\n";
         $headers .= 'Content-Type: multipart/alternative; boundary="'.$frontiere.'"'."\n";
    	 $headers .= 'Content-Transfer-Encoding: 8bit';
     
         //-----------------------------------------------
         //MESSAGE TEXTE
         //-----------------------------------------------
         $message = "This is a multi-part message in MIME format\n\n";
     
         $message = "--$frontiere\n";
         $message .= "Content-Type: text/plain; charset=UTF-8\n";
         $message .= "Content-Transfer-Encoding: 8bit\n\n";
         $message .= $messageTexte."\n\n";
     
     
    	 //-----------------------------------------------
         //MESSAGE HTML
         //-----------------------------------------------
         $message .= "--$frontiere\n";
         $message .= "Content-Type: text/html; charset=UTF-8\n";
         $message .= "Content-Transfer-Encoding: 8bit\n\n";
         $message .= $messageHtml."\n\n";
     
         $message .= "--$frontiere--\n"; 
     
    	$mail_OK = mail($to, $sujet, $message, $headers) ;
     
     
    	if (!$mail_OK)
    	{
    		$erreurPHP .= "Problème lors de l'envoi du mail";
     
    	}
    	echo utf8_encode("erreurPHP=".$erreurPHP);
    }
    ?>

  7. #7
    Modérateur
    Avatar de Vil'Coyote
    Homme Profil pro
    Développeur adélia & Web
    Inscrit en
    Février 2008
    Messages
    4 583
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur adélia & Web
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2008
    Messages : 4 583
    Points : 7 503
    Points
    7 503
    Par défaut
    "Erreurs PHP : undefined" c'est l'erreur complète que tu obtiens. je pense que le soucis viens du côté du flash.

    pour un message, je dirais bien un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(@mail( ...., ...., ....) )
    {
    ton message à afficher ou une redirection vers autre chose
    }
    else
    {
     un message d'erreur.
    }
    la vie n'est pas cirrhose des foies ...

    Avant de poster un message Rechercher n'est pas qu'une option.
    FAQ Web - Tuto Web

  8. #8
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Je ne vois pas trop où je dois mettre et surtout ce que je dois mettre dans ce if/else...
    Ce serait possible que vous me donniez un exemple un peu plus "concret" grâce à mon code...? je sais, je suis nulle...


    Voici mon code dans Flash et ce pourquoi il affiche Erreurs PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    // Insérer les classes utilisées pour que le compilo en connaisse les définitions
    import mx.controls.TextInput;
    import mx.controls.TextArea;
    import mx.controls.RadioButton;
    import mx.controls.ComboBox;
    import mx.controls.Button;
     
    // On référence les occurences de compos pour profiter du typage strict
    var tiNom:TextInput = this.nom_ti; 
    var tiMail:TextInput = this.mail_ti;
    var tiSite:TextInput = this.site_ti;
    var taCommentaire:TextArea = this.commentaire_ta;
    var taSortie:TextArea = this.sortie_ta;
    var mcEnvoyer:Button = this.envoyer_mc;
     
    // Modifier TextArea dédié aux messages d'erreur et de confirmation : suppression du fond et contour, police en rouge et italique, non selectionnable
     
    taSortie["depthChild0"]._visible = false; // hack pour remplacer les 4 lignes ci-dessus
    taSortie.setStyle("color", "0xB13501");
    taSortie.setStyle("fontStyle", "italic");
    taSortie.label.selectable = false;
     
    // Ordres de tabulation
    tiNom.tabIndex = 1;
    tiMail.tabIndex = 2;
    tiSite.tabIndex = 3;
    taCommentaire.tabIndex = 4;
    mcEnvoyer.tabIndex = 5;
     
    // Stocker des valeurs récurrentes dans les variables
    var nom:String;
    var mail:String;
    var site:String;
    var commentaire:String;
     
    // REDIGER LES FONCTIONS OUTILS
    // Afficher les messages à l'intention de l'utilisateur
    function afficherEnSortie(pChaine:String):Void
    {
    	taSortie.text = pChaine;
    }
     
    // Réinitialiser le formulaire
    function reinitFormulaire():Void
    {
    	tiNom.text = tiMail.text = tiSite.text = taCommentaire.text = "";
    }
     
    // Valider le formulaire
    function validerFormulaire ():String
    {
    	nom = tiNom.text;
    	mail = tiMail.text;
    	site = tiSite.text;
    	commentaire = taCommentaire.text;
     
    	var erreurs:String = "";
     
    	if (nom == "") erreurs += "Merci de remplir le champ 'nom'" + newline;
    	if (mail == "") erreurs += "Merci de remplir le champ 'mail'" + newline;
     
    	else
    	{
    		var atIndex:Number = mail.indexOf("@");
    		var dotIndex:Number = mail.indexOf(".", atIndex);
    		trace(atIndex + " " + dotIndex);
    		if (atIndex == -1 || dotIndex == -1 || dotIndex - atIndex <= 1)
    			erreurs += "L'email n'est pas valide" + newline;
    	}
    	return erreurs;
    }
     
    // Mettre en forme le message du mail
    function formerMessageText ():String
    {
    	var message:String = "Formulaire :";
    	message += "Origine : " + this._url + "\r\n";
    	message += "Nom : " + nom + "\r\n";
    	message += "Mail : " + mail + "\r\n";
    	message += "Site : " + site +"\r\n";
     
    	if (commentaire != "")
    		message += "Commentaire :\r\n";
    		message += commentaire;
     
    	return message;
    }
     
    function formerMessageHtml ():String
    {
    	var message:String = "<html><head><style type='text/css'> p{font: 12px Arial} </style></head><body>";
    	message += "<h4>Nouveau message sur le livre d'or : </h4>";
    	message += "<p>Origine : " + this._url + "</p>";
    	message += "<p>Nom : " + nom + "<br />";
    	message += "Mail : " + mail + "<br />";
    	message += "Site internet : " + site + "</p>";
     
    	if (commentaire != "")
    		message += "<p><u>Commentaire :</u><br />";
    		message += commentaire;
    	message += "</p></body></html>";
     
    	return message;
    }
     
    // Envoyer les infos au script PHP
    function envoyerMail ():Void
    {
    	mcEnvoyer.enabled = false;
     
    	var envoyeur:LoadVars = new LoadVars();
    	var receveur:LoadVars = new LoadVars();	
     
    	envoyeur.sujet = "Formulaire";
    	envoyeur.messageText = formerMessageText ();
    	envoyeur.messageHtml = formerMessageHtml ();
    	envoyeur.expediteur = nom ;
    	envoyeur.mailReponse = mail;
     
    	receveur.onLoad = onMailEnvoye;
     
    	envoyeur.sendAndLoad("php/envoyer_mail.php", receveur, "POST");
    	afficherEnSortie("Envoi en cours...");
    }
    // Recevoir les infos de retour d'éxécution du script PHP
    function onMailEnvoye (pSuccess:Boolean):Void
    {
    	mcEnvoyer.enabled = true;
    	if (!pSuccess)
    	{
    		afficherEnSortie("Problème avec le script PHP.");
    	}
    	else if (this.erreurPHP == "")
    	{
    		afficherEnSortie("L'envoi s'est terminé avec succès.");
    		reinitFormulaire();
    	}
    	else
    	{
    		afficherEnSortie("Erreurs PHP : \n" + this.erreurPHP);
    	}
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. création lecteur vidéo [livre]
    Par argon dans le forum Flash/Flex
    Réponses: 3
    Dernier message: 01/04/2009, 12h23
  2. Création d'un livre d'or avec dreamweaver
    Par stanley dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 24/10/2008, 17h07
  3. Création d'un "livre interactif"
    Par timhost dans le forum Imagerie
    Réponses: 2
    Dernier message: 30/08/2007, 14h11
  4. [MySQL] Création d'un livre d'or
    Par young077 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 18/07/2007, 19h03
  5. [POO] Création d'un livre d'Or en php5
    Par ChriGoLioNaDor dans le forum Langage
    Réponses: 13
    Dernier message: 18/02/2007, 17h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo