Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1654 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Modifier formulaire / php débutant

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Modifier formulaire / php débutant

n°2062281
dupec
Posté le 10-03-2011 à 14:25:27  profilanswer
 

Bonjour,
 
Pour un formulaire de contact, j'ai crée un fichier modification.php que voici:
 
<HTML><HEAD>
<TITLE>modification.php</TITLE>
</HEAD>
<BODY>
 
<?php
 
$connexion = mysql_connect("localhost", "dbcolas", "xxxxxxx" );
 
if (!$connexion)
{
echo "Connexion impossible \n";
exit;
}
 
if (!mysql_select_db("suivi" ))
{
echo "Connexion base impossible\n";
exit;
}  
 
$Id = $_GET['Id'];
 
$requete="SELECT * FROM contact WHERE Id = '$Id'";
$resultat= mysql_query($requete);
while ($row=mysql_fetch_array($resultat))  
{
$Nom = ($row["Nom"]);
$Prenom =($row["Prenom"]);
}
 
?>
 
Name:<INPUT TYPE=TEXT NAME='Nom' VALUE="<?php echo $Nom; ?>" ><BR>
First name:<INPUT TYPE=TEXT NAME='Prenom' VALUE="<?php echo $Prenom; ?>" >
<INPUT TYPE=SUBMIT VALUE='add' NAME='Ajouter' >
// jusque là çà marche
<?
 
if( isset( $_GET['Ajouter'] ) )  
{
$Nom = $_GET['Nom'];  
$Prenom = $_GET['Prenom'];
$req = "UPDATE contact SET Nom='".$Nom."', Prenom='".$Prenom."' WHERE Id='$Id'";
$ok = mysql_query($req) or die ("Pas impossible" );  
// là il y a un soucis
}
 
echo '<a href="contact.php">'; ?>Enregistrer</a></td> //je repars sur ma page contact qui m'affiche la même chose qu'avant
 
</BODY></HTML>
 
 
Ce programme me retrouve bien les éléments déjà saisis dans les champs (premièer partie du code) mais ne me les modifie pas quand je clique sur Ajouter...
 
J'avoue ne pas comprendre pourquoi...  

mood
Publicité
Posté le 10-03-2011 à 14:25:27  profilanswer
 

n°2062924
keusty78
Posté le 12-03-2011 à 22:55:17  profilanswer
 

met sa a la place pour voir
 
$req ="UPDATE contact SET Nom='".$Nom."', Prenom='".$Prenom."' WHERE Id=$Id";
 
si sa ne fonctionne pas met un : or die(mysql_error()); pour savor l'erreur si il y en a une
 

n°2062939
esox_ch
Posté le 13-03-2011 à 10:33:42  profilanswer
 

@dupec: Merci de ne pas suivre le conseil de keusty78, qui malgré ce qu'on s'efforce de lui expliquer, continue à ne pas avoir compris que PHP a légèrement évolué pendant ces 10-15 dernières années. En effet, bien que son code puisse fonctionner, il laisse la porte ouverte à des attaques qui risquent de compromettre son site.

 

