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 :

Remplacer un code javascript dans du php


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut Remplacer un code javascript dans du php
    bonjour tout le monde
    suite à mon besoin d'éviter des emails frauduleux , j'ai écrit ce code qui fonctionne bien sur vos conseils antérieurs mais je pense qu'une des lignes du codes peut etre amélioré car passer en javascript pour écrire en php n'est pas logique :
    c'est cette ligne ci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script language='JavaScript'>document.getElementById('h1glu').innerHTML= ('ne pas envoyer d\'adresse:  non envoyé') ;  </script>";
    Code html : 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
    <div id="contenu">
    <h1 id="h1glu">Merci pour votre envoi</h1>
    </div>
     
    <?php
     
    $regex = '/http|www|href|src|open/i';
     
     
     
    if (
     
    (preg_match($regex, $_POST['messagelivre'])  )||
    (preg_match($regex, $_POST['prenom'])  )||
    (preg_match($regex, $_POST['nom'])  )||
    (preg_match($regex, $_POST['email'])  )
     
     
     
     
    )
            
     
    { 
     
     
     
    echo "<script language='JavaScript'>alert  ('ne pas envoyer d\'adresse non envoyé clon');  </script>"; 
    #document.getElementById("h1glu").innerHTML= ('fgh')  ;
     
    echo "<script language='JavaScript'>document.getElementById('h1glu').innerHTML= ('ne pas envoyer d\'adresse:  non envoyé') ;  </script>"; 
     
     
     
    return false;
     }

  2. #2
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut
    en fait ma question se résume à

    peut on se passer de javascript pour écrire ceci ? :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<script language='JavaScript'>document.getElementById('h1glu').innerHTML= ('ne pas envoyer d\'adresse:  non envoyé') ;  </script>";

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    oui :

    1- On enregistre le message dans une variable.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $msg = 'ne pas envoyer d\'adresse:  non envoyé';

    2- On affiche le message au bon endroit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h1 id="h1glu"><?php echo $msg; ?></h1>
    Important : généralement, le traitement PHP s'effectue AVANT l'affichage HTML (contrairement à ce que tu as fait).

  4. #4
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut
    j'ai essayé mais j'ai l'impression que javascript permet dans mon cas de remplacer au bon endroit le
    "Merci pour votre envoi"
    par
    "ne pas envoyer d\'adresse: non envoyé"

    donc dans mon cas , javascript fait mieux que php grance au code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById('h1glu').innerHTML

  5. #5
    Invité
    Invité(e)
    Par défaut
    Normal : ton code est mal structuré.
    L'ajout de JavaScript ici en est justement le signe.

    (et si l'utilisateur a désactivé JavaScript sur son navigateur, ça ne s'affichera pas...)

    Je répète :
    • on fait d'abord le traitement PHP
    • ensuite seulement, on fait l'affichage HTML

    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
    <?php
    $msg = 'Merci pour votre envoi'; // message par défaut
    $regex = '/http|www|href|src|open/i';
    if (
    	(preg_match($regex, $_POST['messagelivre']) )||
    	(preg_match($regex, $_POST['prenom']) )||
    	(preg_match($regex, $_POST['nom']) )||
    	(preg_match($regex, $_POST['email']) )
    ){ 
    	echo "<script>alert('ne pas envoyer d\'adresse non envoyé clon');</script>"; 
     
    	$msg = 'ne pas envoyer d\'adresse:  non envoyé';
    	//return false;
    }
    ?>
    <div id="contenu">
    	<h1 id="h1glu"><?php echo $msg; ?></h1>
    </div>
    N.B. A quoi sert le return false; ??
    (à priori à rien, non ?)

  6. #6
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut
    d'accord je comprends bien
    le return false permettait de couper la fin du script qui ne servait plus puisque c'était false

    autrement on pouvait mettre un else comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    else
     
    {
    echo  "    <h1 align='center'>  Merci pour votre envoi</h1>                 " ;
    }
    mais ok ton script est bien

  7. #7
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut
    bonjour

    cela fait un petit temps que c'était résolu mais je reçois des emails ne contenant rien
    Donc j'aimerais savoir comment ajouter l'ensemble vide à ma variable regex :
    serait ce ceci : (deux barres avec du vide) ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $regex = '/http|www|href|src|open||/i';
    merci pour votre réponse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $regex = '/http|www|href|src|open/i';
     
    if (
     
    (preg_match($regex, $_POST['messagelivre'])  )||
    (preg_match($regex, $_POST['prenom'])  )||
    (preg_match($regex, $_POST['nom'])  )||
    (preg_match($regex, $_POST['email'])  )
    )

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Une regex n'est pas une baguette magique.

    Là, il suffit de tests "normaux", pour vérifier qu'un champ est bien rempli :

    // champs obligatoires
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( !empty($_POST['messagelivre']) && !empty($_POST['nom']) ...........)

  9. #9
    Nouveau membre du Club
    Avatar de trx337
    Homme Profil pro
    Intégrateur Web
    Inscrit en
    Décembre 2015
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Décembre 2015
    Messages : 61
    Points : 32
    Points
    32
    Billets dans le blog
    1
    Par défaut
    bonjour et merci
    bon je préfère vérifier que je n'ai pas fait d'erreurs :

    est ce que j'ai bon ?

    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
    if (
     
    (preg_match($regex, $_POST['messagelivre'])  )||
    (preg_match($regex, $_POST['prenom'])  )||
    (preg_match($regex, $_POST['nom'])  )||
    (preg_match($regex, $_POST['email'])  )||
     
    (empty($_POST['messagelivre']) && empty($_POST['prenom'])  && empty($_POST['nom']) && empty($_POST['email'])  )
     
     
    )
     
    { 
     
     
    echo "<script language='JavaScript'>alert  ('ne pas envoyer d\'adresse non envoyé' );  </script>"; 
     
     
    echo "<script language='JavaScript'>document.getElementById('h1glu').innerHTML= ('ne pas envoyer d\'adresse:  non envoyé') ;  </script>"; 
     
     
     
     
     
     
    return false;
     } 
     
     
    ?>

Discussions similaires

  1. [Forum] Intégrer des commandes AT dans du code javascript ou script php
    Par steeveness dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 1
    Dernier message: 17/01/2009, 17h52
  2. [PHP-JS] Intégrer un code javascript dans du php
    Par dolf13 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/07/2007, 17h02
  3. [PHP-JS] Intégration code Javascript dans PHP
    Par tilou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/04/2006, 15h26
  4. [PHP-JS] Comment insérer du javascript dans mon php
    Par tioseb dans le forum Langage
    Réponses: 1
    Dernier message: 16/02/2006, 17h04
  5. code javascript dans onchange d'un <select>
    Par grochenel dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/11/2005, 20h25

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