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

Résolu/Fermé
0ddlyoko Messages postés 54 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 6 janvier 2016 - 24 août 2014 à 22:46
0ddlyoko Messages postés 54 Date d'inscription dimanche 24 août 2014 Statut Membre Dernière intervention 6 janvier 2016 - 25 août 2014 à 19:20
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
24 août 2014 à 22:50
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 dimanche 24 août 2014 Statut Membre Dernière intervention 6 janvier 2016 3
24 août 2014 à 23:14
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 dimanche 24 août 2014 Statut Membre Dernière intervention 6 janvier 2016 3
25 août 2014 à 12:31
non toujours pas alors pas d'autre personne pour m'aider svp?
0
Utilisateur anonyme
25 août 2014 à 14:01
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 dimanche 24 août 2014 Statut Membre Dernière intervention 6 janvier 2016 3
25 août 2014 à 19:20
ok merci beaucoup :D
0