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

PHP & Base de données Discussion :

PHP procédural à l'ancienne ;)


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Par défaut PHP procédural à l'ancienne ;)
    Bonjour ami(e)s développeurs ou pas

    J'ai un petit soucis au niveau PHP concernant la vérification des value de mets inputs.
    Explication => Je génère des boutons via ma base de données avec un pipe (|) comme séparateur (toto|titi|tata|etc).

    Après après ma requête j’explose le tout ce qui donne toto|1 tata|2 etc... =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $menu =array(); $menu =explode("|",$nomchamptable[8]);
    for ($iii=0;$iii<count($menu);$iii++)
    {ecHo '<td> <button type="submit"  name="bouton" value="'.$menu[$iii].'|'.$iii.'">'.$menu[$iii].'</button></td>';}
    Dans un autre fichier PHP je sépare le tout
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $v=strip_tags((substr(($_REQUEST['bouton']),0,-2)));
    $test=array();
    $test = explode("|", ($_REQUEST['bouton']));
    Et je vérifie dans un autre fichier php si ma var $test est bien égal à un numéro
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($test[1] < 0 || $test[1] > 5 )
    	{
    		header('Location: index.php');       
    	}
    Mais question est toute simple comment vérifier la valeur de $v qui doit correspondre à titi ou tata etc si jamais un utilisateur modifie la value de mets boutons.
    Jusqu’à présent pas de soucis pour la var $test qui redirige bien vers mon index si la modification après le | est autre qu'un chiffre.
    Mais pas pour l'autre qui me génère de belles erreurs PHP ( impossible d'identifier la var $v si je la modifier via F12 ) ou encore si jamais on on rentre carrément autre chose que titi|1 (exemple blalball14546456) cela me renvoie de l'orange

    Bien évidemment en faisait cela pas de soucis en amont ! Mais c'est une vérification en DUR et je ne souhaite pas cela !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(!isset($_REQUEST['bouton']) || ($_REQUEST['bouton'] == "titi|1" ETC.....)
    Mais mon but est de modifier directement la value des input depuis mon backoffice via ma base de données sans toucher au code !!!!

    Merci de m'éclairer

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Un code procédural, ce n'est pas un problème.
    Par contre, utilise foreach() et enlève tes $i, $ii, $iii et $iiii ou $iv.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $menu = explode("|",$nomchamptable[8]);
    foreach ($menu as $key=>$value) {
       echo '<td><button type="submit"  name="bouton" value="'.$bouton.'|'.$value.'">' . $value . '</button></td>';
    }
    Sinon, pour la vérification, a quoi sert le numéro que tu t'embêtes a transmettre et que tu veux vérifier ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre habitué
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Par défaut
    Of course vue que je déclare un tableau avant les vieilles habitudes^^
    Alors oui les numéro me servent à inclure des fichiers PHP après les vérifications avec des cases.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     switch ($test[1]) 
    	    {
    	    	case 2:
    	    		include_once("exemple.php");
    	    		break;
                     case 3:
    	    		 include_once("exemple2.php");
    	    		break;	etc......

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Et du coup tu as des menus autorisés/interdits selon les utilisateurs ?

    Parce qu'actuellement ta redirection vient de la position du menu dans la chaine tata|titi|toto donc je ne vois pas bien comment tu différencies les droits.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre habitué
    Homme Profil pro
    Webplanneur
    Inscrit en
    Septembre 2014
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Webplanneur
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2014
    Messages : 9
    Par défaut
    A non pas du tout , si la valeur est bien la bonne j'inclue le fichier php suivant le case,
    Si tu veux tout fonctionne mais avec les vérifications faîtes en dur, mais je veux pas cela,
    je voudrais vérifier la valeur de la var $v qui dois me donner titi ou tata ou toto

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Si j'ai bien suivi tu veux seulement que l'information "le menu titi renvoi vers la page_zouzou.php" soit stockée dans la base de données ?

    Pour cela, revient déjà à une structure plus conventionnelle

    table_menu
    menu_id, menu_libelle, menu_url
    12, Toto, unepage.php

    Ensuite la seule information que tu as besoin d'envoyer c'est l'id, le "toto" actuelle que tu transportes, decoupes, recolles, ne te sert pas.

    A l'arrivée tu n'as plus qu'a relire dans la base de données que l'id 12 renvoi vers unepage.php.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Expert confirmé

    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2010
    Messages : 5 418
    Par défaut
    Salut,

    Sans rapport direct avec le sujet, le procédural "à l'ancienne" fonctionnera toujours, par contre il y a des fonctions anciennes qui sont obsolètes et seront totalement supprimées de php7 (déjà sorti). Je pense en particulier à l'extension mysql.
    Je dis cela au cas où pour faire du procédural "à l'ancienne", tu prendrais également des exemples trop anciens où l'on voyait des "mysql_query" à ne surtout plus utiliser aujourd'hui

Discussions similaires

  1. [MySQL] Erreur dernier id à récupérer (PHP procédural)
    Par Fredodo77 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 25/11/2014, 23h55
  2. Php Procédural ou Objet ?
    Par Stéph utilisateur d'acces dans le forum Débuter
    Réponses: 5
    Dernier message: 07/08/2011, 21h26
  3. PHP : Procédure stockée
    Par Sylra dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 16/06/2011, 14h05
  4. Best Practice PHP Procédural
    Par tentos dans le forum Langage
    Réponses: 2
    Dernier message: 19/06/2009, 18h11
  5. Réponses: 2
    Dernier message: 01/10/2007, 08h38

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