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 :

Formulaire et différence de réaction suivant même version PHP 8.1


Sujet :

Langage PHP

  1. #1
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Formulaire et différence de réaction suivant même version PHP 8.1
    Bonjour,

    En effet, je vais quitter un hoster qui pourtant était super et tout et tout

    Mais malheureusement qui a révisé ses tarifs à la HAUSSE... C'est pas difficile à trouver

    Bref, sur la version PHP 8.1 tous mes formulaires fonctionnaient impec.

    J'utilise systématiquement la fonction mail().

    Oui je sais existe la méthode phpMailler

    Mais jamais je ne placerai mes identifiants personnels dans une page PHP. Certains le font ; mais pas moi.

    Ce thread, simplement pour savoir ce qui pourrait influer significativement sur le comportement d'une même version PHP ; en l'occurrence la 8.1.

    Oui je sais : les extensions. Mais lesquelles ?

    Merci de vos éclairages.

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par Droïde Système7 Voir le message
    influer significativement
    cette expression me donne l'impression d'englober beaucoup de chose.
    on pourra peut-être mieux vous répondre si vous nous donniez un exemple.

  3. #3
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonsoir,

    Justement, je me reposais sur l'expérience des experts PHP d'ici qui doivent avoir vu de telles différences.

    Des différences entre ce qui fonctionnait impec sur un server PHP 8.1 et un autre idem, mais qui cette fois fichait l'appli en rideau.

    Le cas par exemple de formulaires fonctionnant impec, et sur le changement de servers ; ça foirait lamentablement.

    Faudrait que je fasse une maquette simplifiée en virant tout ce qui est autour d'inutile afin de mieux appréhender la ou les causes potentielles.

    Merci

    DS7

  4. #4
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    si une ligne particulière de votre code produit une erreur, vous pouvez afficher l'erreur en réglant les 2 directives suivantes sur votre serveur de développement :
    https://www.php.net/manual/fr/errorf...display-errors
    https://www.php.net/manual/fr/errorf...rror-reporting

  5. #5
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Ah oui merci Mathieu merci, je ne suis pas un as du PHP, mais presque systématiquement je dispose ce bloc en tout premier sur mes pages PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    	ini_set("display_errors", TRUE);
    	ini_set('display_startup_errors', 1);
    	error_reporting(E_ALL);
    ?>
    Ce que je constate d'un hoster à un autre c'est un truc bien plus vislard qui ne génère aucune erreur directe PHP !

    Un exemple :

    Sous 7.4 : OK RAS présentation formulaire et submit OK

    Sous 8.1 : présentation entachée au niveau du textarea et des inputs de bribes de PHP.

    Oui du PHP visible dans le textarea et inputs

    Inutile de dire que pour la vérification anti-robots consistant à valider une addition toute simple ; tout contenu parasite en input fiche le processus par terre.

    Faudra que je prenne le temps de montrer le code une fois que j'aurai pris le temps d'éclaircir le code pour les besoins de la maquette et de facto rendre tout ça plus clair au debug.

    J'aurai bien entendu préféré que soit généré des warnings au passage à la 8.1, cela aurait été trop beau et facile à remédier.

    A moins que cette version 8.1 ait également des répercussions de bords au niveau HTML ?

    C'est un peu fou, mais j'ai déjà vu pire

    Nom : dvpMail.gif
