Pbm php/javascript
loulou64
Messages postés
267
Date d'inscription
Statut
Membre
Dernière intervention
-
loulou64 Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
loulou64 Messages postés 267 Date d'inscription Statut Membre Dernière intervention -
Salut a tous!
J'ai un pbm pour creer un site:
j'affiche une base de donnees ds un tableau et, lorsque l'utilisteur clique sur un des noms du tableau, une fonction javascript (confsup) demande la confirmation de la suppression puis declanche une fct php (delete) pour supprimer l'entree de la base de donnee.
Helas ca ne fonctionne pas!
la fct consup est bien declanchee mais l'entree n'est pas supprimee de la base...Pourriez vous m aider? Merci d'avance!!
L'adresse pour visualiser est http://membres.lycos.fr/listebds
et voici le code:
<html>
<head>
<title>Liste des bds</title>
<!--DEBUT CODE COULEUR SUR LIENS-->
<style>
<!--
A:link {text-decoration: underline; color: #FFFF00; font-family: comic sans ms, Arial; font-size: 10pt}
A:visited {text-decoration: underline; color: #FFFF00; font-family: comic sans ms, Arial; font-size: 10pt}
A:active {text-decoration: underline; color: #FF0000; font-family: comic sans ms, Arial; font-size: 10pt}
-->
</style>
<!--FIN CODE COULEUR SUR LIENS-->
<!--DEBUT CODE ECLAIRAGE SUR LIEN-->
<style TYPE="text/css">
<!--
A:hover {text-decoration:none; background: #FFFF00}
A:hover {color:#0000FF;}
-->
</style>
<!--FIN CODE ECLAIRAGE SUR LIEN -->
<!--DEBUT CODE DE CONFIRMATION DE SUPPRESSION-->
<SCRIPT language='Javascript'>
function confsup($nomsupp) {
if (confirm('Etes-vous sur de vouloir supprimer la bd intitulée '+$nomsupp+' ? '))
{
<?php
delete($nomsupp);
?>
}
}
</SCRIPT>
<!--FIN CODE DE CONFIRMATION DE SUPPRESSION-->
</head>
<body bgcolor="0000FF">
<?php
function delete($nomsupp)
{
$db = mysql_connect();
$sql="DELETE FROM listebds WHERE (nombd='$nomsupp')";
mysql_query($sql, $db);
print "$nomsupp";
}
?>
<br>
<br>
<br>
<br>
<br>
<br>
<table align="center" cellspacing="0" cellpadding="0" border="1" width="80%" bgcolor="black" bordercolor="yellow">
<tr>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">DATE</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">NOM DE LA BD</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">AUTEUR</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">COMMENTAIRE</td>
</tr>
<?php
$db = mysql_connect();
$sql="SELECT * FROM listebds ORDER BY nombd";
$res=mysql_query($sql, $db);
while ($ligne = mysql_fetch_object ($res))
{
print "<tr>";
print "<td align=center> <font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->date</font></td>";
print "<td align=center><a href=\"#\" OnClick=\"confsup('$ligne->nombd')\">$ligne->nombd</td>";
print "<td align=center><font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->auteur</font></td>";
print "<td align=center><font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->commentaire</font></td>";
print "</tr>";
}
mysql_free_result ($res);
?>
</table>
<br>
<br>
<br>
<br>
<br>
<br>
<div align=center>
<a href="ajout.html">Ajouter une bd à la liste</a>
</div>
</body>
</html>
J'ai un pbm pour creer un site:
j'affiche une base de donnees ds un tableau et, lorsque l'utilisteur clique sur un des noms du tableau, une fonction javascript (confsup) demande la confirmation de la suppression puis declanche une fct php (delete) pour supprimer l'entree de la base de donnee.
Helas ca ne fonctionne pas!
la fct consup est bien declanchee mais l'entree n'est pas supprimee de la base...Pourriez vous m aider? Merci d'avance!!
L'adresse pour visualiser est http://membres.lycos.fr/listebds
et voici le code:
<html>
<head>
<title>Liste des bds</title>
<!--DEBUT CODE COULEUR SUR LIENS-->
<style>
<!--
A:link {text-decoration: underline; color: #FFFF00; font-family: comic sans ms, Arial; font-size: 10pt}
A:visited {text-decoration: underline; color: #FFFF00; font-family: comic sans ms, Arial; font-size: 10pt}
A:active {text-decoration: underline; color: #FF0000; font-family: comic sans ms, Arial; font-size: 10pt}
-->
</style>
<!--FIN CODE COULEUR SUR LIENS-->
<!--DEBUT CODE ECLAIRAGE SUR LIEN-->
<style TYPE="text/css">
<!--
A:hover {text-decoration:none; background: #FFFF00}
A:hover {color:#0000FF;}
-->
</style>
<!--FIN CODE ECLAIRAGE SUR LIEN -->
<!--DEBUT CODE DE CONFIRMATION DE SUPPRESSION-->
<SCRIPT language='Javascript'>
function confsup($nomsupp) {
if (confirm('Etes-vous sur de vouloir supprimer la bd intitulée '+$nomsupp+' ? '))
{
<?php
delete($nomsupp);
?>
}
}
</SCRIPT>
<!--FIN CODE DE CONFIRMATION DE SUPPRESSION-->
</head>
<body bgcolor="0000FF">
<?php
function delete($nomsupp)
{
$db = mysql_connect();
$sql="DELETE FROM listebds WHERE (nombd='$nomsupp')";
mysql_query($sql, $db);
print "$nomsupp";
}
?>
<br>
<br>
<br>
<br>
<br>
<br>
<table align="center" cellspacing="0" cellpadding="0" border="1" width="80%" bgcolor="black" bordercolor="yellow">
<tr>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">DATE</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">NOM DE LA BD</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">AUTEUR</td>
<td bgcolor="#0000FF" align=center><font color="#FFFF00">COMMENTAIRE</td>
</tr>
<?php
$db = mysql_connect();
$sql="SELECT * FROM listebds ORDER BY nombd";
$res=mysql_query($sql, $db);
while ($ligne = mysql_fetch_object ($res))
{
print "<tr>";
print "<td align=center> <font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->date</font></td>";
print "<td align=center><a href=\"#\" OnClick=\"confsup('$ligne->nombd')\">$ligne->nombd</td>";
print "<td align=center><font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->auteur</font></td>";
print "<td align=center><font face=\"comic sans ms,arial\" size=3 color=\"yellow\">$ligne->commentaire</font></td>";
print "</tr>";
}
mysql_free_result ($res);
?>
</table>
<br>
<br>
<br>
<br>
<br>
<br>
<div align=center>
<a href="ajout.html">Ajouter une bd à la liste</a>
</div>
</body>
</html>
A voir également:
- Pbm php/javascript
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
2 réponses
Salut à toi,
Le problème, c'est que ta page est interprétée par PHP une seule fois, au moment de la génération de ta page HTML.
Du coup, dans ta fonction compsup, le delete est exécuté lors de la génération de ta page avec une variable non initialisée.
Pour faire ce que tu veux faire, tu dois appeler une nouvelle page dans cette fonction, du genre :
Tu vois ce que je veux dire ?
michael
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Le problème, c'est que ta page est interprétée par PHP une seule fois, au moment de la génération de ta page HTML.
Du coup, dans ta fonction compsup, le delete est exécuté lors de la génération de ta page avec une variable non initialisée.
Pour faire ce que tu veux faire, tu dois appeler une nouvelle page dans cette fonction, du genre :
window.location=delete.php?id=$nomsup
Tu vois ce que je veux dire ?
michael
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
salut.
En javascript, il n'y a pas de $ devant les variables.
Un autre petit truc. Normalement, avec les nouvelles versions de PHP, dans ton script delete.php, tu devrais remplir ta variable $var comme ceci :
Sinon, ta variable risque d'être vide.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
En javascript, il n'y a pas de $ devant les variables.
Un autre petit truc. Normalement, avec les nouvelles versions de PHP, dans ton script delete.php, tu devrais remplir ta variable $var comme ceci :
$var = $_GET['var'];
Sinon, ta variable risque d'être vide.
Michael.
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
Je debure en php mais si j'ai bien compris, il faut que j'ecrive ma fonction de suppression ds un fichier a part delete.php et que je l'appelle ensuite ds ma fonction de confirmation? c bien ca ?
en tt cas je tente et je te tiens au courant ! merci encore !
Essaie et n'hésite pas à me faire signe si ça ne marche pas
Ne vous souciez pas de n'être pas remarqué ; cherchez
plutôt à faire quelque chose de remarquable [Confucius]
j'ai suivi tes conseils, tt a fonctionne ou presque, en fait ce qui est transmis a la fonction delete.php, ce n'est pas le nom de la bd a supprimer mais le nom de la variable.
Je pense que c'est juste une pbm de " ou de ', mais je n'arrive pas a le resoudre.
Je te colle la portion de code modifiee. merci encore !
function confsup($nomsupp) {
if (confirm('Etes-vous sur de vouloir supprimer la bd intitulée '+$nomsupp+' ? '))
{
window.location='delete.php?var=$nomsupp';
}
et ds delete.php:
<html>
<head>
</head>
<body>
<?php
$db = mysql_connect();
$sql="DELETE FROM listebds WHERE (nombd='$var')";
print "$var";
mysql_query($sql, $db);
?>
</body>
</html>
donc pour etre clair, lors du print "$var"; il m'affiche $nomsupp au lieu du nom de la bd (le contenu de $nomsupp)