Comment puis-je ajouter un script dans un code php? Supposons que je veuille donner une alerte pour un clic sur un bouton ..
Vous pouvez simplement faire écho à tout le code HTML comme d'habitude:
<?php
echo '<input type="button" onclick="alert(\'Clicky!\')"/>';
?>
<?php
echo"<script language='javascript'>
</script>
";
?>
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.
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
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:
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
Exactement de la même manière que vous ajoutez des balises HTML. L'écho
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") ?>
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>