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 :

transmission de paramettre via url ?


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut transmission de paramettre via url ?
    voici mon code
    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
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    <?
    include("../inc/config.php");
    include("../inc/fonctions.php");
     
    $req = mysql_query("SELECT id, pseudo, etat, mail, date_naissance, fonctions, localisation, avatar FROM users WHERE id=\"".$_GET["id"]."\"");
    if (mysql_num_rows($req)==0)
    {
      echo("SELECT id, pseudo, etat, mail, date_naissance, fonctions, localisation, avatar FROM users WHERE id=\"".$_GET["id"]."\"<br>Erreur !");
      exit();
    }
     
    if (isset($_GET["send"]))
    {
      $ad_pseudo = htmlentities(addslashes(Return_POST($_POST['pseudo'])));
      $ad_etat = Return_POST($_POST['etat']);
      $ad_mail  = htmlentities(addslashes(Return_POST($_POST['mail'])));
      $ad_date_naissance  = htmlentities(addslashes(Return_POST($_POST['date_naissance'])));
      $ad_fonctions  = htmlentities(addslashes(Return_POST($_POST['fonctions'])));
      $ad_ville  = htmlentities(addslashes(Return_POST($_POST['ville'])));
      $ad_departement  = htmlentities(addslashes(Return_POST($_POST['departement'])));
      $ad_pays  = htmlentities(addslashes(Return_POST($_POST['pays'])));
      $ad_avatar = htmlentities(addslashes(Return_POST($_POST['avatar'])));
     
      $ad_localisation = "".$ad_ville." - ".$ad_departement." - ".$ad_pays."";
     
      $req = mysql_query("UPDATE users SET pseudo =\"$ad_pseudo\", etat=\"$ad_etat\", mail=\"$ad_mail\", date_naissance=\"$ad_date_naissance\", fonctions=\"$ad_fonctions\", localisation=\"$ad_localisation\", avatar=\"$ad_avatar\" WHERE id=\"".$_GET["id"]."\"") or die(mysql_error());
     
      header("location: modifier.php?msg=Insertion+effectué+avec+succès");
      exit();
    }
    else
    {
    	list($_GET["id"], $_POST["pseudo"], $_POST["etat"], $_POST["mail"], $_POST["date_naissance"], $_POST["fonctions"], $localisation, $_POST["avatar"]) = mysql_fetch_row($req);
    	$tab = explode(" - ",$localisation);
    	$_POST["ville"] = $tab[0];
    	$_POST["departement"] = $tab[1];
    	$_POST["pays"] = $tab[2];
    }
    ?>
    <html>
    <head>
    <title>Ajout d'un Utilisateur</title>
    <link href="../inc/style.css" rel="stylesheet" type="text/css">
    </head>
    <body bgcolor="#EBF1F1">
    <?
    if (isset($_GET["msg"]))
    {
    $msg = str_replace("+"," ",$_GET["msg"]);
    $msg = stripslashes($msg);
    echo("<div align=center class=msg>$msg<br><br><input onclick=parent.window.close() type=button value=Fermer></div>");
    }
    ?>
    <form action="modifier.php?id=<? echo($_GET["id"]); ?>&send=ok" method="post">
      <input type="hidden" name="action" value="send">
      <? echo $_GET["id"];?>
    <table width="600" border="0" align="center" cellpadding="0" cellspacing="0" class="champs">
        <tr> 
          <td height="30">Statut :</td>
          <td><select name="etat" id="etat" <? if($_SESSION['etat'] != 1) echo("disabled"); ?>>
              <option value="0" <?php if(!isset($_POST["etat"])) $_POST["etat"]= "0"; if ($_POST["etat"] == "0") echo("selected"); ?>>Membres</option>
              <option value="1" <?php if ($_POST["etat"] == "1") echo("selected"); ?>>Admin</option>
            </select> </td>
        </tr>
        <tr> 
          <td height="30">Pseudo :</td>
          <td><input type="text" name="pseudo" value="<?php echo($_POST["pseudo"]); ?>" size="45" <? if($_SESSION['etat'] != 1) echo("disabled"); ?>></td>
        </tr>
        <tr> 
          <td height="30">Avatar :</td>
          <td><input type="text" name="avatar" value="<?php if(isset($_POST["avatar"])) echo($_POST["avatar"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">Mail :</td>
          <td><input type="text" name="mail" value="<?php if(isset($_POST["mail"])) echo($_POST["mail"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">Date de naissance :</td>
          <td><input type="text" name="date_naissance" value="<?php if(isset($_POST["date_naissance"])) echo($_POST["date_naissance"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">Fonctions :</td>
          <td><input type="text" name="fonctions" value="<?php if(isset($_POST["fonctions"])) echo($_POST["fonctions"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">Ville :</td>
          <td><input type="text" name="ville" value="<?php if(isset($_POST["ville"])) echo($_POST["ville"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">D&eacute;partement :</td>
          <td><input type="text" name="departement" value="<?php if(isset($_POST["departement"])) echo($_POST["departement"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td height="30">Pays :</td>
          <td><input type="text" name="pays" value="<?php if(isset($_POST["pays"])) echo($_POST["pays"]); ?>" size="45"></td>
        </tr>
        <tr> 
          <td colspan="2"> <p>&nbsp;</p>
            <center>
              <input type="submit" value="Modifier">
            </center></td>
        </tr>
      </table>
    </form>
    </body>
    </html>
    mon pb est tres simple
    on ouvre cette page par une url du type modifier.php?id=1 par exemple
    la on a un formulaire qui est plus ou moins remplis ... mais correct

    je le modifie je l'envoie mais on ne revoie pas l'id via l'url (pourtant l'id est bien transmis lors ed l'ouverture de la page

    un echo de la requete donne
    SELECT id, pseudo, etat, mail, date_naissance, fonctions, localisation, avatar FROM users WHERE id=""
    Erreur !
    et pourtant chose tres bizard la modification est bel est bien effectué

    ça fait une heure que je teste plein de truc et ça fonctionne tjrs pas

    merci de m'aider

  2. #2
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    fait un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<pre>";
    print_r($_GET);
    echo "</pre>";
    et tu sauras ce que contient la superglobale...

  3. #3
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    Array
    (
    [id] => 1
    )

    puis

    Array
    (
    )
    mais pk je le retransmet bien pourtant le parametre et surtt ça me fait ma mise a jour en table

  4. #4
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    bon si j'ai bien compris ce code est celui de la page modifier.php donc en fait tu l'affiches une première fois, tout va bien, puis quand tu fais "modifier" cela fait l'update et t'affiche la requete sans le "id"

    normal...

    puisque quand tu modifies tu envoies send=ok donc ça passe dans la condition if(isset($_GET['send']) donc l'update qui suit est effectué. puis arrive la redirection sans la paramètre id vers la meme page, donc a l'affichage le parametre n'existe pas

  5. #5
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    non pas normal puis que je recupere l'id en base ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    else{ list($_GET["id"],...
    j'utilise cette technique sur bien d'autres pages et elles fonctionnent parfaitement y'a que sur cette page que ça bug méchement

  6. #6
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839
    Par défaut
    lorsque tu cliques sur "modifier" tu envoies bien le formulaire :
    <form action="modifier.php?id=<? echo($_GET["id"]); ?>&send=ok" method="post">
    celui-ci impose le passage dans ton update puis une redirection :
    header("location: modifier.php?msg=Insertion+effectué+avec+succès");
    tu remarques que cette redirection n'a pas le paramètre "id"...

    donc mets toi a la place de ton code...
    tu démarre du haut de la page , tu n'a pas le paramètre "id" donc ta première requête ne passe pas, donc tu affiches la requête suivi de "Erreur !" et plus rien puisque "exit()"

    ;-)

  7. #7
    Membre régulier Avatar de dark_vidor
    Homme Profil pro
    Élève
    Inscrit en
    Janvier 2005
    Messages
    321
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Élève

    Informations forums :
    Inscription : Janvier 2005
    Messages : 321
    Points : 118
    Points
    118
    Par défaut
    fallais la trouver celle la

    merci

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 29/12/2013, 20h46
  2. Réponses: 1
    Dernier message: 09/02/2006, 22h35
  3. Réponses: 1
    Dernier message: 31/10/2005, 09h33
  4. Réponses: 4
    Dernier message: 04/09/2005, 23h57
  5. [langage]Récupération parametre via URL
    Par Fabouney dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2005, 14h03

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