[RESOLU] probleme "No database selected"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

04 juil. 2016, 09:42

salut,

il faut agrémenter tes messages des messages d'erreurs que tu rencontres c'est plus simple pour que l'on puisse t'aider.
<?php
$idUser=$_GET["idUser"];
$req="delete from USERS where USER_ID=$idUser";
Attention c'est un cas d'injection SQL ! (le plus simple en fait, si ta variable $idUser contient '0 || 1=1' tu vides tout ta table, et ceci n'est qu'un exemple basique de ce qui pourrais être fait ;) )

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 161 Messages

04 juil. 2016, 14:22

voila ce qu'il me renvoit
lorsque j'effectue le var_dump(["idUse"])

Notice: Undefined index: idUse in C:\xampp\htdocs\kantteile\supprimerUsers.php on line 3

Notice: Undefined index: idUse in C:\xampp\htdocs\kantteile\supprimerUsers.php on line 4
NULL
en faisant reference a ce script
supprimerUsers.php
<?php require_once("connection.php")?>
<?php
$idu=$_GET["idUse"];
var_dump($_GET["idUse"]);
$req="delete from users where user_id=idu?";
$dbConnect->query($req) or die(mysql_error());
header("location:GestionUsers.php");

?>

Mammouth du PHP | 1967 Messages

04 juil. 2016, 14:38

Tu va chercher où ce var_dump ?

essaye plutot var_dump($_GET); comme proposé.

sinon pour ton script ci dessous, ta variable $idu est mal renseigné dans ta requète et un ? traine encore
Que donne ce script ?
<?php require_once("connection.php")?>
<?php
$idu=$_GET["idUse"];
var_dump($_GET["idUse"]);
$req="delete from users where user_id=$idu";
$dbConnect->query($req) or die(mysql_error());
header("location:GestionUsers.php");

?>
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

04 juil. 2016, 14:47

j'ai eu deja a essaye les deux possibilite ayant vu la propositon de moogli et le resultat etait le meme c'est a dire
$req="delete from users where user_id=$idu";
et
$req="delete from users where user_id=idu";

Mammouth du PHP | 1967 Messages

04 juil. 2016, 15:07

donne nous le résultat de var_dump($_GET);

le problème vient probablement du faite que les données ne sont pas envoyé avec le bon identifiant. et cet partie du code là nous ne l'avons jamais vu. Où est généré le lien qui te méne à supprimerUser.php ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

04 juil. 2016, 15:32

en voici les codes
addUsers.php
<?php
require_once("connection.php");

$l=$_POST["login"];
$p=$_POST["pass"];

$req = $dbConnect->query("INSERT INTO user(login, pass) VALUES('$benutzer','$passwort')");

?>
<html> 

	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

	</head>

	<body>

		<?php require_once("entete.php"); ?>

		<h3> Ein neuer Benutzer wurden erfolgreich registrieren</h3>


		<a href="index.php">Home</a>

	</body>

</html>
GestionUsers.php
<?php
session_start();

require_once("connection.php");

$req = $dbConnect->query("SELECT user_id,login, pass FROM users");

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
           <head>
               <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
               <title>Management-Users</title>
               <link rel="stylesheet" type="text/css" href="style1.css" />
               <script language="javascript">
                    function confirmation(login){
                         var rep=confirm("Sind sie sicher diesen Bunutzer zu löschen ?");
                         if(rep==true){
                            document.location="supprimerUsers.php?login="+login
                                       }
                    }
               </script>
           </head>
           <body>
<?php require_once("entete.php"); ?>
                <div id="formUsers" align="center">
                   <form method="post" action="addUsers.php">
                      <table>
                           <tr>
                                <td>Login:</td>
                                    <td><input type="text" name="login" required="required"></td>
                                </tr>
                           <tr>
                                <td>passwort:</td>
                                  <td><input type="text" name="pass" rows="3" required="required"></td>
                                </tr>
                           <tr>
                              <td><input type="submit" value="Registrieren" /></td>
                           </tr>
                      </table>
                   </form>
                </div>
                <div id="listeUsers" align="center">
                    <table border="1">
                            <tr>
                                 <th>USERS ID</th><th>LOGIN</th><th>PASSWORT</th>
                            </tr>
<?php while($benutzer = $req->fetch(PDO::FETCH_ASSOC)){?>
                            <tr>
                                 <td><?php echo($benutzer['user_id'])?></td>
                                 <td><?php echo($benutzer['login'])?></td>
								 <td><?php echo($benutzer['pass'])?></td>
                                 <td> 
                                     <a href="javascript:confirmation(<?php echo($benutzer['user_id'])?>)">Löschen</a>                             
                                </td>
                            </tr>
<?php } ?>
                    </table>
               </div>
        </body>
</html>
users.php
<?php

require_once("connection.php");


$req= $dbConnect->query("SELECT user_id, login FROM users");

?>

