Problème d'intégration PHP Javascript dans une boite de dialogue
2swfan
Messages postés25Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention24 octobre 2005
-
10 mai 2005 à 15:34
2swfan
Messages postés25Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention24 octobre 2005
-
11 mai 2005 à 08:53
Bonjour tout le monde !
Voila, g un probleme d'integration entre du php et du javascript. en fait, je veux afficher une boite de dialogue qui demande à l'utilisateur si il ve ou non supprimer une carte ( une image). Si il clique sur oui, la carte est supprimee de la base, sinon, il revient sur le detail de la carte.
Pour cela, j'utilise une boite de dialogue de type confirm et je met dans une variable javascript le resultat de la confirmation ( true ou false). Selon ce resultat, le systeme fait le traitement (en PHP) . Le probleme majeur de ce truc, c'est que si je met du code PHP à l'interieur de mon javascript, la boite de dialogue ne ve plus s'afficher. De plus, le systeme rentre dans les deux possibilités du "if".
Ci joint le code source de ce que g code pour l'instant ( ca marche po, la boite de dialogue ne ve pas s'afficher !! ). Merci d'avance de votre aide.
$conn = connexion(USER, PASS, HOST);
if ($conn == false) {
echo "Impossible de se connecter à la BDD : \n";
}
$choix_base = choix_base(BDD);
if ($choix_base == false) {
echo "Erreur dans le choix de la base de donnees\n";
}
?>
<script language = "javascript">
function confirmation() {
var conn = "<? echo $conn; ?>";
var carte = "<? echo $idcarte; ?>";
if (confirm ("Voulez vous vraiment supprimer cette carte ?? ")) {
return true;
}else
{
document.write("<meta http-equiv="REFRESH" content="0;url=detail_carte.php?idcarte="+carte+""></HEAD>");
return false;
}
}
var test = confirmation();
if (test) {
</script>
<? $req "delete from carte where idcarte $idcarte";
//$curs = execute($conn, $req);
echo "<fieldset>\n";
echo "<legend>Suppression de la carte : ";
echo $idcarte."</legend>
\n";
if ($curs) {
echo "<center>La carte a été correctement supprimée</center>";
}else {
echo "<center>Il y a eu un problème lors de la suppression de la carte !!</center>";
}
echo "
";
echo "</fieldset>";
?>
<script>
}else {
document.write("test 2 ");
}
</script>
<?
?>
A voir également:
Problème d'intégration PHP Javascript dans une boite de dialogue
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 10 mai 2005 à 16:33
Hello,
PHP s'execute cote serveur.
Javascript s'execute cote client.
En d'autres termes :
PHP s'est execute avant que Javascript n'est commence a s'executer.
Ce qui est normal...
Le serveur lit ton php, le parse, et cree a partir de lui un fichier
HTML...il renvoie ce fichier a ton navigateur qui va lire le html et
eventuellement donc le javascript s'il en contient.
Donc, un if () en javascript contenant du php ne peut pas fonctionner. PHP a deja ete execute, totalement.
Ce que tu veux faire est impossible de cette maniere. Il faut passer
par des formulaires, des pages, une session...si l'on veut passer des
variables crees par javascript a php.
2swfan
Messages postés25Date d'inscriptionjeudi 31 mars 2005StatutMembreDernière intervention24 octobre 2005 11 mai 2005 à 08:53
Merci de vos réponses.
En fait, g reussi a resoudre mon probleme en faisant comme ca :
// confirmation_suppression.php :
$conn = connexion(USER, PASS, HOST);
if ($conn == false) {
echo "Impossible de se connecter à la BDD : \n";
}
$choix_base = choix_base(BDD);
if ($choix_base == false) {
echo "Erreur dans le choix de la base de donnees\n";
}
?>
<script language = "javascript">
var conn = "<? echo $conn; ?>";
var carte = "<? echo $idcarte; ?>";
if (confirm ("Voulez vous vraiment supprimer cette carte ?? ")) {
document.write("<meta http-equiv="REFRESH" content="0;url=confirmation_suppr_acceptee.php?idcarte="+carte+""></HEAD>");
}else
{
document.write("<meta http-equiv="REFRESH" content="0;url=detail_carte.php?idcarte="+carte+""></HEAD>");
}
</script>
// confirmation_suppr_acceptee.php :
$idcarte = $HTTP_GET_VARS['idcarte'];
$conn = connexion(USER, PASS, HOST);
if ($conn == false) {
echo "Impossible de se connecter à la BDD : \n";
}
$choix_base = choix_base(BDD);
if ($choix_base == false) {
echo "Erreur dans le choix de la base de donnees\n";
}
$req "delete from carte where num_carte '$idcarte'";
echo $req;
$curs = execute($conn, $req);
echo "<fieldset>\n";
echo "<legend>Suppression de la carte : ";
echo $idcarte."</legend>
\n";
if ($curs) {
// suppression systeme de la carte
$req = "select distinct chemin_carte
from carte
where num_carte = '$idcarte'";
$curs= execute($conn, $req);
$row = mysql_fetch_array($curs);
$chemin = "\\\\Sntquimper3\".$row['chemin_carte'];
if ($curs) {
La carte a été correctement supprimée dans la BDD </center>";
}else
{
echo "<center>La carte n'a pas été correctement supprimée dans la BDDr</center>";
}