Bzh

  • Nombre de sujets
    62
  • Nombre de messages
    1 503
  • Nombre de commentaires
    24
  • Nombre de news
    Aucune
  • Niveau en PHP
    Débutant

Ses derniers messages sur les forums

Bzh
le 12/08/2005 à 16:05
recupérer les données
Oui, mais si vous ne me mettez pas la ligne 75 je peux pas tellement vous être utile...
Bzh
le 12/08/2005 à 15:50
recupérer les données
Oui, je vois !!!

Tout d' abord il y a deux messages d' erreurs mais bien qu' une seule erreur !!!

La deuxième est généré car header() n' admet aucun affichage avant son éxécution. Or le message d' erreur est affiché. Donc oublions le deuxième messages d' erreur, il disparaitra de lui même.

Dans cette page, nous récupérons la variable $id_produit par la méthode POST ET SEULEMENT après nous la transformons en GET. Donc modifiez le code comme cela:
<?php

$id_produit = mysql_real_escape_string($_POST['idproduit']);

//ligne 39-->
echo '<option value="'.stripslashes($curseur[0]).'" >'.stripslashes($curseur[1]).stripslashes($curseur[2]);

//ligne 75
header("Location page_supprimer.php?idproduit=$id_produit");

?>


Et seulement dans la page 'page_supprimer.php' nous utiliserons le tableau GET pour récupérer notre variable.

J' espère être clair...

Bye et bon courage...
Bzh
le 12/08/2005 à 14:44
recupérer les données
Erreur toute bête !!!

Enfin je ne sais pas tellement ou vous voulez en venir ! Mais, là ce n' est pas grave, juste un souci avec les " et les ' !!! Pensez peut être à revoir le cour la dessu !!!

Voici le code modifié:
<?php
echo '<option value="'.stripslashes($curseur[0]).'" >'.stripslashes($curseur[1]).stripslashes($curseur[2]); ?>
Bzh
le 12/08/2005 à 11:12
recupérer les données
Ha oui !!! Je n' avais pas fait attention à ceci.

Il vous manque quelques fonctions lors de l' affichage de vos variables.

En local, avec easyphp configuré par défaut, les magics_quotes sont à OFF !!! Mais ce n' est pas le cas des hébergeurs, qui par défaut (pour la sécurité) mettent les magics_quotes à ON !!! Pour avoir une bonne portabilité de votre code, il est important de modifier quelques petites choses:
<?php echo "<option value=".$curseur[0].">".$curseur[1]; ?>
modifiez le en
<?php echo "<option value=".stripslashes($curseur[0]).">".stripslashes($curseur[1]); ?>


Ensuite, lors de l' affichage en html, il est important de transformer les caratères spéciaux en entité html !!! Et cela se fait avec la fonction 'htmlentities()' ce qui nous donne
<?php echo "<option value=".stripslashes($curseur[0]).">".htmlentities(stripslashes($curseur[1])); ?>


Et voila, mais il me semble important de respecter cela...

Bye...
Bzh
le 12/08/2005 à 11:00
recupérer les données
L' erreur se trouve dans le fichier 'gestionp2.php' à la ligne 55.

Vous pouvez me montrer un petit bout de code tournant autour des lignes 50 à 60 ???
Bzh
le 11/08/2005 à 17:38
recupérer les données
Oui !!! Mais si vous regardez bien, vous remarquerez que l' on redirige vers les nouvelles pages en insérant une nouvelle variable.

Exemple: header("Location page_modifier.php?idproduit=$id_produit");

On a créé une nouvelle variable qui se nome 'idproduit' et qui est de type GET.

Donc, dans votre nouvelle page, il est important que vous récupériez la valeur de cette variable en utilisant le tableau $_GET[].

Donc '$id_produit = mysql_real_escape_string($_POST['idproduit']);'
va se transformer en '$id_produit = mysql_real_escape_string($_GET['idproduit']);'

J' éspère être clair !!!!

Bye...
Bzh
le 11/08/2005 à 02:04
c++
Je le répète et j' en suis convaincu: il est très important de savoir gérer un fenêtre en C++. C' est à dire seulement avec windows.h. Sinon, ce n' est pas la peine.

