> Tous les forums > Forum Forum des Webmasters
 Message erreur PHP
Ajouter un message à la discussion
Pages : Début ... 1 2 [3] 4 ... Fin
[Début] Page 3 sur 4 [Fin]
zoulouman
 Posté le 04/06/2019 à 21:23 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Alors fais soigner ta limace folle.

mac_marco
 Posté le 07/09/2019 à 11:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Jean-Pierre et Zoulouman.

Me revoilà, comme promis, pour vous donner des nouvelles de ce fameux formulaire de contact ! Il m'a fallu du temps mais comme expliqué plus haut, je ne fais pas ça à plein temps !

Le site de mon amie est terminé et en ligne, les formulaires de contact et de réservation sont fonctionnels ! Je vous mets le liens pour si vous souhaitez aller voir

ce que ça donne : www.amalis-nails.ch/rendez-vous.html

Tous les commentaires seront les bienvenus mais n'oubliez pas que je débute .

Je vous remercie grandement pour votre aide et ne manquerais pas de refaire appel à vous au besoin .

PC Astuces reste le site d'aide le plus sympa, efficace et agréable que je connaisse !

P.S. Capture du mail reçu:



Modifié par mac_marco le 07/09/2019 11:17
Jean-Pierre
 Posté le 07/09/2019 à 11:35 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

Marc

Ça fait toujours plaisir un feedback

Bravo pour ton souci d'indentation ; pour moi c'est très important. Mais bon... je ne sais pas ce que ça donne sur ton éditeur, mais en code source c'est pas trop top. Mais c'est bien quand même à côté de tout ce que je peux voir.

Bon... et la sécurité dans tout ça ?

Si je peux coller (comme dit ma limace) un petit message sur cette page de RdV, tu verras tout de suite de quoi je veux parler.

Bref, est-ce une porte d'entrée pour mettre KO ton serveur ?

Alors, autorisation ou non ?

JP

mac_marco
 Posté le 07/09/2019 à 11:46 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Jean-Pierre.

Explique-moi mieux, car je n'ai pas tout bien compris. Mais tu m'inquiète !

Le site est en ligne !

Jean-Pierre
 Posté le 07/09/2019 à 11:58 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Maître astucien

https://www.benji1000.net/la-securite-des-formulaires-php/

Regarde surtout au niveau :

  • htmlspecialchars() : encode les caractères < > ‘ » & pour qu’ils soient affichés mais pas exécutés
  • htmlentities() : la même chose que htmlspecialchars(), à la différence qu’elle encode beaucoup plus de caractères ; par exemple, le symbole €, les lettres accentuées é à ù…
  • strip_tags() : supprime carrément toutes les balises contenant < et > qui ne seront pas affichées

Sinon ça craint...

mac_marco
 Posté le 07/09/2019 à 12:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Jean-Pierre a écrit :

https://www.benji1000.net/la-securite-des-formulaires-php/

Regarde surtout au niveau :

  • htmlspecialchars() : encode les caractères < > ‘ » & pour qu’ils soient affichés mais pas exécutés
  • htmlentities() : la même chose que htmlspecialchars(), à la différence qu’elle encode beaucoup plus de caractères ; par exemple, le symbole €, les lettres accentuées é à ù…
  • strip_tags() : supprime carrément toutes les balises contenant < et > qui ne seront pas affichées

Sinon ça craint...

