Soutenez-nous

FAQ PHPConsultez toutes les FAQ

Nombre d'auteurs : 68, nombre de questions : 580, dernière mise à jour : 29 juillet 2013 

 
OuvrirSommaireConcepts fréquentsJavaScript

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
Sélectionnez

<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 :

 
Sélectionnez
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.

Créé le 8 août 2006  par Sergejack

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.

Mis à jour le 3 août 2008  par Eric Berger

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

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 :

 
Sélectionnez
<script language="javascript">
function toto() {
    if(document.form1.age.value < <?php echo $borne_inf; ?>) {
        alert("Trop jeune.");
    }
}
</script>

ou encore :

 
Sélectionnez
<?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 :

 
Sélectionnez
<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 :

 
Sélectionnez
<input type="button" onclick="document.location='home.php?id=150';">

ou encore :

 
Sélectionnez
<input type="button" onclick="document.location='<?php=$_SERVER['PHP_SELF'];?>?id=<?php=$id?>'">
Mis à jour le 3 août 2008  par 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).

 
Sélectionnez
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 :

 
Sélectionnez
history.go(-1); 

et

 
Sélectionnez
history.back();
Mis à jour le 3 août 2008  par Cyberzoide
  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2003 Developpez.com 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'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.