Affichages : 72
Taille : 21,0 Ko

  6. #6
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Bonjour

    Alors, afin de simplifier au maximum le debug de cette histoire, sur un formulaire j'ai isolé les deux seuls endroits qui selon moi sont en ligne de mire et les ai colorés en rouge :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <?php if (isset($result_error_message)) {echo $result_error_message;} ?>
    <textarea name="msg_text" id="msg_text" tabindex="4" placeholder="Votre message" onkeydown="countCar(this, 0)" onkeyup="charLimit(this, 1000);"
    onclick="onClick_color(this)"
    style="<? if($result_error_message){print('; background-color:orange');} ?>" value="<? if (isset($textarea)) {echo $textarea;} ?>"><? if (isset($textarea)) {echo rtrim($textarea);} ?></textarea>
    C'est plus précisément ce qui se trouve en "value" et juste après.
    Oui je sais qu'au niveau textarea c'est un élément un peu spécial à manipuler, mais l'input ci-dessous donne exactement le même dysfonctionnement.

    Et cet input étant normalement en hidden, destiné à recevoir le résultat de l'addition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="verifresult" size="20" value="<? echo $verifresult; ?>" />
    C'est en "value" que ça se joue idem.

    Si vous détectez une anomalie qui pourrait entrainer le dysfonctionnement en PHP 8.1 ; ce serait super

    La complexité du code est loin d'être élevée, et malgré cela, pas moyen de trouver

    Car pour l'instant si je laisse le switch sur PHP 8.1 :


    Edit : Arfff, je crois que j'ai une piste, là au moins j'espère qu'au moins sur l'input, le souci est réglé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" name="verifresult" size="20" value="<?php if (isset($verifresult)) {echo $verifresult;} ?>" />
    Oui je sais ce que vous allez me dire : "Faut toujours tester avant".

  7. #7
    Expert éminent
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 104
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 104
    Points : 8 222
    Points
    8 222
    Billets dans le blog
    17
    Par défaut
    Ton PHP débutant par <? n'est pas exécuté.
    => La directive short_open_tag doit être à false

    La bonne pratique consiste à débuter PHP soit avec <?php soit avec <?= (raccourci pour <?php echo).
    Cela permet d'avoir un code toujours portable et d'être à l'abri de toute dépréciation de short_open_tag.

    https://www.php.net/manual/fr/ini.co...short-open-tag
    https://wiki.php.net/rfc/deprecate_php_short_tags
    https://wiki.php.net/rfc/deprecate_php_short_tags_v2
    Un problème exposé clairement est déjà à moitié résolu
    Keep It Smart and Simple

  8. #8
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut Victoire !


    Une bêtise de (vieux) débutant !!!

    Une sombre histoire de l'habitude du short-tags

    Niveau server j'ai trouvé pour quelle raison des fois ça passe sur un en PHP 8.x et un autre idem en php 8.x c'est nada :

    Un server donné peut désactiver l'utilisation de ces balises par la directive short_open_tags du php.ini placée à la valeur off.

    J'espère que ça servira à d'autres

    Merci de vos lectures,

    DS7

    PS : Mais je possède aussi un autre formulaire très spécial ; avec lui alors en PHP 8.x c'est carrément le CSS qui foire

  9. #9
    Membre chevronné
    Avatar de Droïde Système7
    Homme Profil pro
    Inscrit en
    Septembre 2003
    Messages
    2 262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 2 262
    Points : 1 928
    Points
    1 928
    Par défaut
    Arffff !!!

    Séb., je n'avais pas vu ton message juste au dessus, certainement dans le feu et la joie de l'action.

    Merci à toi, tu aurais encore été là une fois de plus pour m'aider !

    Amicalement idem à toi

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

Discussions similaires

  1. Différence de comportement suivant le serveur du même EAR
    Par Annsen dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 12/08/2011, 11h50
  2. Réponses: 1
    Dernier message: 06/10/2008, 12h38
  3. [formulaire] Proposition de la date suivante
    Par Duval51 dans le forum IHM
    Réponses: 11
    Dernier message: 30/03/2006, 09h20
  4. [Word] Problème de copier/couper/coller suivant les versions
    Par SkYsO dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 07/12/2005, 21h11
  5. Formulaire de recherche prêt à l'emploi (nouvelle version)
    Par Darlay Jean_Louis dans le forum IHM
    Réponses: 2
    Dernier message: 24/11/2005, 11h29

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