<table>

	<?php

	while($benutzer=$req->fetch(PDO::FETCH_ASSOC)) { 

	?>

	<tr>

		<td>

			<a href="index.php?idUse=<?php echo($benutzer['user_id'])?><?php echo($benutzer['login'])?>"></a>

		</td>
	</tr>

	<?php

	} 

	?>

</table>

Mammouth du PHP | 1967 Messages

05 juil. 2016, 08:34

le seul endroit ou je vois un appel à supprimerUsers.php, le paramètre est login, normal que idUse soit vide.

soit tu modif!ie l'appel au fichier pour utiliser idUse soit tu modifie ta requète pour supprimer avec le login mais alors il faut être sur qu'il ne peut pas y avoir de login identique. je pencherai pour la première solution, surtout qu'il semble y avoir confusion dans tes variables javascript
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

05 juil. 2016, 08:51

jem'excuse j'ai commi une erreur tout a l'heure lorsque j'effectu le var_dump($_GET) , le code ne me renvoi

Notice: Undefined index: idUse in C:\xampp\htdocs\kantteile\supprimerUsers.php on line 3
array(1) { ["login"]=> string(1) "4" }
Modifié en dernier par Henrigo le 05 juil. 2016, 09:09, modifié 1 fois.

Mammouth du PHP | 1967 Messages

05 juil. 2016, 09:05

Est-ce que ta redirection javascript fonctionne ?
Sur quelle url arrives tu ?
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

05 juil. 2016, 09:12

Salut Spols,
je m'excuse vraiment comme je l'ai deja souligne plus haut
je dirai que c'est correct avec
array(1) { ["login"]=> string(1) "4" }
mais il ya malheureusement l'index idUse donc je ne comprend pas le probleme

Mammouth du PHP | 1967 Messages

05 juil. 2016, 10:38

Tu n'est pas cohérent dans tes différente partie de code,

je pense que si tu modifie ton script javascript comme ceci ce sera plus cohérent
<script language="javascript">
                    function confirmation(idUse){
                         var rep=confirm("Sind sie sicher diesen Bunutzer zu löschen ?");
                         if(rep==true){
                            document.location="supprimerUsers.php?idUse="+idUse
                                       }
                    }
               </script>
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphant du PHP | 161 Messages

05 juil. 2016, 12:36

merci bien de ta proposition, mais malheureusement il ne supprime pas.
le bon message est que plus d'erreur meme dans le error.log

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

05 juil. 2016, 17:25

Bonjour,

Est-ce qu'avec le code de Spols, tu as bien le message de confirmation ?
si tu acceptes la suppression, est-ce que tu es bien redirigé vers la page supprimerUsers.php ?
est-ce que dans l'url qui s'ouvre dans le navigateur tu as bien la valeur attendue pour idUse ?

Si la réponse est oui à toutes ces questions, c'est que ta demande de suppression et ta redirection fonctionnent correctement.
Idem si tu arrives sur GestionUsers.php, c'est que le header() de supprimerUsers.php a bien fonctionné.

Si par contre l'utilisateur n'a pas été supprimé, c'est que tu as encore une erreur dans supprimerUsers.php. Vérifies que tu récupères bien l'id, que ta requête SQL est correcte, qu'elle s'exécute bien... si nécessaire, met en commentaire le header() pour voir les messages d'erreur éventuels sans être redirigé ; tu réactiveras le header() une fois les corrections apportées :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Eléphant du PHP | 161 Messages

06 juil. 2016, 05:58

Salut Ryle,
tres bonne questions je vais aller pas a pas, lorsque je deside de supprimer (löschen) le USER 4 on a cette vu (url)
http://www.bilder-upload.eu/show.php?fi ... 776969.png
lorsque je tape sur Löschen(Supprimer) javascript me demande tres bien sie je suis certain de vouloir le supprimer voir cette image
http://www.bilder-upload.eu/show.php?fi ... 777248.png
lorsque je confirme le suppresion malheureusement ce la ne s'effectu car il vas bien dans supprimerUser.php?IdUse=4 voir l'image
http://www.bilder-upload.eu/show.php?fi ... 777425.png
et reste bloque a ce niveau.
voila en detail comment ca reagit.
contrairement a supprimercategorie lui il fonctionne bien lorsqu'on supprime uen categorie, elle retourne dans Gestioncategorie et la on remarque bien que la categorie a ete supprime.
mais pour User meme en appuyant sur retour on remarque bien que le User n'a pas ete supprime.

Merci d'avance

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

06 juil. 2016, 10:54

Hello !

Ok, donc ton code javascript fonctionne correctement et fait bien appel à supprimerUsers.php avec la variable idUse envoyée en GET et ayant pour valeur 4 (on le voit dans ta dernière copie d'écran). Le problème est donc dans supprimerUsers.php.

Renvoi nous le code de cette page pour voir s'il y a quelque chose qui cloche.

Tu peux aussi essayer d'exécuter la requête suivante directement en base pour voir si l'utilisateur est bien supprimé et qu'il n'y a pas d'erreur dans ta requête sql " delete from users where user_id=4 "
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...