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 :

[PHP-JS] Est il propre d'intégrer du JS directement dans le PHP ?


Sujet :

JavaScript

  1. #1
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut [PHP-JS] Est il propre d'intégrer du JS directement dans le PHP ?
    Est ce "propre" d'insérer du JS directement dans le PHP de cette façon par exemple :

    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
     
    $request1="SELECT * fROM User
    			WHERE Name='$DelName'";
     
    $result1=mysql_query($request1);
    $find1=mysql_fetch_row($result1);
     
    if ($find1==null)
    {
    	?>
    	<script language="JavaScript">
    	alert("This user doen't exist");
    	</script>
    	<?php
    	include"UsersManagement.php";
    }
    else
    {
    Et puis est ce que ceci pourrait générer un problème : en effet à chaque fois que j'ai fait ce genre d'intégration de JS dans PHP la fenêtre alert s'affiche deux fois de suite alors qu'il n'y a pas de boucle ???

  2. #2
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    ca ne fonctionnerais pas... il va rentrer dans ton include le javascript ne sera executer qu'aprés affichage et le php avant...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($find1==null)
    {
    	header("Location: UsersManagement.php");
    }
    deY!

  3. #3
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    Voilà mon nouveau code :

    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
    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
     
    if ($Choice=='Add')
    {
    		// Verification if the new user is already recorded
    		$request1="SELECT Name, Profile fROM User
    					WHERE Name='$NewName'";
     
    		$result1=mysql_query($request1);
    		$find1=mysql_fetch_row($result1);
    		if ($find1==null)
    		{
    			?>
    			<script language="JavaScript">
    			alert("This user doesn't exist");
    			</script>
    			<?php
                            header("Location: AdministratorManagement.php");
                    }
                    else
                    {
                            $profile=$find1[1];
                            // Request
                            $request2="UPDATE user SET Admin='1' WHERE Name='$NewName' AND Profile='$profile'";
                            $result2=mysql_query($request2);
                            ?>
    			<script language="JavaScript">
    			alert("You have recorded a new administrator under the name of <?php echo"$NewName"; ?> with the <?php echo"$profile"; ?> profile");
    			</script>
    			<?php
                            header("Location: TreatAdmin_access.php");
                    }
    }
    else
    {
            // Verification if the new user is recorded
            $request1="SELECT Name, Profile fROM User
                                    WHERE Name='$NewName'";
                                    
            $result1=mysql_query($request1);
            $find1=mysql_fetch_row($result1);
            if ($find1==null)
            {
                    ?>
    		<script language="JavaScript">
    		alert("This user doesn't exist");
    		</script>
    		<?php
                    header("Location: AdministratorManagement.php");
            }
            else
            {
                    $profile=$find1[1];
                    // Request
                    $request2=" UPDATE user SET Admin='0' WHERE Name='$NewName' AND Profile='$profile'";
                    $result2=mysql_query($request2);
                    ?>
    		<script language="JavaScript">
    		alert("You have deleted an administrator under the name of <?php echo"$NewName"; ?> with the <?php echo"$profile"; ?> profile");
    		</script>
    		<?php
    		header("Location: AdministratorManagement.php");
    	}
    }

    et voilà l'erreur :

    Warning: Cannot modify header information - headers already sent by (output started at c:\home\easyphp1-8\www\treatadministratormanagement.php:44) in c:\home\easyphp1-8\www\treatadministratormanagement.php on line 48

    Mais apparemment ça m'enlève l'arrivée de ce message deux fois d'affiler !

  4. #4
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    J'ai recherché mon erreur. On parle toujours la même chose : qu'il y a un echo ou un espace qui est quelque part et qui embete mon header().
    Est ce que par hasard une requête placée avant peut créer ce genre de problème et pour du JS ?

  5. #5
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    Enfait ça fonctionne quand le header est avant le javascript mais je veux quand même mon alert moi alors comment je peux faire ?
    J'ai trouvé aussi qu'il fallait modifier le php.ini mais je ne sais pas faire ?

  6. #6
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    tu ne peux pas modifier les entete si tu as deja retourné quelque chose a l'utilisateur client... le header doit toujours être avec un echo, un print_r ou autre.
    deY!

  7. #7
    Expert éminent sénior

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Points : 36 571
    Points
    36 571
    Par défaut
    Citation Envoyé par deY!
    tu ne peux pas modifier les entete si tu as deja retourné quelque chose a l'utilisateur client... le header doit toujours être avec un echo, un print_r ou autre.
    ... et en toute première ligne de ton code PHP, donc ...
    Pour tout savoir sur l'utilisation du forum

    En postant votre message, n'oubliez pas les Règles du Club.

  8. #8
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    non pas forcément, si tu dois définir ton entete en fonction d'autre éléments...

    par exemple, je veux rediriger si l'utilisateur n'a pas accés à cette page, je dois d'abord récupérer les informations de l'utilsateurs, et mettre une condition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!$isaccess) {
         header('Location: /index.php');
    }
    pour afficher un ficher sans connaitre ton type à l'avance, l'entete changera aussi, même si c'est pour forcer le telechargement, il faut quand même indiqué le milme type dans les entetes.
    deY!

  9. #9
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    Ok c'est ce que j'étais entrain de faire. Par contre je n'arrive pas à afficher les variables dans le print

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <?php
    print'<script language="javascript">alert("You have deleted an administrator under the name of $NewName with the $profile profile");';
    print 'parent.location.href = "TreatAdmin_access.php";</script>;';
    ?>
    Alors c'est aussi peut être mon ie qui réactualise pas bien. Vous savez comment on fait ?

  10. #10
    Membre averti Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Points : 414
    Points
    414
    Par défaut
    utilise plutot pour les chaine de caractéres et le code html...

    si tu veux faire afficher un tableau php utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<pre>';
    print_r ($myarray);
    echo '</pre>';
    ça te fera un beau tableau
    deY!

  11. #11
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 177
    Points : 65
    Points
    65
    Par défaut
    Merci beaucoup !!

Discussions similaires

  1. Réponses: 1
    Dernier message: 10/08/2010, 16h43
  2. Réponses: 3
    Dernier message: 17/06/2010, 19h40
  3. [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
  4. [PHP-JS] Est il possible d'intégrer du code PHP dans du code javacript ?
    Par bilou95 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 16/07/2007, 09h05
  5. [PHP-JS] affectation de la valeur d'une variable js à dans variable php
    Par Mat_DZ dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/08/2006, 17h21

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