Accueil
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi Eclipse MS-Office SQL & SGBD Oracle  4D  Business Intelligence
logo
Sommaire > Concepts fréquents > JavaScript
        Comment détecter l'activation du JavaScript du côté client en PHP ?
        Peut-on lancer une fonction PHP depuis une fonction JavaScript ?
        Passage de variable de PHP à javascript
        Comment faire 'page précédente' ?



Comment détecter l'activation du JavaScript du côté client en PHP ?
auteur : Sergejack
Cela peut-être fait suite à la soumission d'un formulaire. Nous définissons donc un formulaire tout en rajoutant la partie qui sera activée en cas de désactivation du Javascript du côté navigateur.
Page de soumission du formulaire

<form method="post" action="page2.php">
    [...]
    <noscript>
    <input type="hidden" name="sansJS" value="1">
    </noscript>
</form>
Puis dans la page2.php, on rajoute le test suivant :
if (array_key_exists("sansJS",$_POST)) 
{
    $javaScript = FALSE;
} 
else 
{
    $javaScript = TRUE;
}
Remarque : Ce script ne prend pas immédiatement en compte la présence ou non du javascript, une première soumission est indispensable.


Peut-on lancer une fonction PHP depuis une fonction JavaScript ?
auteur : Eric Berger
Ce n'est pas possible. La raison est simple : si du code JavaScript peut s'exécuter, c'est que la page a déjà été envoyée au navigateur. PHP étant chargé de préparer la page, son action se situe avant l'envoi de la page au navigateur.
On peut donc en déduire que lorsque JavaScript commence son travail, PHP a déjà terminé le sien. Impossible donc qu'une fonction JavaScript ne déclenche une fonction PHP.

Il existe toutefois une alternative qui est l'AJAX, acronyme pour Asynchronous JavaScript And XML (Javascript Asynchrone et XML). Le principe de base est d'intercepter en utilisant JavaScript les évènements survenants sur la page, et d'insérer dynamiquement dans la page un contenu provenant d'un serveur web, véhiculé par un document XML, toujours en utilisant JavaScript.

lien : faq Les technologies d'Ajax
lien : fr Formez-vous au Web 2.0 avec nos tutoriels AJAX

Passage de variable de PHP à javascript
auteur : Cyberzoide
Le Javascript est exécuté côté client, alors que le PHP est exécuté côté serveur. Le PHP permet d'écrire une page HTML à la volée. Via les fonctions d'affichage de PHP (echo, print), on peut inclure des balises HTML à la page, on peut aussi afficher du code JavaScript.

Pour inclure dans un script JavaScript des données provenant de PHP, exemple :
<script language="javascript">
function toto() {
    if(document.form1.age.value < <?php echo $borne_inf; ?>) {
        alert("Trop jeune.");
    }
}
</script>
ou encore :
<?php
$borne_inf = 18;
echo '<script language="javascript">
                function toto() {
                    if(document.form1.age.value < ' . $borne_inf . ') {
                        alert("Trop jeune.");
                    }
                }
            </script>';
?>
Cela affichera dans la page HTML :
<script language="javascript">
function toto() {
    if(document.form1.age.value < 18 ) {
        alert("Trop jeune.");
    }
}
</script>
Pour passer des paramètres à un script PHP depuis du JavaScript, exemple :
<input type="button" onclick="document.location='home.php?id=150';">
ou encore :
<input type="button" onclick="document.location='<?php=$_SERVER['PHP_SELF'];?>?id=<?php=$id?>'">

Comment faire "page précédente" ?
auteur : Cyberzoide
Pour recharger la page précédente dans le navigateur du client, il est possible de combiner les en-têtes HTTP et la variable d'environnement $HTTP_REFERER (ou $_SERVER['HTTP_REFERER'] depuis PHP 4.2.0).
header("Location: ".$_SERVER['HTTP_REFERER']); 
Attention, la valeur de HTTP_REFERER provient de ce que veut bien retourner le navigateur au serveur. Certains navigateurs ne retournent pas cette information.

Sinon, il existe les fonctions JavaScript :
history.go(-1); 
et
history.back();


Consultez les autres F.A.Q.


Les sources présentés sur cette page sont libres de droits, et vous pouvez les utiliser à votre convenance. Par contre cette page de présentation de ces sources constitue une oeuvre intellectuelle protégée par les droits d'auteurs. Copyright ©2003  Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Vos questions techniques : forum d'entraide Accueil - Publiez vos articles, tutoriels, cours et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones. Nous contacter - Copyright 2000..2005 www.developpez.com