Bye...
Bzh
le 11/08/2005 à 02:01
Carte Wifi pour Fedora 4
Je te déconseil tout modem sur port usb !!!

Linux, en général, n' aime pas les ports usb !!! smiley
Bzh
le 11/08/2005 à 01:55
recupérer les données
Oki, je comprends bien !!!

Deux solutions. Une solution qui permet de tout avoir sur la même page, ce qui, parcontre, complique la maintenance même si cela simplifie le site car il comportera moin de fichier. Ou bien, la deuxième solution qui comporte plusieur pages.

Voici la première solution:
<?php
//Très important !!! On teste tout d' abord si les variables $_POST['bouton'] et $_POST['idproduit'] n' existe pas. Si elle n' existe pas on affiche la page des choix
if ( ! isset($_POST['bouton']) and ! isset($_POST['idproduit']))
{
?>


<select name="idproduit">
<?php

// construction de la liste des produits
$rqt = "SELECT idproduit, nomproduit FROM produit ORDER BY nomproduit";
$res = mysql_query($rqt, $connexion);
echo $rqt;
echo $res;


while ($curseur = mysql_fetch_array($res))
echo "<option value=".$curseur[0].">".$curseur[1];
?>
</select></td></tr></table></td>
<td align="center" valign="top"><br><br>
<p><input type="submit" name="bouton" value="Ajouter"></p>
<p><input type="submit" name="bouton" value="Supprimer" ></p>

<p><input type="submit" name="bouton" value="Modifier"></p>
</td></table>
<br>
</fieldset>
<br>
</form>
</td></table>

<?
//Si les variables $_POST['bouton'] et $_POST['idproduit'] existe et bien on choisi l' action à exécuter en fonction de la variable $_POST['bouton'].
}else{


//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['idproduit']);

//On teste pour savoir si on ajoute...
if( $_POST['bouton'] == "Ajouter" ){

//On met ici le code de la page d' ajout

//On teste pour savoir si on supprime
}else if( $_POST['bouton'] == "Supprimer" ){

//On met ici le code de la page de suppression


//On teste pour savoir si on modofie
}else if( $_POST['bouton'] == "Modifier" ){

//On met ici le code de la page de modification

}
}

//Et voila, ce n' est pas plus compliqué que cela !!!
?>


La deuxième solution est de rediriger le navigateur comme tu le faisais. Mais nous on va le faire en PHP !!!!
<?php


//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['idproduit']);

//On teste pour savoir si on ajoute...
if( $_POST['bouton'] == "Ajouter" ){

//On redirige vers la page d' ajout
header("Location page_ajouter.php?idproduit=$id_produit");

//On teste pour savoir si on supprime
}else if( $_POST['bouton'] == "Supprimer" ){

//On redirige vers la page de suppression
header("Location page_supprimer.php?idproduit=$id_produit");


//On teste pour savoir si on modofie
}else if( $_POST['bouton'] == "Modifier" ){

//On redirige vers la page de modification
header("Location page_modifier.php?idproduit=$id_produit");

}
}

//Et voila, ce n' est pas plus compliqué que cela !!!
?>


Ou une troisième solution consiste à inclure dans notre page le code des autres pages:
<?php


//On récupère l' id de notre produit en le protègeant des attaques par injection
$id_produit = mysql_real_escape_string($_POST['idproduit']);

//On teste pour savoir si on ajoute...
if( $_POST['bouton'] == "Ajouter" ){

//On redirige vers la page d' ajout
require("page_ajouter.php");

//On teste pour savoir si on supprime
}else if( $_POST['bouton'] == "Supprimer" ){

//On redirige vers la page de suppression
require("page_supprimer.php");


//On teste pour savoir si on modofie
}else if( $_POST['bouton'] == "Modifier" ){

//On redirige vers la page de modification
require("page_modifier.php");
}
}

//Et voila, ce n' est pas plus compliqué que cela !!!
?>


A toi de choisir la méthode qui te plait le plus.Et il y a surement d' autre solution à ton problème. Mais de toute façon, si tu dois faire des redirections c' est que ton script est mal pensé !!!

Bye et bon courage...
LoadingChargement en cours