Je te conseille donc de passer par une requête préparée ( http://www.php.net/manual/fr/mysqli.prepare.php ):

 
Code :
  1. if ($stmt = mysqli_prepare($link, "UPDATE contact SET Nom=?, Prenom=? WHERE Id=?" )) {
  2.  
  3.    mysqli_stmt_bind_param($stmt, "ssi", $Nom, $Prenom, $Id);
  4.    mysqli_stmt_execute($stmt);
  5.    mysqli_stmt_close($stmt);
  6. }
 

J'ai pas PHP sous la main donc pas testé mais ça doit jouer dans ce snes là

Message cité 1 fois
Message édité par esox_ch le 13-03-2011 à 10:34:10

---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2062970
keusty78
Posté le 13-03-2011 à 13:46:43  profilanswer
 

esox_ch a écrit :

@dupec: Merci de ne pas suivre le conseil de keusty78, qui malgré ce qu'on s'efforce de lui expliquer, continue à ne pas avoir compris que PHP a légèrement évolué pendant ces 10-15 dernières années. En effet, bien que son code puisse fonctionner, il laisse la porte ouverte à des attaques qui risquent de compromettre son site.
 
Je te conseille donc de passer par une requête préparée ( http://www.php.net/manual/fr/mysqli.prepare.php ):
 

Code :
  1. if ($stmt = mysqli_prepare($link, "UPDATE contact SET Nom=?, Prenom=? WHERE Id=?" )) {
  2.  
  3.    mysqli_stmt_bind_param($stmt, "ssi", $Nom, $Prenom, $Id);
  4.    mysqli_stmt_execute($stmt);
  5.    mysqli_stmt_close($stmt);
  6. }


 
J'ai pas PHP sous la main donc pas testé mais ça doit jouer dans ce snes là


 
mdr esox_ch de quel droit dit tu de ne pas suivre mes conseil? je n'es fait que reprendre son code sans rien toucher mis a par les apostrophe de $id maintenant dupec n'as pas demander comment proteger mon site il a simplement demander pk sa fonctionnai pas? si il aurai fallu que je protege son site contre des injections sql je n'aurai pas modiffier just les apostrof je lui aurai caremment fourni tou le code et c'est pas avec la simple requette preparé que tu lui fourni qu'il es proteger d'une injection mdrrr  
 
 
ps: esox_ch je sai pa ce que t'a contre moi mai si il y a un probleme fai le moi savoir.

n°2062975
gatsu35
Blablaté par Harko
Posté le 13-03-2011 à 14:25:40  profilanswer
 

Le conseil que tu as donné était mauvais il l'a expliqué. Après si tu ne veux pas comprendre, c'est toi qui voit.


---------------
Blablaté par Harko
n°2062980
esox_ch
Posté le 13-03-2011 à 14:34:16  profilanswer
 

@keusty78 : Je n'ai aucun soucis avec toi, vu que je ne te connais pas. Par contre j'ai des soucis avec nombre des conseils que tu dispenses. Je me permet donc de signaler à l'auteur du topic qu'il veut mieux ne pas suivre un mauvais conseil, et plutôt faire ça comme il faut.
De plus, comment veux-tu qu'un type qui n'arrive pas à écrire une clause UPDATE tout seul sache ce qu'est une SQL Injection? Il essaie de se former => C'est tout à son honneur. Et c'est de ton/notre devoir en tant que personne plus experte de lui signaler les éventuelles erreurs.


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2063015
keusty78
Posté le 13-03-2011 à 17:43:26  profilanswer
 

esox_ch a écrit :

@keusty78 : Je n'ai aucun soucis avec toi, vu que je ne te connais pas. Par contre j'ai des soucis avec nombre des conseils que tu dispenses. Je me permet donc de signaler à l'auteur du topic qu'il veut mieux ne pas suivre un mauvais conseil, et plutôt faire ça comme il faut.
De plus, comment veux-tu qu'un type qui n'arrive pas à écrire une clause UPDATE tout seul sache ce qu'est une SQL Injection? Il essaie de se former => C'est tout à son honneur. Et c'est de ton/notre devoir en tant que personne plus experte de lui signaler les éventuelles erreurs.


 
je respect ce que tu dis sans aucun probleme mai ya une facon de dir les choses, et sa va de soi de proteger son code faut pas etre nee de la derniere pluis pour savoir que les injections existe  
 
j'ai juste fais en sorte que son code fonctionne le reste c'est a lui de voir comment il programme et si il a un autre souci il stipulera dans un autre sujet  
 
et je ne vois pas pourquois tu dis que je donne de mauvais conseil a tous le monde ils son bons les membres de ce forum!!!!

n°2063024
esox_ch
Posté le 13-03-2011 à 18:09:47  profilanswer
 

- Non ce ne va pas de soit qu'il faut protéger son code. Suffit de voir le pourcentage de codes qui passent par ce forum et qui ressemblent à des passoires.  
- Ce que je m'efforce de te faire comprendre c'est qu'il y a plein de gens qui ne savent PAS qu'il faut protéger le code. Du coup, il vont pas venir demander comment le protéger.
- J'ai pas dit que tu donnes de mauvais conseils à tout le monde. Mais là ça fait 2 topics sur 3 dans lesquels on se croise ou tu donnes une solution dont t'es super fier parce qu'elle "marche" alors qu'il y a moyen de faire mieux sans pour autant faire plus compliqué. Et qu'après en plus te te vexes quand on te le fait remarquer


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2063037
keusty78
Posté le 13-03-2011 à 18:42:11  profilanswer
 

je ne me vex pas dutout je dis juste que je donne des solution a la hauteur des problemes que les membre poste il vont pas apprendre comme sa par exemple ce membre a un probleme avec un update c'est que tu sai deja qu'il debute dans la programation pourkoi lui rajouter des requette preparer alor qu'avec une requette simple il a du mal tous se qu'on va faire c'est tout embrouiller dans sa tete au final il ne sera ni faire une requette simple ni une requette preparer mai franchement entre nous tu pouvais simplement me faire un ptit rapel en me disant n'oubli pas de proteger tes code pour les membre que tu aide que de dir de ne pas suivre mes conseil sa fait trop le mec qui sai tou et moi riendutou alor que je sui partit d'un bon sentiment a la base


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Modifier formulaire / php débutant

 

Sujets relatifs
[Débutant en HTML]Qui pourrait vérifier mon code svp?[Résolu] Formulaire dynamique lié à une base de donnée
Pbme de jointure (débutant)Eviter la répétition des votes sur un formulaire Google Document
[QST] création d'un script/formulaire[resolu] Probleme de variable "tout" sur un formulaire de recherche
Bouton supprimer / DébutantProblème bizarre de formulaire POST
Aide pour modifier visionneuseProbleme formulaire sur CHROME et pas IE
Plus de sujets relatifs à : Modifier formulaire / php débutant


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR