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

  FORUM HardWare.fr
  Programmation
  PHP

  Soucis d'affichage et d'execution

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Soucis d'affichage et d'execution

n°1760329
foudecodes
Posté le 16-07-2008 à 15:06:42  profilanswer
 

Bonjour !
 
Voici mon problème ! Je veux installer une page de dons sur mon site avec les points des membres. En gros le membre clique sur un bouton radio et clique sur Valider pour donner 10 points.
 
Voilà comment j'ai déroulé le système :
 

  • une page dons.php
  • une autre dons2.php
  • une table dans MySQL avec ceci : champs : cout ; type : Int(11) ; Null : Non ; Défaut : 10


Voici le script de la page dons.php :
 

Code :
  1. <?
  2. $info_membre=mysql_fetch_array(mysql_query("SELECT points FROM membres WHERE id='".$_SESSION['id_membre']."'" ));
  3. ?>
  4. Vous avez actuellement <?=$info_membre['points']." ";?>points.<br />
  5. Faire un don de 10 points
  6. <form action='accueil.php?page=dons2' method="post">
  7. <input type='radio' name='statut' value='oui' >Oui
  8. <input type='radio' name='statut' value='non' >Non
  9. <input type='hidden' value='<?=$_SESSION['id_membre'];?>' name='id_membre'>
  10. <input type='submit' value='Valider'>
  11. </form>


 
Et voici celui de la page dons2.php
 

Code :
  1. <?php
  2. $dons=mysql_fetch_array(mysql_query('SELECT * FROM `dons`'));
  3. if($_POST['statut'] == 'oui') {
  4. $query_info_membre=mysql_query("SELECT * FROM membres WHERE id=".$_SESSION['id_membre']."" );
  5. $info_membre=mysql_fetch_array($query_info_membre);
  6. if($info_membre['points'] <= $dons['cout']){
  7.  die ('Vous n\'avez pas assez de points pour faire un don');
  8. }
  9. else{
  10.  $nouveau_points=$info_membre['points']-$dons['cout'];
  11.  mysql_query("UPDATE membres SET points='".$nouveau_points."' WHERE id='".$_SESSION['id_membre']."'" );
  12.  echo "Merci !";
  13.  }
  14. ?>


 
Ça m'affiche une erreur à la ligne 21 de la page dons2.php
 
D'où vient le problème ? Merci pour votre aide.


Message édité par foudecodes le 16-07-2008 à 15:17:56
mood
Publicité
Posté le 16-07-2008 à 15:06:42  profilanswer
 

n°1760347
Profil sup​primé
Posté le 16-07-2008 à 15:28:52  answer
 

Bon t'aurais pu donner l'erreur quand même !  :pfff:  
Je suppose que c'est unexpected $end ou un truc du genre.
Tu as oublié un crochet de fermeture de ton premier if ( } )


Message édité par Profil supprimé le 16-07-2008 à 15:29:08
n°1760351
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-07-2008 à 15:34:50  profilanswer
 

une vraie passoire ce site au passage, le paradis du SQL Injecteur [:benou_miam]


---------------
J'ai un string dans l'array (Paris Hilton)
n°1760353
foudecodes
Posté le 16-07-2008 à 15:36:38  profilanswer
 

Excusez moi, l'erreur est la suivante :  
 
Parse error: syntax error, unexpected $end in /homepages/3/d211235487/htdocs/studio-astuces/membres/dons2.php on line 23


Message édité par foudecodes le 16-07-2008 à 15:36:47
n°1760357
Profil sup​primé
Posté le 16-07-2008 à 15:41:12  answer
 

bon t'as lu mon post ?
Tu as oublié un crochet de fermeture de ton premier if ( } ) !
c'est çà l'erreur !
dons2.php corrigé :
 

Code :
  1. <?php
  2.  
  3. $dons=mysql_fetch_array(mysql_query('SELECT * FROM `dons`'));
  4.  
  5. if($_POST['statut'] == 'oui') {
  6. $query_info_membre=mysql_query("SELECT * FROM membres WHERE id=".mysql_real_escape_string($_SESSION['id_membre'])."" );
  7. $info_membre=mysql_fetch_array($query_info_membre);
  8.  
  9.     if($info_membre['points'] <= $dons['cout']){
  10.         die ('Vous n\'avez pas assez de points pour faire un don');
  11.     }
  12.     else{
  13.         $nouveau_points=$info_membre['points']-$dons['cout'];
  14.         mysql_query("UPDATE membres SET points='".mysql_real_escape_string($nouveau_points)."' WHERE id='".mysql_real_escape_string($_SESSION['id_membre'])."'" );
  15.         
  16.         
  17.         echo "Merci !";
  18.         }
  19. }
  20.         
  21.             
  22. ?>


 
EDIT : au passage, mysql_real_escape_string(), tu connais ?
 :jap:


Message édité par Profil supprimé le 16-07-2008 à 15:43:09
n°1760358
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-07-2008 à 15:41:53  profilanswer
 

foudecodes a écrit :

Excusez moi, l'erreur est la suivante :

 

Parse error: syntax error, unexpected $end in /homepages/3/d211235487/htdocs/studio-astuces/membres/dons2.php on line 23


luc@s t'a donné la réponse.
tu devrais vraiment sécuriser ton site, tel que je lis le code, je suis capable de récupérer tous les mots de passe des membres


Message édité par Harkonnen le 16-07-2008 à 15:42:17

---------------
J'ai un string dans l'array (Paris Hilton)
n°1760360
foudecodes
Posté le 16-07-2008 à 15:44:09  profilanswer
 

Pourquoi êtes vous si méprisant ? Calmez vous !  
 
Déjà, il manquait peut être ça, mais ça ne corrige rien du tout, a part qu'il affiche le "merci" au lieu de la phrase d'erreur, sinon, l'exécution du script ne marche pas.  
 
Pour Harkonnen, tu ne vois qu'une petite partie d'un script d'un site, les mots de passes sont cryptés en MD5.

n°1760369
Profil sup​primé
Posté le 16-07-2008 à 15:49:56  answer
 

On est pas méprisant, c'est juste que tu nous demandes de l'aide sans nous donner toutes les informations. Ensuite, je te réponds et tu ne lis pas mon message correctement.  
PS : ton md5 suivant ton système c'est pas suffisant.
 
Ensuite si le crochet est mal placé, à toi de le placer au bon endroit : ou explique chaque condition de ton script pour que l'on puisse savoir ou le placer.


Message édité par Profil supprimé le 16-07-2008 à 15:52:48
n°1760376
foudecodes
Posté le 16-07-2008 à 15:54:51  profilanswer
 

Je vous ai tout donner sauf le message d'erreur ! Alors ne m'agressez pas non plus ! Rooo !
 
Pour le MD5, et tout ce qui suit, je sais que mon site est très bien sécurisé par mon serveur, et par notre script, ensuite, le crochet, je l'ai placé avant et après, c'est la même chose !

n°1760381
Profil sup​primé
Posté le 16-07-2008 à 15:59:25  answer
 

1/Alors il s'agit d'une erreur de conception  :o  
2/Très bien sécurisé ? Regardes ce que c'est une injection sql  :p


Message édité par Profil supprimé le 16-07-2008 à 15:59:39
mood
Publicité
Posté le 16-07-2008 à 15:59:25  profilanswer
 

n°1760386
foudecodes
Posté le 16-07-2008 à 16:03:12  profilanswer
 

Et bien laquelle ?  
 
(oui je connais -__- et je te rappelle que ce n'est qu'une partie du script)

n°1760387
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 16-07-2008 à 16:04:20  profilanswer
 

foudecodes a écrit :

Pourquoi êtes vous si méprisant ? Calmez vous !  
 
Déjà, il manquait peut être ça, mais ça ne corrige rien du tout, a part qu'il affiche le "merci" au lieu de la phrase d'erreur, sinon, l'exécution du script ne marche pas.  
 
Pour Harkonnen, tu ne vois qu'une petite partie d'un script d'un site, les mots de passes sont cryptés en MD5.


personne n'est méprisant, je te fais juste part d'une faille de sécurité dans ton site :spamafote:
tu fabriques tes requêtes en concaténant des chaines de caractères. c'est très dangereux car ça laisse la possibilité à l'utilisateur de saisir des bouts de SQL dans tes formulaires, que ton script interpretera comme des requetes completes et renverra à l'utilisateur les infos souhaitées


---------------
J'ai un string dans l'array (Paris Hilton)
n°1760392
Profil sup​primé
Posté le 16-07-2008 à 16:07:21  answer
 

tout est dit.

n°1760393
foudecodes
Posté le 16-07-2008 à 16:08:26  profilanswer
 

c'est bon, j'ai résolu mon problème :  
 
 
<?php
 
$dons='10';
 
 
if($_POST['statut'] == 'oui') {
$query_info_membre=mysql_query("SELECT * FROM membres WHERE id=".$_SESSION['id_membre']."" );
$info_membre=mysql_fetch_array($query_info_membre);
 
 if($info_membre['points'] <= $dons){
  die ('Vous n\'avez pas assez de points pour faire un don');
 }
 else{
  $nouveau_points=$info_membre['points']-$dons;
  mysql_query("UPDATE membres SET points='".$nouveau_points."' WHERE id='".$_SESSION['id_membre']."'" );
   
   
  echo "Merci !";
  }
   
   }
?>


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

  Soucis d'affichage et d'execution

 

Sujets relatifs
[Resolu] asp.net/C#/SQl server2005 affichage resultats rechercheAffichage dialog dans un thread
AutoIt3 - affichage fenêtre et sortie d'erreurAffichage d'une image Bitmap dans un contrôle
Problème affichage sous IE 6Probleme affichage + Boucle while
Menu déroulant en JVS: problème d'affichageaffichage d'image et ouverture de fichiers sous Firefox
Problème d'affichage de la page PHPProblème d'affichage avec Internet Exlorer 6.0 entre autre
Plus de sujets relatifs à : Soucis d'affichage et d'execution


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