web-dev-qa-db-fra.com

comment ajouter un script dans un code php?

Comment puis-je ajouter un script dans un code php? Supposons que je veuille donner une alerte pour un clic sur un bouton ..

13
champ

Vous pouvez simplement faire écho à tout le code HTML comme d'habitude:

<?php
   echo '<input type="button" onclick="alert(\'Clicky!\')"/>';
?>
19
Pat
<?php
  echo"<script language='javascript'>

</script>
";
?>
9
Haim Evgi

Vous voulez dire JavaScript? Il suffit de le sortir comme n'importe quoi d'autre dans la page:

<script type="text/javascript">
  <?php echo "alert('message');"; ?>
</script>

Si vous voulez PHP générer un message personnalisé pour la boîte de dialogue d'alerte, vous voulez écrire votre code JavaScript comme d'habitude dans le code HTML, mais insérer des instructions PHP au milieu de votre code JavaScript où vous voulez les messages, comme:

<script type="text/javascript">
  alert('<?php echo $custom_message; ?>');
</script>

Ou vous pouvez même faire quelque chose comme ça:

<script type="text/javascript">
  var alertMsg = '<?php echo $custom_message; ?>';
  alert(alertMsg);
</script>

En gros, pensez à l'endroit où vous voulez dans votre JavaScript PHP = générer une sortie dynamique et simplement y placer une instruction echo.

6
Jeff

Pour éviter d'échapper à beaucoup de personnages:

   echo <<<MYSCRIPT

    ... script here...

    MYSCRIPT;

ou tout simplement désactiver l'analyse php pendant un moment:

?>
...your script here
<?php
5
Piotr Müller

Vous pouvez utiliser PHP file_get_contents ();

<?php

   $script = file_get_contents('javascriptFile.js');
   echo "<script>".$script."</script>";

?>

Pour plus d'informations sur la fonction:

http://php.net/manual/en/function.file-get-contents.php

2
joronimo

Vous voulez dire que vous voulez afficher une alerte javascript lorsqu'un bouton est cliqué sur une page générée PHP?

echo('<button type="button" onclick="alert(\'Alrt Text!\');">My Button</button>');

Ferait cela

1
Dai

Exactement de la même manière que vous ajoutez des balises HTML. L'écho

0
Your Common Sense

Une façon d'éviter d'inclure accidentellement le même script deux fois consiste à implémenter un module de gestion de script dans votre système de modèles. La méthode classique pour inclure un script consiste à utiliser la balise SCRIPT dans votre page HTML.

  <script type="text/javascript" src="menu_1.0.17.js"></script>

Une alternative dans PHP serait de créer une fonction appelée insertScript.

  <?php insertScript("menu.js") ?>
0
Raman kuamr

Vous pouvez insérer un script en HTML comme dans n'importe quelle autre page (non PHP), PHP le traite comme n'importe quel autre code:

<button id="butt">
  → Click ME! ←
</button>

<script>
    document.getElementById("butt").onclick = function () {
        alert("Message");
    }
</script>

Vous pouvez utiliser les attributs onSOMETHING:

<button onclick="alert('Message')">Button</button>

Pour générer un message en PHP, utilisez la fonction json_encode (elle peut convertir en JavaScript tout ce qui peut être exprimé en JSON - tableaux, objets, chaînes,…):

<?php $message = "Your message variable"; ?>

<button onclick="alert(<?=htmlspecialchars(json_encode($message), ENT_QUOTES)?>)">Click me!</button>

Si vous générez du code pour les balises <script>, utilisez ET NON utilisez htmlspecialchars ou une fonction similaire:

<?php $var = "Test string"; ?>

<button id="butt">Button</button>

<script>
    document.getElementById("butt").onclick = function () {
        alert(<?=json_encode($var)?>);
    }
</script>

Vous pouvez générer des fichiers JavaScript entiers, pas seulement JavaScript incorporé au HTML. Vous devez encore les nommer avec l'extension .php (comme script.php). Envoyez juste l'en-tête correct.

script.php - Le fichier JavaScript

<?php header("Content-Type: application/javascript"); /* This meant the file can be used in script tag */ ?>

<?php $var = "Message"; ?>

document.getElementById("butt").onclick = function () {
    alert(<?=json_encode($var)?>);
}

index.html - Exemple de page utilisant script.php

<!doctype html>
<html lang=en>
    <head>
        <meta charset="utf-8">
        <title>Page title</title>
    </head>
    <body>
        <button id="butt">
            BUTTON
        </button>

        <script src="script.js"></script>
    </body>
</html>
0
jiwopene