Je suis en train de regarder ton lien et je dois admettre que je ne comprend rien !

  • htmlspecialchars() : encode les caractères < > ‘ » & pour qu’ils soient affichés mais pas exécutés
  • htmlentities() : la même chose que htmlspecialchars(), à la différence qu’elle encode beaucoup plus de caractères ; par exemple, le symbole €, les lettres accentuées é à ù…
  • strip_tags() : supprime carrément toutes les balises contenant < et > qui ne seront pas affichées
  • ?????????????

    Help my !!!!!!!

    Jean-Pierre
     Posté le 07/09/2019 à 12:20 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Si tu me files simplement la portion de code inhérente aux inputs je te montrerais la piste.

    mac_marco
     Posté le 07/09/2019 à 12:49 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Je peux t'envoyer le code PHP du formulaire en message privé ?

    Publicité
    Jean-Pierre
     Posté le 07/09/2019 à 13:04 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Arfff non je l'ai récupéré :

    <i class="fa fa-gear" style="margin-left:5px"></i>
    	<input type="text" name="services" class="form-control" id="services" placeholder="Services: (Manucure, Pédicure, Ongles, Cils)" required>
    	</div><!-- END COL -->	

    Oupssss, mais manque de bol , faudrait que cette page soit en PHP

    Je ne sais pas si c'est possible en HTML.

    Heuuuuuu, si puisque le traitement du formulaire se passe en PHP.



    Modifié par Jean-Pierre le 07/09/2019 13:30
    Jean-Pierre
     Posté le 07/09/2019 à 13:09 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Car le principe en gros c'est ceci :

    $prenom = $_SESSION['prenom'];
    $prenom=utf8_decode($prenom);
    $prenom=addslashes($prenom);
    $prenom=htmlentities($prenom);
    $prenom=utf8_encode($prenom);
    $prenom=trim($prenom);

    Regarde, une idée du principe chez le fiston :

    http://www.php-astux.info/script-formulaire-contact.php

    JP



    Modifié par Jean-Pierre le 07/09/2019 13:28
    mac_marco
     Posté le 07/09/2019 à 13:33 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Ça devient vraiment trop compliqué !!!

    Jean-Pierre
     Posté le 07/09/2019 à 13:45 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Non : c'est du temps à passer !

    Tu n'es pas plus bête qu'un autre.

    La preuve : même ma limace me donne des fois un coup de mains

    Ceci dit : le forum est là pour aider

    Mais faut poser la bonne question sur un nouveau fil de discussion bien nommé.

    Oupssss : peux-tu simplement ici montrer une bribe de code de la page PHP en question (du traitement de l'envoi du message) montrant justement le traitement des inputs = les champs de saisie nom ; message etc. ?



    Modifié par Jean-Pierre le 07/09/2019 13:48
    mac_marco
     Posté le 07/09/2019 à 13:48 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Je vais regarder ton dernier lien qui a l'air intéressant.

    Et oui, c'est vrai, c'est du temps à passer comme tu dis !

    Je vais plancher là-dessus et ouvrirais un nouveau poste au besoin.

    En tous cas, merci pour ton aide, ton soutien et ta confiance !

    A plus

    Jean-Pierre
     Posté le 07/09/2019 à 13:55 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Ceci dit en attendant, tu peux, comme indiqué, ici nous monter ici SIMPLEMENT une petite portion de code en rapport avec le traitement des inputs en page PHP...

    Ce serait déjà hyper intéressant et nous pourrions te dire si c'est complexe ou fastoche et rapide à réaliser.

    @ +

    Oupssss : si ça se trouve c'est déjà ok.



    Modifié par Jean-Pierre le 07/09/2019 14:02
    mac_marco
     Posté le 07/09/2019 à 14:17 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Voilà le code du formulaire dans la page HTML

    <form action="assets/php/envoi_reserv.php" method="post" id="contact_Reserv" >

    <div class="row">

    <div class="form-group col-md-6">

    <i class="fa fa-user" style="margin-left:5px"></i>

    <input type="text" name="name" class="form-control" id="first-name" placeholder="Nom:" required>

    </div><!-- END COL -->

    <div class="form-group col-md-6">

    <i class="fa fa-gear" style="margin-left:5px"></i>

    <input type="text" name="services" class="form-control" id="services" placeholder="Services: (Manucure, Pédicure, Ongles, Cils)" required>

    </div><!-- END COL -->

    <div class="form-group col-md-6">

    <i class="fa fa-envelope-o" style="margin-left:5px"></i>

    <input type="email" name="email" class="form-control" id="email" placeholder="Email:" required>

    </div><!-- END COL -->

    <div class="form-group col-md-6">

    <i class="fa fa-calendar" style="margin-left:5px"></i>

    <input type="datetime-local" name="date_reserv" class="form-control" id="date_reserv" placeholder="Date: (jj/mm/aaaa)" required>

    </div><!-- END COL -->

    <div class="form-group col-md-6">

    <i class="fa fa-phone" style="margin-left:5px"></i>

    <input type="tel" name="telephone" class="form-control" id="telephone" placeholder="T&#233;l&#233;phone: (000/000.00.00)" required>

    </div><!-- END COL -->

    <div class="form-group col-md-6">

    <i class="fa fa-clock-o" style="margin-left:5px"></i>

    <input type="time" name="horaire" class="form-control" id="horaire" placeholder="Heure souhaitée: (00:00)" required>

    </div><!-- END COL -->

    <div class="form-group col-md-12">

    <i class="fa fa-pencil" style="margin-left:5px"></i>

    <textarea rows="6" name="message" class="form-control" id="description" placeholder="Votre Message:" required></textarea>

    </div><!-- END COL -->

    <div class="col-md-12">

    <div class="actions">

    <!--submit--><input type="submit" value="Prendre rendez-vous" name="submit" id="submitButton" class="btn btn-contact-bg rdv-go" title="Envoyer" />

    <input type="reset" value="R&eacute;initialiser" name="submit" id="submitButton" class="btn btn-contact-bg rdv-stop" title="Réinitialiser" />

    </div>

    </div><!-- END COL -->

    </div><!-- END ROW -->

    </form>

    Et voilà le code du fichier PHP:

    <?php

    echo ' <b style="font-size:25px;"> </b>Votre demande nous est bien parvenue ! Nous allons y donner suite dans les meilleures délais. Merci !<br><br>';

    $errors = '';

    $limit_size=10000000;

    $myemail = 'xxxxxxxxxxxx@gmail.com'; /*Replace with your email*/

    if(empty($_POST['name']) ||

    empty($_POST['services']) ||

    empty($_POST['email']) ||

    empty($_POST['date_reserv']) ||

    empty($_POST['telephone']) ||

    empty($_POST['horaire']) ||

    empty($_POST['message']))

    {

    $errors .= "\n Error: Champs requis";

    }

    /*data*/

    $name = $_POST['name'];

    $services = $_POST['services'];

    $email = $_POST['email'];

    $date_reserv = $_POST['date_reserv'];

    $telephone = $_POST['telephone'];

    $horaire = $_POST['horaire'];

    $message = $_POST['message'];

    $headers = "From: $email";

    /* modif erreur !

    if (!eregi(

    "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$",

    $email))

    {

    */

    if(!preg_match("/^[_a-z0-9-]+(.[_a-z0-9-]+)@[a-z0-9-]+(.[a-z0-9-]+)(.[a-z]{2,3})$/", $email)) {

    $errors .= "\n Error: Invalide Email Addresse";

    }

    if( empty($errors))

    {

    $to = $myemail;

    $email_subject = "Message de votre site $subject";

    $txt = "Nouvelle demande de rendez-vous. Les détails sont donnés ci-dessous.\n Nom: $name \n Services: $services \n Email: $email \n Date de réservation: $date_reserv \n Téléphone: $telephone \n horaire: $horaire \n Message: \n $message";

    // preparing attachments

    $files = array();

    /* modif erreur !

    if($file_one)

    {

    array_push($files,$file_one);

    }

    */

    $semi_rand = md5(time());

    $mime_boundary = "==Multipart_Boundary_x{$semi_rand}x";

    $headers .= "\nMIME-Version: 1.0\n" . "Content-Type: multipart/mixed;\n" . " boundary=\"{$mime_boundary}\"";

    $message = "This is a multi-part message in MIME format.\n\n" . "--{$mime_boundary}\n" . "Content-Type: text/plain; charset=\"utf-8\"\n" . "Content-Transfer-Encoding: 7bit\n\n" . $txt . "\n\n";

    $message .= "--{$mime_boundary}\n";

    for($x=0;$x<count($files);$x++){

    $file = fopen('tmp/'.$files[$x],"rb");

    $data = fread($file,filesize('tmp/'.$files[$x]));

    fclose($file);

    $data = chunk_split(base64_encode($data));

    $message .= "Content-Type: {\"application/octet-stream\"};\n" . " name=\"$files[$x]\"\n" .

    "Content-Disposition: attachment;\n" . " filename=\"$files[$x]\"\n" .

    "Content-Transfer-Encoding: base64\n\n" . $data . "\n\n";

    $message .= "--{$mime_boundary}\n";

    }

    mail($to, $email_subject, $message, $headers);

    }

    ?>

    Merci pour l'aide, en attendant je creuse...

    Jean-Pierre
     Posté le 07/09/2019 à 14:29 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Fastoche !!!!

    Principe avant/après :

    $message = $_POST['message'];

    $message = htmlspecialchars($_POST['message']);

    A toi de tester (de compléter) et de t'amuser avec.

    Publicité
    mac_marco
     Posté le 07/09/2019 à 14:37 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    C'est super sympa Jean-Pierre mais je vois pas ce que tu veux dire !

    Jean-Pierre
     Posté le 07/09/2019 à 14:46 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Par exemple tu remplaces la ligne :

    $message = $_POST['message'];

    contre celle-ci :

    $message = htmlspecialchars($_POST['message']);

    Etc. sur les autres inputs (= champs).

    Tu as du bol, c'est déjà du tout cuit.



    Modifié par Jean-Pierre le 07/09/2019 14:47
    Jean-Pierre
     Posté le 07/09/2019 à 14:49 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Voici tes inputs à blinder suivant le principe donné plus haut :

    $name = $_POST['name'];

    $services = $_POST['services'];

    $email = $_POST['email'];

    $date_reserv = $_POST['date_reserv'];

    $telephone = $_POST['telephone'];

    $horaire = $_POST['horaire'];

    $message = $_POST['message'];

    Mais ce n'est que le principe hein... Test déjà et tu pigeras tout de suite quant aux résultats après envois...

    En ajoutant en saisie par exemple ceci :

    <script>Pan pan !!!</script>

    ou rn\

    Des choses qu'il ne faut pas laisser voir en résultat après envois/tests ...



    Modifié par Jean-Pierre le 07/09/2019 14:52
    mac_marco
     Posté le 07/09/2019 à 14:52 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Je crois avoir compris !

    Je vais faire des essais et te tiendrais au courant. Mais là, il faut que je m'absente. Et lundi je reprend

    le travail (finie les vacances !)

    Je te remercie et te tiens au courant. A plus...

    Jean-Pierre
     Posté le 07/09/2019 à 14:52 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
      Maître astucien

    Vi, @ +

    mac_marco
     Posté le 07/09/2019 à 14:53 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    zoulouman
     Posté le 07/09/2019 à 15:06 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Astucien

    Qu'est-ce que tu fais de tes données POST ? (j'ai pas lu le code, sur PCA c'est à s'arracher les cheveux).

    Tu stockes dans une base ?
    Tu stockes dans un fichier ?
    Tu envoie par mail ?
    Tu affiches simplement ?

    Si il s'agit d'un envoi mail ou affichage, htmlspecialchars() va très bien, pas de souci.
    Mais si il s'agit de stockage, attention ! Ca n'est plus suffisant !

    mac_marco
     Posté le 07/09/2019 à 15:46 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Bonjour Zoulouman.

    Je ne stocke ni ne récupère rien du tout ! Le formulaire ne fait

    qu’envoyer le message avec les informations données par l’utilisateur.

    mac_marco
     Posté le 08/09/2019 à 12:22 
    Aller en bas de la page Revenir au message précédent Revenir en haut de la page
    Petit astucien

    Voilà, voilà. J'ai une petite heure à disposition !

    J'ai essayé de suivre tes instructions mais ça ne marche pas !

    première modification:

    /*data*/

    $message = htmlspecialchars ($_POST['name']);

    $message = htmlspecialchars ($_POST['services']);

    $message = htmlspecialchars ($_POST['email']);

    $message = htmlspecialchars ($_POST['date_reserv']);

    $message = htmlspecialchars ($_POST['telephone']);

    $message = htmlspecialchars ($_POST['horaire']);

    $message = htmlspecialchars ($_POST['message']);

    $headers = "From: $email";

    Je ne reçois pas le message !

    Deuxième modification sans espace entre htmlspecialchars et ($_POST['email']);

    /*data*/

    $message = htmlspecialchars($_POST['name']);

    $message = htmlspecialchars($_POST['services']);

    $message = htmlspecialchars($_POST['email']);

    $message = htmlspecialchars($_POST['date_reserv']);

    $message = htmlspecialchars($_POST['telephone']);

    $message = htmlspecialchars($_POST['horaire']);

    $message = htmlspecialchars($_POST['message']);

    $headers = "From: $email";

    Je ne reçois pas le message non plus !

    C'est désespérant

    Publicité
    Pages : Début ... 1 2 [3] 4 ... Fin
    [Début] Page 3 sur 4 [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 !


    Sujets relatifs
    Message d'erreur : SSL certificate problem: unable to get local issuer cer
    simple scripte PHP qui affiche un message erreur
    Message erreur accès livre d'or
    message d'erreur
    message d'erreur de script
    message d'erreur à la publication
    message d'erreur sur ma page php
    Message d'erreur " mysql_connect "
    J'ai un message d'erreur étonant..
    Dreamweaver mx2004 - message d'erreur
    Plus de sujets relatifs à Message erreur PHP
     > Tous les forums > Forum Forum des Webmasters