× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > 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 !


    Les bons plans du moment PC Astuces

    Tous les Bons Plans
    5,94 €6 caches caméra Kiwi à 5,94 €
    Valable jusqu'au 10 Juillet

    Amazon fait une promotion sur le lot de 6 caches caméra Kiwi qui passe à 5,94 € au lieu d'une dizaine d'euros. Ces caches ultra-minces vont vous permettre de masquer la webcam intégrée à votre ordinateur (qui peut facilement être piratée) ou à votre tablette lorsque vous ne l'utilisez pas. Faites glisser le cache avec votre doigt lorsque vous aurez besoin d'utiliser votre webcam. Un lot avec un mix de caches noirs et blancs est également en promo au même prix.


    > Voir l'offre
    144,80 €Mini PC Acute Angle AA-B4 (Celeron N3450, 8Go RAM, 64Go+SSD 128Go) à 144,80 € avec le code GBCNSJXPC
    Valable jusqu'au 09 Juillet

    Gearbest fait une promotion sur l'ordinateur Acute Angle AA - B4 qui passe à 144,80 € au lieu de 180 € grâce au code promo GBCNSJXPC. Ce mini PC au design atypique et au corps en bois, intègre un processeur Intel Celeron N3450 (4 coeurs de 1,1 à 2,2 GHz), 8 Go de RAM, un espace de stockage de 64 Go EMMC ainsi qu'un SSD de 128 Go. Il possède également le WiFi5, le Bluetooth 5.0, une prise Ethernet Gigabit, 3 ports USB 3.0, une sortie HDMI. L'ordinateur est livré avec une prise électrique européenne. Il est accompagné de Windows 10 Familial. Avec ce PC, vous pourrez réaliser sans soucis toutes vos tâches courantes : internet, bureautique, multimédia.

    Ce marchand sérieux se trouvant en Chine, la livraison peut prendre une quinzaine de jours. Comptez une dizaine d'euros pour la livraison en France et l'assurance pour le transport. Vous pouvez payer par carte bancaire ou par Paypal (conseillé pour bénéficier de la garantie Paypal).


    > Voir l'offre
    GratuitJeu PC Hue gratuit
    Valable jusqu'au 07 Juillet

    Epic Game Store offre actuellement le jeu PC Hue. Hue est un jeu de puzzle-aventure primé et coloré dans lequel vous modifiez le monde en changeant sa couleur de fond. À la recherche de votre mère disparue, vous explorez un monde gris et dangereux, en récupérant des fragments colorés. Quand les obstacles sont de la même couleur que le fond, ils disparaissent et créent de nouveaux puzzles palpitants pleins de mystères, de dangers... et de couleurs invisibles. 


    > Voir l'offre

    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