Fenetre de confirmation de suppression
Résolu
GUIPE
Messages postés
94
Date d'inscription
Statut
Membre
Dernière intervention
-
GUIPE Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
GUIPE Messages postés 94 Date d'inscription Statut Membre Dernière intervention -
Bonjour, tout d'abord voici mon code :
<html>
<head>
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer cette catégorie ?";
if (confirm(msg))
location.href("<? echo ''.$lien.'';?>");
}
</SCRIPT>
<body>
<?php
include("connection.php");
if(isset($_GET['action']))
{
switch($_GET['action'] )
{
case 'Supprimer':
//$suppr=mysql_db_query($db,"DELETE from cat WHERE id='".$_GET['id']."' "); // on va aller chercher le numéro d'id dans l'URL ==> GET.
echo'supprimer';
break;
case 'Ajouter':
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('".$_POST['nom_fr']."') WHERE id='".$_POST['id']."'" );
echo"case ajouter";
break;
case 'Modifier':
$mod = mysql_db_query($db,"UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['id']."'");
break;
default: echo"Choisissez un des trois choix";
}
}
$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
while($cat = mysql_fetch_assoc($r_cat))
{
echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
echo'<input type="submit" value="Modifier" />
<input type="button" onClick="confirmation();" value="Supprimer">'; // on fait id= ... pour insérer le numéro d'id dans l'url !
echo'<input type="hidden" name="id" value='.$cat['id'].'" /></form>';
}
echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" name="Ajouter" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>';
?>
<body>
<html>
Je veux faire une page d'administration pour les catégories d'un futur site web, voici mon code ci dessus. Je veux pouvoir modifier, supprimer ou ajouter des catégories. La requête modifier fonctionne. Maintenant je veux faire marcher la requête supprimer avec une fenêtre de confirmation. La fenêtre de confirmation s'affiche mais aucune suppression n'est effectuée. Je ne sais pas trop d'ou vient le problème. Mais il est possible que ce soit là :
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer cette catégorie ?";
if (confirm(msg))
location.href("<? echo ''.$lien.'';?>");
}
<html>
<head>
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer cette catégorie ?";
if (confirm(msg))
location.href("<? echo ''.$lien.'';?>");
}
</SCRIPT>
<body>
<?php
include("connection.php");
if(isset($_GET['action']))
{
switch($_GET['action'] )
{
case 'Supprimer':
//$suppr=mysql_db_query($db,"DELETE from cat WHERE id='".$_GET['id']."' "); // on va aller chercher le numéro d'id dans l'URL ==> GET.
echo'supprimer';
break;
case 'Ajouter':
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('".$_POST['nom_fr']."') WHERE id='".$_POST['id']."'" );
echo"case ajouter";
break;
case 'Modifier':
$mod = mysql_db_query($db,"UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['id']."'");
break;
default: echo"Choisissez un des trois choix";
}
}
$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
while($cat = mysql_fetch_assoc($r_cat))
{
echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
echo'<input type="submit" value="Modifier" />
<input type="button" onClick="confirmation();" value="Supprimer">'; // on fait id= ... pour insérer le numéro d'id dans l'url !
echo'<input type="hidden" name="id" value='.$cat['id'].'" /></form>';
}
echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" name="Ajouter" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>';
?>
<body>
<html>
Je veux faire une page d'administration pour les catégories d'un futur site web, voici mon code ci dessus. Je veux pouvoir modifier, supprimer ou ajouter des catégories. La requête modifier fonctionne. Maintenant je veux faire marcher la requête supprimer avec une fenêtre de confirmation. La fenêtre de confirmation s'affiche mais aucune suppression n'est effectuée. Je ne sais pas trop d'ou vient le problème. Mais il est possible que ce soit là :
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<SCRIPT LANGUAGE="JavaScript">
function confirmation() {
var msg = "Êtes-vous sur de vouloir supprimer cette catégorie ?";
if (confirm(msg))
location.href("<? echo ''.$lien.'';?>");
}
A voir également:
- Fenetre de confirmation de suppression
- Forcer suppression fichier - Guide
- Confirmation de lecture whatsapp - Guide
- Confirmation de lecture gmail - Guide
- Fenetre windows - Guide
- Fenetre de navigation privée - Guide
30 réponses
9a ne marche toujours pas ! Tu ne penses pas que l'erreur vient de mon lien vers mon case "Supprimer" ? ==>
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<?php $lien="admincat.php?action=Supprimer&id=".$cat["id"].""; ?>
<html>
<head>
<body>
<?php
include("connection.php");
if(isset($_GET['action']))
{
switch($_GET['action'] )
{
case 'Supprimer':
$r_cat=mysql_db_query($db,"SELECT * FROM cat WHERE id=".$_GET['id']."");
while($cat = mysql_fetch_assoc($r_cat))
{echo'Voulez-vous vraiment supprimer '.$cat['nom_fr'].'?
<form method="post" action="admincat.php?action=SupprimerOK&id='.$cat['id'].'"><input type= "submit" value="OK">';
break;
}
case 'SupprimerOK':
//$suppr=mysql_db_query($db,"DELETE from cat WHERE id='".$_GET['id']."' "); // on va aller chercher le numéro d'id dans l'URL ==> GET.
echo'supprimer';
break;
case 'Ajouter':
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('".$_POST['nom_fr']."') WHERE id='".$_POST['id']."'" );
echo"case ajouter";
break;
case 'Modifier':
$mod = mysql_db_query($db,"UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['id']."'");
break;
default: echo"Choisissez un des trois choix";
}
}
La suppression marche quand j'appuie sur supprimer mais le problème c'est que elle fonctionne sans que j'ai autorisé la suppression en appuyant sur OK. bizarre.
$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
while($cat = mysql_fetch_assoc($r_cat))
{
echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
echo'<input type="submit" value="Modifier" />
<input type="button" value="Supprimer" onClick="document.location=\'admincat.php?action=Supprimer&id='.$cat["id"].'\'" />'; // on fait id= ... pour insérer le numéro d'id dans l'url !
echo'<input type="hidden" name="id" value='.$cat['id'].'" /></form>';
}
echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" name="Ajouter" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>';
?>
<body>
<html>
<head>
<body>
<?php
include("connection.php");
if(isset($_GET['action']))
{
switch($_GET['action'] )
{
case 'Supprimer':
$r_cat=mysql_db_query($db,"SELECT * FROM cat WHERE id=".$_GET['id']."");
while($cat = mysql_fetch_assoc($r_cat))
{echo'Voulez-vous vraiment supprimer '.$cat['nom_fr'].'?
<form method="post" action="admincat.php?action=SupprimerOK&id='.$cat['id'].'"><input type= "submit" value="OK">';
break;
}
case 'SupprimerOK':
//$suppr=mysql_db_query($db,"DELETE from cat WHERE id='".$_GET['id']."' "); // on va aller chercher le numéro d'id dans l'URL ==> GET.
echo'supprimer';
break;
case 'Ajouter':
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr) VALUES ('".$_POST['nom_fr']."') WHERE id='".$_POST['id']."'" );
echo"case ajouter";
break;
case 'Modifier':
$mod = mysql_db_query($db,"UPDATE cat SET nom_fr='".$_POST['nom_fr']."' WHERE id='".$_POST['id']."'");
break;
default: echo"Choisissez un des trois choix";
}
}
La suppression marche quand j'appuie sur supprimer mais le problème c'est que elle fonctionne sans que j'ai autorisé la suppression en appuyant sur OK. bizarre.
$r_cat = mysql_db_query($db,"SELECT * FROM cat ORDER BY ordre ASC");
while($cat = mysql_fetch_assoc($r_cat))
{
echo'<br /><br /><form method="post" action="admincat.php?action=Modifier"><input type="text" name="nom_fr" value="'.$cat['nom_fr'].'" />';
echo'<input type="submit" value="Modifier" />
<input type="button" value="Supprimer" onClick="document.location=\'admincat.php?action=Supprimer&id='.$cat["id"].'\'" />'; // on fait id= ... pour insérer le numéro d'id dans l'url !
echo'<input type="hidden" name="id" value='.$cat['id'].'" /></form>';
}
echo'<form method="post" action="admincat.php?action=Ajouter"><input type="text" name="nom_fr" " /><input type="submit" name="Ajouter" value="Ajouter" /><input type="hidden" name="id" value="'.$cat['id'].'" /></form>';
?>
<body>
<html>
J'ai trouvé mon erreur. J'avais fermé mon premier while après le break donc forcément ça ne pouvait pas marcher. Maintenant ça marche , il ne me reste plus qu'à faire fonctionner l'ajout de ma catégorie ou je le souhaite !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Le problème qui se présente à moi est comment pouvoir laisser le choix à l'utilisateur de placer la nouvelle catégorie ou il le souhaite parmi les autres ! Si vous savez comment faire, Merci à vous pour votre écoute !
Oui voici ce que j'ai fait :
echo'<input type="button" value="Supprimer" onClick="document.location=\'admincat.php?action=Supprimer&id='.$cat["id"].'\'" />
<TR>
<TD>Position</TD>
<TD>
<SELECT name="ordre">
<OPTION VALUE="1">1</OPTION>
<OPTION VALUE="2">2</OPTION>
<OPTION VALUE="3">3</OPTION>
<OPTION VALUE="4">4</OPTION>
<OPTION VALUE="5">5</OPTION>
<OPTION VALUE="6">6</OPTION>
<OPTION VALUE="7">7</OPTION>
<OPTION VALUE="8">8</OPTION>
<OPTION VALUE="9">9</OPTION>
<OPTION VALUE="10">10</OPTION>
<OPTION VALUE="11">11</OPTION>
<OPTION VALUE="12">12</OPTION>
</SELECT><input type="button" onClick="document.location=\'admincat.php?action=Positionner&id='.$cat["id"].'\'" />
</TD>
</TR>
</form>';
J'ai créer aussi un autre case "Positionner" dans lequel je ferai ma requête pour la position. Mais ça ne marche pas.
Est ce que ma requête est excate au moins ?
==> $pos=mysql_db_query($db,"UPDATE cat SET ordre='".$_POST['ordre']."' WHERE id='".$_POST['id']."'");
Mais
echo'<input type="button" value="Supprimer" onClick="document.location=\'admincat.php?action=Supprimer&id='.$cat["id"].'\'" />
<TR>
<TD>Position</TD>
<TD>
<SELECT name="ordre">
<OPTION VALUE="1">1</OPTION>
<OPTION VALUE="2">2</OPTION>
<OPTION VALUE="3">3</OPTION>
<OPTION VALUE="4">4</OPTION>
<OPTION VALUE="5">5</OPTION>
<OPTION VALUE="6">6</OPTION>
<OPTION VALUE="7">7</OPTION>
<OPTION VALUE="8">8</OPTION>
<OPTION VALUE="9">9</OPTION>
<OPTION VALUE="10">10</OPTION>
<OPTION VALUE="11">11</OPTION>
<OPTION VALUE="12">12</OPTION>
</SELECT><input type="button" onClick="document.location=\'admincat.php?action=Positionner&id='.$cat["id"].'\'" />
</TD>
</TR>
</form>';
J'ai créer aussi un autre case "Positionner" dans lequel je ferai ma requête pour la position. Mais ça ne marche pas.
Est ce que ma requête est excate au moins ?
==> $pos=mysql_db_query($db,"UPDATE cat SET ordre='".$_POST['ordre']."' WHERE id='".$_POST['id']."'");
Mais
Dsl encore mais j'aimerais au lieu d'énumérer toutes les options value, créer une boucle allant de 1 à 100 et donc d'écrire qu'une seule fois option value dans la boucle. Regardez ce que j'ai fait, je nsais pas trop comment faire !
Position
<SELECT name="ordre">
for(i=0;i<100;i++)
{
<OPTION VALUE="i">??? je nsais pas quoi mettre ici</OPTION>
}
Position
<SELECT name="ordre">
for(i=0;i<100;i++)
{
<OPTION VALUE="i">??? je nsais pas quoi mettre ici</OPTION>
}
Plutôt que faire une boucle de 1 à 100, il vaudrait mieux en faire une qui ne va que jusqu'à nombre_de_categories + 1.
echo '<SELECT name="ordre">'; for ( $i=0 ; $i<100 ; $i++ ) { echo "<OPTION VALUE=\"$i\">$i</OPTION>"; } echo '</SELECT>';Par contre, je ne comprends pas pourquoi tu utilises des boutons et du JS plutôt que des formulaires, qui sont spécifiquement faits pour ça... En plus, si Javascript est désactivé, ton application devient inutilisable.
J'ai tout de même une erreur, on me dit que ma variable position est indéfini à la ligne ou je fais ma requête de positionnement. Pourtant je l'ai bien déclaré comme étant le nom du select :
<SELECT name="position">';
<SELECT name="position">';
<form method="post" name="form" action="document.location=\'admincat.php?action=Positionner&id='.$cat["id"].'">
<SELECT name="position">';
for($i=1;$i<100;$i++)
{
echo'<OPTION VALUE="position">'.$i.'</OPTION>';
}
echo'</SELECT>
<input type="submit" value="Positionner" /></form>';
Il n'y a plus d'erreur mais ça ne marche quand même pas !
<SELECT name="position">';
for($i=1;$i<100;$i++)
{
echo'<OPTION VALUE="position">'.$i.'</OPTION>';
}
echo'</SELECT>
<input type="submit" value="Positionner" /></form>';
Il n'y a plus d'erreur mais ça ne marche quand même pas !
Voici ce que j'ai fait.
[CODE]for($i=1;$i<100;$i++)
{
echo'<option value="$i"';
if($i==$cat['ordre'])
{
echo'<option selected="selected">';
}
echo'>'.$i.'</option>';
echo'</select></form>';
}[/CODE]
Il n'y a plus d'erreur mais cela ne fonctionne pas du tout. Sur la page générée je vois bien la liste déroulante mais dedans il y a juste une valeur ==> le 1. Puis ensuite le reste des chiffres jusqu'à 99 ne s'affiche pas dans ma liste déroulante mais en dessous. Jcomprends pas trop.
[CODE]for($i=1;$i<100;$i++)
{
echo'<option value="$i"';
if($i==$cat['ordre'])
{
echo'<option selected="selected">';
}
echo'>'.$i.'</option>';
echo'</select></form>';
}[/CODE]
Il n'y a plus d'erreur mais cela ne fonctionne pas du tout. Sur la page générée je vois bien la liste déroulante mais dedans il y a juste une valeur ==> le 1. Puis ensuite le reste des chiffres jusqu'à 99 ne s'affiche pas dans ma liste déroulante mais en dessous. Jcomprends pas trop.
J'ai modifié mon code et l'eereur précédente n'y est plus, j'ai bien ma liste de chiffres de 1 à100 mais les modifications de position ne marchent toujours pas !
for($i=1;$i<100;$i++)
{
echo'<option value="$i"';
if($i==$cat['ordre'])
{
echo' selected="selected">'.$i.'</option>';
}
else
{
echo'>'.$i.'</option>';
}
}
for($i=1;$i<100;$i++)
{
echo'<option value="$i"';
if($i==$cat['ordre'])
{
echo' selected="selected">'.$i.'</option>';
}
else
{
echo'>'.$i.'</option>';
}
}
Le problème que j'ai est que quand je choisis une catégorie, que je prends une position dans la liste déroulante et que j'appuie sur positionner, j'ai une erreur ==>
Notice: Undefined index: ordre in c:\users\dimexbat5\desktop\ectfrance.com\scripts\admincat.php on line 38
C'est la ligne de ma requête de positionnement :
$pos=mysql_db_query($db,"UPDATE cat SET ordre='".$_POST['ordre']."' WHERE id='".$_GET['id']."'");
De plus lorsque je regarde dans ma table la catégorie que j'ai voulu changer de position, bé son ordre se met à 0, jcomprends pas :cry:
Notice: Undefined index: ordre in c:\users\dimexbat5\desktop\ectfrance.com\scripts\admincat.php on line 38
C'est la ligne de ma requête de positionnement :
$pos=mysql_db_query($db,"UPDATE cat SET ordre='".$_POST['ordre']."' WHERE id='".$_GET['id']."'");
De plus lorsque je regarde dans ma table la catégorie que j'ai voulu changer de position, bé son ordre se met à 0, jcomprends pas :cry:
Voilà en fait dés que je veux changer la position d'une de mes catégories, son ordre se met automatiquement à 0 !.
Maintenant je dois réaliser une page semblable d'administration de contenu( qui sont en fait des pages que j'ai en format pdf). Donc voilà je vous tiendrais informer si j'ai des soucis. Merci encore de votre aide et particulièrement à toi pyschopathe !
Désolé j'aurais besoin juste encore un petit peu de votre aide. Mon code marche mais quand je veux modifier ma catégorie en mettant des '+texte ou "+texte, ça ne fonctionne pas. Quel est la solution pour remédier à ça ? Merci !
Voilà ce que j'ai fait, mais ça ne fonctionne pas pourtant j'ai bien fait comme sur la doc php, je comprends pas. Il ne prend toujours pas en compte mes catégories si elles possèdent des ' ou des " à l'intérieur
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr,nom_en) VALUES ('".$_POST['nom_fr']."','".$_POST['nom_en']."') ");
mysql_real_escape_string($_POST['nom_fr']);
mysql_real_escape_string($_POST['nom_en']);
$add=mysql_db_query($db,"INSERT INTO cat (nom_fr,nom_en) VALUES ('".$_POST['nom_fr']."','".$_POST['nom_en']."') ");
mysql_real_escape_string($_POST['nom_fr']);
mysql_real_escape_string($_POST['nom_en']);