8768 sujets

Développement web côté serveur, CMS

Bonsoir / bonjour,

Je viens vers vous car j'ai un soucie avec mon formulaire d'édition de membre.

Alors voila je suis entrain de créer un mini CMS et en ce moment je suis sur la gestion des membres, les formulaires d'inscription son fonctionnel tous fonctionne bien pour le moment seul bémol :

J'ai une table users avec = `id`, `username`, `password`, `date`, `email`, `token`, `niveau`

description de la table :

id et un int, username et password un varchar 255, date un tymestamp, email varchar 255, token un varchar 255, et niveau un int 1 défini sur 0 qui doit contenir les niveau des membres si il sont user ou admin etc... dans le input niveau il ne doit contenir que 1 chiffre de 1 à 9.


Ce que je voudrai effectuer c'est une modification via l'administration des champs = username, password, niveau

via un formulaire dans un fichier séparé, alors j'appuis sur le bouton édité je suis bien rediriger vers le form avec les champs pré-rempli mai je ne comprend pas trop il m'affiche un message de réussite mai dans la BDD ce n'est pas le cas.

Tous mes autre formulaires fonctionne voici la page qui me pose problème et je ne vois pas l'erreur, tous est déjà inclut dans des fichiers séparé que j'appel ensuite si besoin - session Auth, db connect, webroot etc...

Pour info j'utilise WAMP

Voilà j'espère avoir étais précis dans ma demande en vous remerciant bonne soiré !!


include '../lib/includes.php';
if(isset($_GET['id']) && isset($_POST['username']) && isset($_POST['password']) && isset($_POST['niveau'])){
			checkCsrf();
			$username = $db->quote(addslashes($_POST['username']));
			$password = sha1($_POST['password']);
			$niveau = $db->quote($_POST['niveau']);
			$token = sha1(uniqid(rand()));
            $id = $db->quote($_GET['id']);
            $db->query("UPDATE users SET username=$username, password=$password, token=$token, niveau=$niveau WHERE id=$id");
				/* var_dump($_POST); die(); */
				setFlash('L\'utilisateur a bien étais modifier !');
				header('Location:index.php');
				die();
		} 
if(isset($_GET['id'])){
    $id = $db->quote($_GET['id']);
    $select = $db->query("SELECT * FROM users WHERE id=$id");
    if($select->rowCount() == 0){
        setFlash("Il n'y a pas d'utilisateurs avec cet ID", 'danger');
        header('Location:users_edit.php');
        die();
    }
    $_POST = $select->fetch();
}
include('header-admin.php');


Voici mon formulaire rien de bien sorcier les champs son déjà créer dans un autre fichier je fait juste un appel quand j'en ai besoin :


	<form method="post" action="#">
		<div class="form-group validate">
			<label for="username">Pseudo</label>
			<?= input('username'); ?>
		</div>
		<div class="form-group validate">
			<label for="password">Password</label>	
			<?= input('password'); ?>
		</div>
		<div class="form-group validate">
			<label for="niveau">Niveau</label>	
			<?= input('niveau'); ?>
			<span>Entré des chiffre de 0 a 9 -> 0 étant le visiteur et 9 le super admin</span>
		</div>
		<?= csrfInput(); ?>
        <button type="submit" class="btn btn-warning">Envoyer</button>
		<a href="index.php#cat" class="btn btn-default">Anulée</a>
    </form>
Philigane a écrit :
Ta base de donnée est hébergée ou elle est en local ?


Oui c'est bien cela je suis sous wamp comme préciser l'objet pdo et présent et activer etc...