Appel d'une fonction Javascript dans code php [Résolu/Fermé]

Signaler
-
 philippe -
Bonjour,

J'ai les yeux qui se croisent !!
Après enregistrement dans une table, je veux ouvrir une div
voilà ce que j'ai fait et qui ne marche pas !!

$requete = "INSERT INTO visites (date, heure, nom, prenom, departement, quantite)
VALUES('$date_reformate','$horaire','$nom','$prenom','$departement','$nombre')";
$resultat = $mysqli->query($requete) or die ('Erreur '.$requete.' '.$mysqli->error());
$message2 = "Votre réservation pour la visite du $my_date à $horaire heures <br>pour $nombre personnes est bien enregistrée.";
echo '<script>ouvrir("madivfermee");</script>';

et plus bas dans ma page

<div id="madivfermee" align="center" style="display:none">
<a href="javascript:new_window('imprimer.php?&&prenom=<?php echo $prenom;?>.....>Imprimer la réservation</a>
</div>

ma fonction sur ma page des fonctions javascript

function ouvrir(id){
document.getElementById(id).style.display = "inline";
}


Merci de me dire où est mon erreur

3 réponses

Messages postés
14735
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 novembre 2020
262
PHP est exécuté côté serveur AVANT l'envoi du code HTML.
le Javascript est exécuté côté client, APRES avoir reçu la page.

Le PHP peut générer un code Javascript appelé par le navigateur.
Le Javascript peut (par AJAX par exemple) faire une requête spécifique vers le serveur web pour charger une page qui exécutera du PHP.
OK mais comment je peux résoudre mon problème ?
Messages postés
14735
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
5 novembre 2020
262
Si la fonction JS doit être lancée au début,tu peux la mettre dans le OnLoad de Body par exemple.
Bon en fait au lieu d'essayer de passer par javascript, je suis passé par css et ça marche
A la fin de ma requête d'insertion j'ai mis :

echo '<style type="text/css"> div#madivfermee{ display:inline;</style>';

et plus bas sur ma page

<div id="madivfermee">
<a href="javascript:new_window('imprimer.php?&&prenom=<?php echo $prenom;?>&&nom=<?php echo $nom; ?> &&date=<?php echo $my_date;?>&&heure=<?php echo $horaire;?>&&nombre=<?php echo $nombre;?>','popup','width=660,height=550,resizable=yes,scrollbars=yes')"><label style="text-decoration:underline;margin-left:170px" class="blue">Imprimer la réservation</label></a>
</div>

et sur ma feuille de style

div#madivfermee {
display:none;
}

je ne sais pas si ça se fait mais ça marche !!