Problème de suppréssion d'une donnée

Résolu
0ddlyoko Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -  
0ddlyoko Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,je m'appelle 0ddlyoko et j'ai un petit problème.
Depuis peu,je suis en train d'apprendre comment créer des sites webs en php/mysql.
J'ai déjà commencer à écrire ça:
<?php
session_start();
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="style.css" />
<title>Sky-five</title>
</head>

<body>
<div id="bloc_page">
<?php include("all/entete.php"); ?>
<?php
if (isset($_POST['prenom']) AND (isset($_POST['nom'])))
{
?>
<?php
$_POST['prenom'] = htmlspecialchars($_POST['prenom']);
$_POST['nom'] = htmlspecialchars($_POST['nom']);
setcookie('prenom', $_POST['prenom'], time() + 365*24*3600, null, null, false, true);
setcookie('nom', $_POST['nom'], time() + 365*24*3600, null, null, false, true);
header('Location: index.php');
?>
<?php
}
elseif (isset($_POST['valider']))
{
setcookie('prenom', 'e', time() + 0,null ,null, false, true);
setcookie('nom', 'e', time() + 0,null ,null, false, true);
header('Location: index.php');
}
elseif (isset($_COOKIE['prenom']) AND (isset($_COOKIE['nom'])))
{
?>
<?php
echo 'Salut ' . $_COOKIE['prenom'] . ' ' . $_COOKIE['nom'] . '<br />';
echo 'Ce n\'est pas vous?<br />
<form method="post" action="">
<p>
<input type="submit" value="Cliquez ici" name="valider" />
</p>
</form>
';
?>
<?php
}
else
{
?>
<p>
<form method="post" action="">
<p>
<label>Prénom:</label><input type="text" name="prenom" />
</p>
<p>
<label>Nom:</label><input type="text" name="nom" />
</p>
<input type="submit" value="Envoyer" />
</form>
</p>
<?php
}
?>
<?php
$ip = $_SERVER['REMOTE_ADDR'];
echo 'Voici votre ip: ' . $ip;
?>
<p>Bienvenue sur le site web de <strong>Sky-five</strong>,le serveur à five étoile.</p>
<p>
<form method="post" action="">
<p>
<label>Pseudo:</label><input type="text" name="pseudo" />
</p>
<input type="submit" value="Envoyer" />
</form>
</p>
<?php
if(isset($_POST['pseudo']))
{
$_POST['pseudo'] = htmlspecialchars($_POST['pseudo']);
$req = $bdd->prepare('INSERT INTO pseudo(id, Pseudo) VALUES(\'\', :pseudo)');
$req->execute(array(
'pseudo' => $_POST['pseudo']
));
echo 'Le pseudo ' . $_POST['pseudo'] . ' a bien été ajouté';
header('Location: index.php');
}
?>
<?php
if(isset($_POST['supprimer_pseudo']))
{
$req = $bdd->prepare('DELETE FROM pseudo WHERE Pseudo= :suppr_pseudo');
$req->execute(array(
'suppr_pseudo' => $_POST['Pseudo']
));
header('Location: index.php');
}
?>
<?php
$reponse = $bdd->query('SELECT * FROM pseudo ORDER BY pseudo');
while ($donnees = $reponse->fetch())
{
?>
<p>
<form method="post" action="">
<strong>Pseudo</strong> : <?php echo $donnees['Pseudo']; ?>
<input type="submit" value="Cliquez ici pour supprimer le message" name="supprimer_pseudo" /><br />
</form>
</p>
<?php
}
$reponse->closeCursor();
?>
<?php
$monfichier = fopen('compteur.txt', 'r+');
$pages_vues = fgets($monfichier);
$pages_vues++;
fseek($monfichier, 0);
fputs($monfichier, $pages_vues);
fclose($monfichier);
echo 'Il y a eu exactement ' . $pages_vues . ' personnes qui ont déjà visité ce site web!!!!<br />
Merci à tous et à toutes!!!!<br />';
?>
<?php include("all/pied.php"); ?>
</div>
</body>
</html>
(seulement pour ceux qui comprennent)
J'ai également créé une base de donnée(mySQL) avec une table "pseudo" .
(Voici le site en question: https://prnt.sc/4g33tb )
C'est seulement pour m'exercer ce petit site.
Mais le problème c'est quand je clique sur "Cliquez ici pour supprimer le message" , le message ne se supprime pas.Je sais pourquoi il ne se supprime pas:Je n'arrive pas a sélectionner le pseudo pour pouvoir le supprimer.Alors voici ma question: comment sélectionner le pseudo pour pouvoir le supprimer?
Merci
A voir également:

2 réponses

Utilisateur anonyme
 
Bonjour

Je n'ai pas tout lu en détail, mais tu as déjà un problème ici :
$req->execute(array( 'suppr_pseudo' => $_POST['Pseudo'] ));

Car le champ dans ton formulaire s'appelle 'pseudo' et non pas 'Pseudo'
0
0ddlyoko Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   3
 
A ok merci je verrai demain si c'est à cause de ça car maintenant je ne peux pas mais alors ça ira? Ou il y aura encore ce problème?
0
0ddlyoko Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   3
 
non toujours pas alors pas d'autre personne pour m'aider svp?
0
Utilisateur anonyme
 
Je vois mieux ton problème.
Il n'y a rien dans ton formulaire de suppression pour indiquer qui tu veux supprimer. Aucun autre champ que le bouton submit.
Il faut que tu ajoutes autre chose, par exemple le pseudo en champ caché, pour pouvoir le traiter.
Mais attention, n'appelle pas ce nouveau champ pseudo, sinon tu feras une nouvelle inscription à cause de ton
if(isset($_POST['pseudo'])) 
. Du coup, je reviens en arrière par rapport à mon premier post, je suggère de l'appeler Pseudo

<form method="post" action=""> 
<strong>Pseudo</strong> : <?php echo $donnees['Pseudo']; ?>
<input type="hidden" name = "Pseudo" value="<?php echo $donnees['Pseudo']; ?>" />
<input type="submit" value="Cliquez ici pour supprimer le message" name="supprimer_pseudo" /><br /> 
</form> 

Remets bien Pseudo dans la requête d'effacement.
0
0ddlyoko Messages postés 54 Date d'inscription   Statut Membre Dernière intervention   3
 
ok merci beaucoup :D
0