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

JavaScript Discussion :

Javascript et php


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 22
    Points
    22
    Par défaut Javascript et php
    Bonjour,

    Suite a un envoie d'avertissement Je souhaite envoyer un message d'alert a l'administrateur responsable de l'envoie d'avertissement pour le prévenir qu'il a bien envoyer cet avertissement.Cependant j'ai un souci cette partie du script ne s'effectue pas mais aucune erreur n'est apparante.

    Voici mon script:
    Code php : 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
    <?php
    $donnees= mysql_query($req);
    while($dnn = mysql_fetch_array($donnees) or die(mysql_error()))
    {
    	if (isset($_POST['action'])) 
    	{ 
    		if ($_POST['action']=="2"){
    			if ($dnn['Nb_Avert'] == 0)
    			 {
    				// lancement de la requête
    				$sql ='UPDATE membres SET Nb_Avert=1 WHERE Nom_Utilisateur="'.$_SESSION['username'].'"';  
    				// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
    				mysql_query($sql);
    ?>
    <script>alert("Un avertissement a ete envoye a l'utilisateur <?php $dnn['Nom_Utilisateur'];?>"); </script>
    <?php
    				header('Location: administrer.php');
    			}
    			if ($dnn['Nb_Avert'] == 1 )
    			{
    				// lancement de la requête
    				$sql ='UPDATE membres SET Nb_Avert=2 WHERE Nom_Utilisateur="'.$_SESSION['username'].'"';  
    				// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
    				mysql_query($sql);
    ?>
    <script>alert("Un second  avertissement a ete envoye a l'utilisateur <?php $dnn['Nom_Utilisateur'];?>"); </script>
    <?php								
    				header('Location: administrer.php');
    			}
    			else if ($dnn['Nb_Avert'] == 2 )
    			{
    				// lancement de la requête
    				$sql ='UPDATE membres SET Nb_Avert=3 WHERE Nom_Utilisateur="'.$_SESSION['username'].'"';  
    				// on exécute la requête (mysql_query) et on affiche un message au cas où la requête ne se passait pas bien (or die)
    				mysql_query($sql);	
    ?>
    <script>alert("Un troisieme avertissement a ete envoye a l'utilisateur <?php $dnn['Nom_Utilisateur'];?>"); </script>
    <?php								
    				header('Location: administrer.php');
    			}
    			else
    ?>
    <script>alert('Vous avez atteint le nombre maximum d\'avertissement autorisé .Bannissez l\'utilisateur.')</script>
    <?php
    		}
    	}
    ?>
    <tr>
    	<center><th><a href="profile.php?id=<?php echo $dnn['Id_Utilisateur']; ?>"><?php echo htmlentities($dnn['Nom_Utilisateur'], ENT_QUOTES, 'UTF-8'); ?></a></th></center>
    	<center><th><span style="color:#6B6868"><?php echo date('d/m/Y',strtotime( $dnn['Date_Inscription']));?></th></span></center>
    	<center><th><span style="color:#6B6868"><?php echo $dnn['Ip'];?></th></span></center>
    	<center><th><span style="color:#6B6868"><?php echo $dnn['Nb_Avert'];?></th></span></center>
    	<center><th><span style="color:#6B6868"><?php echo $dnn['Nb_Bann'];?></th></span></center>
    	<form name="action_admin" action="administrer.php"  method="post">
    	<center><th><span style="color:#6B6868"><select  name="action" onChange='this.form.submit()'>  
    		<option>...</option>
    		<option value="1">Supprimer</option>
    		<option value="2">Avertir</option>
    		<option value="3">Bannir</option></th></span></center>										
    	</tr>
    <?php
    }
    ?>
    </table>
    </div>
    Ma question est la suivante:
    -Pourquoi la parti script ne s'effectue pas?
    - Y a t'il un souci dans mon Code?

    Je vous remercie d'avance.

  2. #2
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 983
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 983
    Points : 44 180
    Points
    44 180
    Par défaut
    Bonjour,
    on y verrais plus clair avec le code HMTL généré.

    -Pourquoi la parti script ne s'effectue pas?
    il y a peut être une erreur

    - Y a t'il un souci dans mon Code?
    oui si il y a une erreur.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Des soucis dans ton code, il y en a un bon paquet, malheureusement...

    Déjà, des header() PHP en plein milieu de l'affichage, ça le fait pas trop.
    Ensuite, la structure de ta table est incohérente.
    Ton formulaire est placé à un endroit où il ne devrait pas et n'est pas fermé.

    Bref, beaucoup de fondamentaux à revoir.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  4. #4
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 093
    Points : 6 754
    Points
    6 754
    Par défaut
    Salut,

    je vois déjà un problème évident :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <script>alert("…");</script>
    <?php header("…"); ?>
    Petit rappel (du moins j'espère que c'en est un) : http://www.php.net/manual/fr/function.header.php

    Sinon je vois de gros problèmes structurels au niveau de… Euh, à peu près à tous les niveaux. La structure if/else incohérente, les requêtes SQL contenant des variables non nettoyées (aujourd'hui on utilise les PDO), des balises <tr> contenant directement des <center> (d'ailleurs, <center> est obsolète, tout comme l'utilisation des tableaux pour la mise en page), etc.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  5. #5
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Arf malheureusement j'ai meme pas fais gaffe. quand au header je sais mais je souhaitais rafraichir ma page. Pourriez vous me guider vers un code plus au normes dans ce cas la?
    Je vous remercie

  6. #6
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    Citation Envoyé par jeremdu54 Voir le message
    Suite a un envoie d'avertissement Je souhaite envoyer un message d'alert a l'administrateur responsable de l'envoie d'avertissement pour le prévenir qu'il a bien envoyer cet avertissement
    j'adore

    salut,

    plutot que de mélanger autant php / html / js, pense a la syntaxe HEREDOC et a sprintf pour y inserer toutes les données que tu veux -> ton code va ce prendre un coup de propre.

    tu peux faire sauter 1 if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if( isset($_POST['action']) && $_POST['action'] == "2" ) { ....
    tu pourrais utiliser un switch pour gérer les différentes valeurs de $dnn['Nb_Avert']

    cette ligne ne fait rien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php $dnn['Nom_Utilisateur']; ?>
    faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php print($dnn['Nom_Utilisateur']); ?>
    ou si tu préfères la notation courte (faut verifier que short_open_tag=true ou php >= 5.4)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?= $dnn['Nom_Utilisateur']; ?>
    comme indiqué précédemment, pense a protéger les données (mysql_real_escape_string) que tu insères dans une requete sinon tu as un énorme trou de sécu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = sprintf('UPDATE membres SET Nb_Avert=1 WHERE Nom_Utilisateur="%s"', mysql_real_escape_string($_SESSION['username']));
    Le plus grand arbre est né d'une graine menue, une tour de neuf étages est partie d'une poignée de terre.
    Mon blog : http://web.codeur.free.fr

  7. #7
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Moi je vois UN gros problème

    mélanger PHP HTML et JS
    1) ça ne sert à rien
    2) c'est contre productif
    3) c'est source d'em@rde (la preuve)

    la solution un fichier PHP qui ne fait que du traitemen tcôté serveur
    un fichier HTML qui ne fait que de l'affichage
    un fichier js qui ne fait que du traotement côté client

    quant à assembler le tout
    les docs PHP regorgent de méthodes pour assurer un liaison propre entre le PHP et le HTML

    les docs JS sont suffisament étaillé pour assurer correctement la relation DOM (HTML) JS.

    quant à la communication JS PHP il y a toute la documentation AJAX

    On peut toujours continuer à bricoler, essayer de mélanger tout et n'importe quoi pour essayer d'en faire quelque chose. Mais si l'immence majorité des architectes informatiques ont pondu des méthodes de séparation des couches
    ce n'est pas un hazard.

    il ne te reste qu'une question "continuais-je à bricoler, ou prends-je la décision d'appliquer une méthode reconnue ?"

    A+JYT

  8. #8
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Mai 2011
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 33
    Points : 22
    Points
    22
    Par défaut
    Merci a tous pour vos suggestion. Je vais donc arreter de bricoler comme tu me la preciser pour avoir un code plus propre

    Heureusement que certaines personne prennent le temps de vous repondre sans vous agresser et nous eclairer sur des points sombres.

    donc Merci a tous.

Discussions similaires

  1. [PHP-JS] Javascript ou PHP
    Par lynchmaniac dans le forum Langage
    Réponses: 7
    Dernier message: 27/10/2005, 10h10
  2. [PHP-JS] Javascript et PHP: passer une valeur en paramètres
    Par anutka dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/10/2005, 12h05
  3. Cherche conseils pour livre HTML, JavaScript et PHP
    Par oodini dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 16/10/2005, 15h45
  4. [PHP-JS] convertir un bout javascript en php ?
    Par Thierry8 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 23/08/2005, 23h42
  5. [PHP-JS] lien javascript vers php
    Par guttts dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/08/2005, 23h00

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