Supprimer de ma base avec php
Résolu
Sihemnecib
Messages postés
15
Statut
Membre
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis une débutante en PHP et j'ai fait une page contient un bouton supprimer qui permet a un administrateur de supprimer un compte d'un utilisateur (client) voilà mon code
Merc de me aider c urgent svp
Je suis une débutante en PHP et j'ai fait une page contient un bouton supprimer qui permet a un administrateur de supprimer un compte d'un utilisateur (client) voilà mon code
<? php
include'ConnexionMySql.php';
$requet=mysql_query("SELECT * FROM patient WHERE nom_patient ='".$nom) or die(mysql_error());
if(isset($_POST ['delete'])
) { //pour verifier les info sont inserer ou s'il ne sont pas vide
$nom = $_POST['nom'];
$sql="DELETE FROM test WHERE nom_patient='$nom' " ;
mysql_query($sql) ;
echo"<html> <font color=green> <center> [ Mr/Mme: $nom ] a été supprimer avec succée !!! </center> </font> <html>";
//on ferme la connexion a la base
}
else{
die('<html> <font color=red>Erreur SQL, Les champs sont peut etre vide! <br /> </font></html>'.mysql_error()); // rammemne l'erreurr
}
?>
<form method="POST" Action="" >
Nom :
<input type="text" name="nom" size="25"placeholder="Le nom a supprimer ici" required />
<input type="submit" name="Delete" value="Supprimer" />
<input type="reset" name="Annuler" />
</form>
Merc de me aider c urgent svp
A voir également:
- Supprimer de ma base avec php
- Supprimer rond bleu whatsapp - Guide
- Impossible de supprimer une page word - Guide
- Impossible de supprimer un fichier - Guide
- Supprimer pub youtube - Accueil - Streaming
- Supprimer compte instagram - Guide
3 réponses
Alors je n'ai pas testé n'ayant pas eu le temps de créer une base de donné mais voilà comment je procèderai (à tester j'ai corrigé à la va-vite)
Contenu de connexionmysl
Votre fichier :
PHP
HTML
Encore une fois c'est baclé mais je suis prêt à revoir après que vous ayez testé ;)
Contenu de connexionmysl
$dbuser = "root";
$dbpassword = "";
$dbname = "donees";
$dbhost = "localhost";
//Connection
$mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname);
if (mysqli_connect_error()) {
printf("Connection à la base de donnée impossible: ", mysqli_connect_error());
exit();
}
Votre fichier :
PHP
if (isset($_POST ['delete'])) { //pour verifier les info sont inserer ou s'il ne sont pas vide
$nom = $_POST['nom'];
$sql = "DELETE FROM patient WHERE nom_patient=$nom";
mysql_query($mysqli, $sql);
echo"<html> <font color=green> <center> [ Mr/Mme: $nom ] a été supprimer avec succée !!! </center> </font> <html>";
//on ferme la connexion a la base
} else {
echo '<html> <font color=red>Erreur Les champs sont peut etre vide! <br /> </font></html>'; // rammemne l'erreurr
}
?>
HTML
<!DOCTYPE html>
<html>
<body>
<form method="POST" Action="" >
Nom :
<input type="text" name="nom" size="25"placeholder="Le nom a supprimer ici" required />
<input type="submit" name="Delete" value="Supprimer" />
<input type="reset" name="Annuler" />
</form>
</body>
</html>
Encore une fois c'est baclé mais je suis prêt à revoir après que vous ayez testé ;)
Quelle est la question ?
l'urgence est pour toi, pas pour nous, nous sommes des bénévoles avec une vie à s'occuper.
l'urgence est pour toi, pas pour nous, nous sommes des bénévoles avec une vie à s'occuper.
Voici la solution final résolvant les problèmes d'éxécutions pour ceux qui passerais pas là ! Problème résolu en accompagnement par message privé !
<?php
$dbuser = "root"; //a changer avec nom d'utilisateur base de donnée
$dbpassword = ""; // mot de passe du nom d'utilisateur
$dbname = "test"; //le nom de la table
$dbhost = "localhost"; //le serveur mysql localhost = par défaut en local
//Connection
$mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname); //Se connecte à la db
if (mysqli_connect_error()) { // renvoie un message d'erreur
printf("Connection à la base de donnée impossible: ", mysqli_connect_error());
exit();
}
$alert = ''; // on s'en sert pour faire apparaitre les messages d'erreurs
if (isset($_POST ['delete'])) { //pour verifier les info sont inserer ou s'il ne sont pas vide
$nom = isset($_POST['nom']) ? $_POST['nom'] : NULL;
$verif_if_exist = "SELECT * FROM patient WHERE nom_patient ='$nom'"; //verifie l'existance
$verification = mysqli_query($mysqli, $verif_if_exist); //connection db pour vérifier
if (mysqli_num_rows($verification) == 1) //verifie qu'il n'y a bien qu'une personne qui porte ce nom
{
$sql = "DELETE FROM patient WHERE nom_patient='$nom'";
if(!mysqli_query($mysqli, $sql) ) {
echo "Erreur : ".mysqli_error($mysqli);
}
$alert = '<font color=green> <center> [ Mr/Mme: $nom ] a été supprimer avec succée !!! </center> </font>';
} elseif (mysqli_num_rows($verification) > 1) { //Message d'erreur si plus d'une personne
$alert = '<font color=red>Erreur plusieurs personnes portent ce nom! <br /> </font>'; // rammemne l'erreurr
} elseif (mysqli_num_rows($verification) < 1) { //message d'erreur s'il n'y a personne
$alert = '<font color=red>Erreur Le nom est introuvable ! <br /> </font>';
} else { //champs vide +code inutile puisque tu met required dans le formulaire
$alert = '<font color=red>Erreur Les champs sont vide ! <br /> </font>';
}
}
?>
<!DOCTYPE html>
<html>
<body>
<?php // ici on affichera nos messages d'erreurs
if ($alert) {
echo $alert;
}
?>
<form method="POST" Action="" >
Nom :
<input type="text" name="nom" size="25"placeholder="Le nom a supprimer ici" required />
<input type="submit" name="delete" value="Supprimer" /> <!-- Attention à ne pas mettre "Delete" au lieu de "delete" sinon rien ne marche -->
<input type="reset" name="Annuler" />
</form>
</body>
</html>
Attention ligne 6 .. tu as mis mysql_query .. alors que tu as utilisé l'extension mysqli dans la connexion.
Ensuite, dans la requête
Si la variable $nom est de type string .. il faut la mettre entre quotes.
Il faut également penser à mettre du débug en cas d'erreurs dans les requêtes par exemple :
if(!mysqli_query($mysqli, $sql) ) { echo "Erreur : ".mysqli_error($mysqli); }et enfin... il est préférable de récupérer "proprement" les variables AVANT de les utiliser.
<?php $dbuser = "root"; $dbpassword = ""; $dbname = ""; $dbhost = "localhost"; //Connection $mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname); if (mysqli_connect_error()) { printf("Connection à la base de donnée impossible: ", mysqli_connect_error()); exit(); } $alert = ''; if (isset($_POST ['delete'])) { //pour verifier les info sont inserer ou s'il ne sont pas vide $nom = isset($_POST['nom']) ? $_POST['nom'] : NULL; $verif_if_exist = "SELECT * FROM patient WHERE nom_patient =$nom"; $verification = mysqli_query($mysqli, $verif_if_exist); if (mysqli_num_rows($verification) === 1) //verifie qu'il n'y a bien qu'une personne qui porte ce nom { $sql = "DELETE FROM patient WHERE nom_patient='$nom'"; if(!mysqli_query($mysqli, $sql) ) { echo "Erreur : ".mysqli_error($mysqli); } $alert = '<font color=green> <center> [ Mr/Mme: $nom ] a été supprimer avec succée !!! </center> </font>'; } elseif (mysqli_num_rows($verification) > 1) { $alert = '<font color=red>Erreur plusieurs personnes portent ce nom! <br /> </font>'; // rammemne l'erreurr } elseif (mysqli_num_rows($verification) < 1) { $alert = '<font color=red>Erreur Le nom est introuvable ! <br /> </font>'; } else { $alert = '<font color=red>Erreur Les champs sont vide ! <br /> </font>'; } } ?> <!DOCTYPE html> <html> <body> <?php if ($alert) { echo $alert; } ?> <form method="POST" Action="" > Nom : <input type="text" name="nom" size="25"placeholder="Le nom a supprimer ici" required /> <input type="submit" name="delete" value="Supprimer" /> <input type="reset" name="Annuler" /> </form> </body> </html>