IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Traitement de formulaire (bdd,redirection..)


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut Traitement de formulaire (bdd,redirection..)
    Bonsoir à tous ,

    Je suis actuellement entre un de suivre un tuto pour faire un portfolio jusqu'a maintenant je n'aie pas rencontré vraiment de probléme à part de petite broutille mais là je suis totalement bloqué sa fait une heure que je cherche d'ou vient le probléme mais je n'arrive pas à le résoudre .

    Le code ci-dessous est un formulaire pour éditer une catégorie mais lorsque que je rentre les informations rien ne se passe , les messages d'avertissements si c'est bon ou pas ne s'affiche pas , la redirection n'est pas faites et rien n'est stocké dans la base de donnée pourtant la communication avec la base de donnée se fait bien puisque si j'edite à partir de la base celà fonctionne parfaitement et pareil pour le login sa fonctionne.

    Si quelqu'un pourrait m'aider à résoudre ce probléme car la je suis totalement bloqué , Merci d'avance pour vos réponses.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    <?php 
    include '../lib/includes.php';
     
    if(isset($_POST['name']) && isset($_POST['slug'])){
    	$slug = $_POST['slug'];
    	if(preg_match('/^[a-z\-0-9]+$/', $slug)){
    		$name = $db->quote($_POST['name']);
    		$slug = $db->quote($_POST['slug']);
    		$db->query("INSERT INTO categories SET name=$name , slug=$slug");
    		setFlash('la catégorie a bien été ajoutée');
    		header('Location:category.php');
     
    		}else{
    		setFlash('le slug n\'est pas valide','danger');
    		}
    	}
     
    }
     
    include '../partials/admin_header.php';
    ?>
     
    <h1>Editer une categorie</h1>
     
    <form action="#" method="post">
    	<div class="form-grou">
    		<label for="name">Nom de la categorie</label>
    		<?php echo input('name')?>
    	</div>
    	<div class="form-group">
    		<label ="slug">URL de la categorie</label>
    		<?php echo input('slug'); ?>
    	</div>
    	<button type="submit" class="btn btn-default">Enregistrer</button>
    </form>
     
    <?php include '../partials/footer.php';?>
    Nom : Capture.PNG
Affichages : 208
Taille : 89,5 Ko

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 234
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 234
    Points : 15 531
    Points
    15 531
    Par défaut
    au début du script, affiche le contenu de $_POST pour vérifier que tu récupères bien les valeurs que tu attendais
    et ensuite si c'est bon, fait la même chose avec les variables qui suivent

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    Aprés la saisie voila ce qui me met en parametre ce qui est totalement faux puisque je devrai name="lenom"&slug="leslug" d'ou le probléme que rien ne marche

    et là je sais pas du tout pourquoi y me fout username et username ... car je suis novice en la matiére ,Je vais regarder ça demain mais si quelqu'un a une idée ou y'a une boulette je suis preneur ^^

    localhost/sites/LAB/Portfolio/admin/category_edit.php?username=seb&username=test#


    Merci

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    J'ai bien username pourla partie login mais là je vois pas pourquoi y me fais ca

    Nom : Capture2.PNG
Affichages : 201
Taille : 80,4 Ko

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    J'ai fais un test simple et toujours pareil . Pensez-vous que le probléme peut venir du copier coller d'une autre pages car je comprends toujours pas pourquoi y me fout username en parametre alors que y'a pas d' username dans mon code...

    Nom : vardump.PNG
Affichages : 192
Taille : 5,3 Ko
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
     
    include '../lib/includes.php';
     
    $select= $db -> query('Select name FROM categories');
    $categories = $select -> fetchAll();
     
     var_dump($categories);
     
    if(isset($_POST['name'])== $categories){
      echo("hello");
    }
    ?>
     
    <form action ="#" >
        <div class="form-group">
       	 <label for="name">categories</label>
       	 <?php echo input('name');?>
        </div>
    </form>
     
    <?php include '../partials/footer.php';?>

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="#" method="post">
    La destination de ton formulaire, c'est une ancre vide, c'est-à-dire concrètement le haut de la page. Il ne se passe donc rien à la validation si ce n'est de remonter la page, en tout cas, aucun aller-retour vers le serveur et donc aucun traitement possible en PHP.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    D'accord mais j'ai cette page suivante pour le login qui est assez similaire et celà fonctionne donc c'est assez bizarre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    <?php
     $auth=0;
    include 'lib/includes.php';
     
     
    /* Traiment du formulaire*/
     
    if(isset($_POST['username']) && isset($_POST['password'])){
        $username = $db->quote($_POST['username']);
        $password = sha1($_POST['password']);
        $select=$db->query("SELECT * FROM users WHERE username=$username AND password ='$password'");
        if($select->rowCount()>0)
        {
       	 $_SESSION['Auth'] = $select -> fetch();
       	 setFlash('Vous etes maintenant connecté');
       	 header('Location:'.WEBROOT.'admin/index.php');
       	 die();
        }
    }
    /* INCLUSION DE HEADER*/
    include 'partials/header.php';
    ?>
     
    <form action ="#" method="post">
        <div class="form-group">
       	 <label for="username">Nom d'utilisateur</label>
       	 <?php echo input('username');?>
        </div>
        <div class="form-group">
       	 <label for="password">Password</label>
       	 <input type="password" class="form-control" id="password" name="password">
        </div>
        <button type="submit" class="btn btn-default">Se connecter</button>
    </form>
     
    <?php include 'partials/footer.php';?>

  8. #8
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2012
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2012
    Messages : 189
    Points : 68
    Points
    68
    Par défaut
    C'est bon j'ai résolu mon problème tout fonctionne maintenant , voici la solution:

    Remplacer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo input('username');?>
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo input('slug');?>
    Par:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" class="form-control" id="name" name="name">
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" class="form-control" id="slug" name="slug">
    Merci pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Redirection après traitement de formulaire
    Par lekunfry dans le forum Langage
    Réponses: 6
    Dernier message: 06/06/2010, 11h36
  2. [MySQL] Formulaire et traitement pour inscription bdd
    Par noobspower dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 27/02/2007, 13h31
  3. [SERVLET]Traitement de formulaire paramètres GET et POST
    Par ederf dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 19/05/2006, 13h56
  4. [SGBD] Traitement Données Formulaire Vers BDD Mysql
    Par Thierry8 dans le forum SQL Procédural
    Réponses: 10
    Dernier message: 29/03/2006, 23h22
  5. [C#][2.0] Traitement de Formulaire (Insert / Update)
    Par softflower dans le forum ASP.NET
    Réponses: 7
    Dernier message: 17/02/2006, 13h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo