Problème de GET

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème de GET

par HanX » 24 juil. 2006, 02:47

j'ai pas ta solution... mais un suggestion de programmation...
$humeur=$data['humeur'];
$sante=$data['sante'];
$envie=$data['envie'];
$robes=$data['robes'];
$chat=$data['chat'];
$hibou=$data['hibou'];
$crapaud=$data['crapaud'];
$chaudron=$data['chaudron'];
$fiole=$data['fiole']; 
//etc..
fait
extract($data);
tu économiseras pas mal de lignes

par polo » 23 juil. 2006, 11:06

Bonjour,

tu a essayé d'enlever le header et de mettre un echo juste après ?
if ($_GET['bezoard'] == "")
{


Avec un echo ça te permettrais de voir comment réagi ta page achat_champion, puis que tu ne sera pas redirigé, vers magasin_champion!

En espérant t'avoir été utile :D

par dededick » 23 juil. 2006, 10:41

A prioris ça viendrait de :
<?php 
if ($_GET['bezoard'] == "") 
{ 
header('location: magasin_champion.php'); 
} 
// si la variable vaut 1, il achète les livres 
elseif ($_GET['bezoard'] == "1" AND $gallions - 200 > 0) 
{ 
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 200, `bezoard` = "'.$donnees['bezoard'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ; 
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error()); 
// Puis on redirige vers l'acceuil 
header('location: inventaire.php'); 

echo ('Vous achetez un café, à bientôt sur poudlard'); 
} 
else 
{ 
echo "Vous n'avez pas assez d'argent"; 
}} 
?>   
Car quand je clique sur un objet, il m renvoit à la page d'achat :)

par polo » 23 juil. 2006, 10:38

Bonjour,

Il n'y a pas une partie du code que tu soupçonne être défectueuse ?, car balancer je ne sais combien de lignes de code comme ça, c'est pas forcément le plus approprié, les personne qui viendrons lire ton post trouverons le code trop long à lire, et tu risque de ne pas avoir beaucoup de réponses à ton problème, donc si tu arrivé à isolé la partie que tu crois défectueuse et bien ça ira plus vite :D

Problème de GET

par dededick » 23 juil. 2006, 09:29

Hello à tous, j'ai un nouveau problème :?
Voici mon code de la page magasin_champion.php :
<?php session_start();
//Ouvrir une session pour pas que les non-connectés n'accèdent pas à cette page
if (!isset($_SESSION['pseudo'])) {
   echo 'Vous ne pouvez pas accéder à cette page, veuillez vous <a href="connexion.html"> connecter </a>';
    exit();
}
?>
<?php
$base = mysql_connect("localhost", "*****", "***"); 
mysql_select_db("********", $base);
$sql = "SELECT * FROM siteweb WHERE pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
$pseudo=$data['pseudo'];
$gallions=$data['gallions'];
$humeur=$data['humeur'];
$sante=$data['sante'];
$envie=$data['envie'];
$experience=$data['experience'];
$robes=$data['robes'];
$chat=$data['chat'];
$hibou=$data['hibou'];
$crapaud=$data['crapaud'];
$chaudron=$data['chaudron'];
$fiole=$data['fiole'];
$telescope=$data['telescope'];
$balance=$data['balance'];
$ensemble=$data['ensemble'];
$baguette=$data['baguette'];
$baguetteun=$data['baguetteun'];
$baguettedeux=$data['baguettedeux'];
$bierraubeure=$data['bierraubeure'];
$theun=$data['theun'];
$chocolat=$data['chocolat'];
$objet=$data['objet'];
$objetun=$data['objetun'];
$objetdeux=$data['objetdeux'];
$objettrois=$data['objettrois'];
$objetquatre=$data['objetquatre'];
$objetcinq=$data['objetcinq'];
$choco=$data['choco'];
$bulles=$data['bulles'];
$plume=$data['plume'];
$livres=$data['livres'];
$cafe=$data['cafe'];
$the=$data['the'];
$purfeu=$data['purfeu']; 
$reponse = mysql_query("SELECT humeur, envie, sante FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php

if ($donnees['envie'] < 400 OR $donnees['sante'] < 400 OR $donnees['humeur'] < 400)
{
echo "Pff! t'as même pas des stats au-dessus de 400 et tu veux entrer? Mais t'es fou! <br/>";
echo ' <a href="inventaire.php"> Votre inventaire </a>'; 
}
else
{
echo'

<html>
<head>
<title> Le magasin des champions </title>
<meta http-equiv="content-language" content="fr">
 <link rel="stylesheet" media="screen" type="text/css" title="Essai" href="color.css" />
 </head>
<body>
<div id="header">

</div>
<div id="stats">
<?php
include("dortoir_un.php");
?>
</div>


<div id="menug">

<div class="element_menug">
<img src="poudlard.jpg" alt="image du menu" width="140"/>
<p>
<ul id="lien2">
<li><a href="arrivee.php" onclick="window.open("poudelard.jpg", "photo", "height=100, width=200, top=100, left=100, toolbar=no, menubar=yes, location=no, resizable=yes, scrollbars=no, status=no") return false;"> Acceuil du directeur </a></li>
<li><a href="http://poudlard2006.goodforum.net"> La Grande Salle </a></li>
<li><a href="points.php"> Coupe des Quatres Maisons </a></li>
<li><a href="cours.php"> Suivre un cours </a></li>
<li><a href="salle_commune.php"> Votre salle commune </a></li>
<li><a href="gazette.php"> Lire la gazette du sorcier </a></li>
<li><a href="chicaneur.php"> Lire le Chicaneur </a></li>
<li><a href="verif_news_un.php"> Rédiger une news </a></li>
<li><a href="aventure.php"> Revivez la première année </a></li>
<li><a href="boost.php"> Se booster </a></li>
<li><a href="deconnexion.php"> Se déconnecter</a></li>
</ul>
<img src="exterieur.jpg" alt="extérieur"/>
<ul id="lien2">
<li><a href="fred_george.php"> Boutique de Fred & Georges </a></li>
<li><a href="chemin_traverse.php"> Chemin de Traverse </a></li>
<li><a href="pre_au_lard.php"> Visiter Pré-Au-Lard </a></li>
<li><a href="chat.php"> Le chaudron baveur </a></li>
</ul>
<img src="bonus.jpg" alt="bonus"/>
<ul id="lien2">
<li><a href="image.php"> Des images </a></li>
<li><a href="interview.php"> Des interviews (si on en trouve) </a></li>
<li><a href="equipe.php"> L\'équipe du site </a></li>
<li><a href="livre.php"> Livre d\'or </a></li>
<li><a href="jeux.php"> pierre-papier-ciseaux </a></li>
<li><a href="loto.php"> Loto des sorciers </a></li>
<li><a href="pendu.php">Un pendu sorcier </a></li>
<li><a href="jeu_allum.php"> Allumettes </a></li>
</ul>
<img src="dortoir.jpg" alt="image"/>
<ul id="lien2">
<li><a href="dortoir.php"> Vos stats </a></li>
</ul>
</div></div>
 <div id="menud">

 <div class="element_menug">
<center>

<script language="JavaScript">
<!--

function SymError()
{
  return true;
}

window.onerror = SymError;

var SymRealWinOpen = window.open;

function SymWinOpen(url, name, attributes)
{
  return (new Object());
}

window.open = SymWinOpen;

//-->
</script>

<SCRIPT LANGUAGE="JavaScript">
// a mettre entre <head> et <head/>
var max=0;
function textlist() {
max=textlist.arguments.length;
for (i=0; i<max; i++)
this[i]=textlist.arguments[i];
}
tl = new textlist( 
"Bievenue sur ce site.",
"En cas de problème, un forum est à votre disposition.",
"Petites annonces:",
"Aujourd\'hui, le cerveau a des capacités tellement étonnantes, que presque tout le monde en a un.",
"Un verre est à moitié plein d\'eau; n\'est-il pas plutôt à moitié vide?",
"Il semblerait que... mais on n\'en est pas sur...",
"Vous pensez ne rien savoir? Mais rassurez-vous, vous savez au moins ça!"
);

var x = 0; pos = 0;
var l = tl[0].length;
function textticker() {
document.tickform.tickfield.value = tl[x].substring(0, pos) + "_";
if(pos++ == l) {
pos = 0; 
setTimeout("textticker()", 2000); 
if(++x == max) x = 0; 
l = tl[x].length;
} else
setTimeout("textticker()", 50);
}
</script>
<BODY  OnLoad="textticker()">


<form name=tickform>
<textarea name=tickfield rows=3 cols=20 style="background-color: #191919; color: rgb(255,255,255); cursor: default; font-family: Arial; font-size: 12px" wrap=virtual>Les infos apparaissent ici, une fois que la page est chargée.</textarea>
</form>
</script>



   </head>
   <script language="JavaScript">
function nextSize(i,incMethod,textLength){
  if (incMethod == 1) return (40*Math.abs( Math.sin(i/(textLength/3.14))) );
  if (incMethod == 2) return (255*Math.abs( Math.cos(i/(textLength/3.14))));
}

function sizeCycle(text,method,dis){	
  output = "";
  for (i = 0; i < text.length; i++){
    size = parseInt(nextSize(i +dis,method,text.length));
    output += "<font style"-size: "+ size +"pt">" +text.substring(i,i+1)+ "</font>";
  }
  theDiv.innerHTML = output;
}

function doWave(n){
  theText = "dededick.free.fr";
  sizeCycle(theText,1,n);	
  if (n > theText.length) {n=0}
  setTimeout("doWave(" + (n+1) + ")", 150);
}
</script>
</center><br/><br/>
</div></div>
<script language="JavaScript">
var ns4up = (document.layers) ? 1 : 0;
var ie4up = (document.all) ? 1 : 0;
var s, x, y, sn, cs;
var a, r, cx, cy;
var i, doc_width = 800, doc_height = 600;
var no = 50;
var speed = 10;

function initRain() {
a = 6;
r[i] = 1;
sn = Math.sin(a);
cs = Math.cos(a);
cx[i] = Math.random() * doc_width + 1;
cy[i] = Math.random() * doc_height + 1;
x[i] = r[i] * sn + cx[i];
y[i] = cy[i];
}

function makeRain() {
r[i] = 1;
cx[i] = Math.random() * doc_width + 1;
cy[i] = 1;
x[i] = r[i] * sn + cx[i];
y[i] = r[i] * cs + cy[i];
}

function updateRain() {
r[i] += s;
x[i] = r[i] * sn + cx[i];
y[i] = r[i] * cs + cy[i];
}

function raindropNS() {
for (i = 0; i < no; ++ i) {
updateRain();
if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
makeRain();
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
document.layers["dot"+i].top = y[i];
document.layers["dot"+i].left = x[i];
}
setTimeout("raindropNS()", speed);
}

function raindropIE() {
for (i = 0; i < no; ++ i) {
updateRain();
if ((x[i] <= 1) || (x[i] >= (doc_width - 20)) || (y[i] >= (doc_height - 20))) {
makeRain();
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}
document.all["dot"+i].style.pixelTop = y[i];
document.all["dot"+i].style.pixelLeft = x[i];
}
setTimeout("raindropIE()", speed);
}


if (ns4up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
}
else if (ie4up) {
doc_width = document.body.clientWidth;
doc_height = document.body.clientHeight;
}

x = new Array();
y = new Array();
r = new Array();
cx = new Array();
cy = new Array();
s = 8;

for (i = 0; i < no; ++ i) { 
initRain();
if (ns4up) {
if (i == 0) {
document.write("<layer name="dot"+i+"" left="1" top="1" visibility="show" z-index="1"><font color="blue">,</font></layer>");
}
else {
document.write("<layer name="dot"+i+"" left="1" top="1" visibility="show" z-index="1"><font color="blue">,</font></layer>");
}
}
else if (ie4up) {
if (i == 0) {
document.write("<div id="dot"+i+"" style="position:absolute; left:15px; top:15px; z-index:1; visibility:visible; Z-INDEX: "+i+";"><font color="blue">,</font></div>");
}
else {
document.write("<div id="dot"+i+"" style="position:absolute; left:15px; top:15px; z-index:1; visibility:visible; Z-INDEX: "+i+";"><font color="blue">,</font></div>");
}
}
}

if (ns4up) {
raindropNS();
}
else if (ie4up) {
raindropIE();
}

// End -->
</SCRIPT>

<div id="corps">
Bienvenue à toi jeune sorcier. Ici, tu es dans le magasin des champions. Tu trouveras des objets extrêmement puissant, mais aussi trèèèès cher. Les voici :<br/>
Exceptionnellement, les modifications entraînées par les objets seront inscrites. <br/>
<form method="get" action="achatchampion.php">
<input name="pseudo" type="hidden" value="$pseudo">
<input name="gallions" type="hidden" value="$gallions">
<input name="humeur" type="hidden" value="$humeur">
<input name="sante" type="hidden" value="$sante">
<input name="envie" type="hidden" value="$envie">
<input type="checkbox" value="1" name="bezoard"/> Bézoard (200 gallions) + 50 humeur | + 35 santé | - 40 envie<br/>
<input type="checkbox" value="2" name="calmar"/> Calmar Géant (350 gallions) + 75 envie | + 20 humeur | - 25 santé <br/>
<input type="checkbox" value="3" name="tronslqlg"/> Tronslqlg (400 gallions) + 35 envie, humeur | + 20 santé <br/>
<input type="checkbox" value="4" name="gnorky"/> Gnorky (700 gallions) + 75 sante | + 45 humeur | + 120 envie <br/>
<input type="checkbox" value="5" name="artefact"/> Arctefact de blancheur (875 gallions) + 150 humeur | + 120 envie | + 135 santé <br/>
<input type="submit" value="Acheter"/>
</form>
</div>
<div id="pied_de_page">
 Design crée par Laurent et Phinéas Weil.<br/>
 <a href="copyright.php"> Copyright </a>
 </div>
 ';
 }}
 mysql_close ();
 ?>
Voici le code de ma page achatchampion.php :
<?php
$base = mysql_connect("localhost", "***", "****"); 
mysql_select_db("*********",$base);
$sql = "SELECT * FROM siteweb WHERE pseudo='".$pseudo."'";
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$data = mysql_fetch_assoc($req);
$pseudo=$_GET['pseudo'];
$gallions=$data['gallions'];
$humeur=$data['humeur'];
$sante=$data['sante'];
$envie=$data['envie'];
$robes=$data['robes'];
$chat=$data['chat'];
$hibou=$data['hibou'];
$crapaud=$data['crapaud'];
$chaudron=$data['chaudron'];
$fiole=$data['fiole'];
$telescope=$data['telescope'];
$balance=$data['balance'];
$ensemble=$data['ensemble'];
$baguette=$data['baguette'];
$baguetteun=$data['baguetteun'];
$baguettedeux=$data['baguettedeux'];
$bierraubeure=$data['bierraubeure'];
$theun=$data['theun'];
$chocolat=$data['chocolat'];
$objet=$data['objet'];
$objetun=$data['objetun'];
$objetdeux=$data['objetdeux'];
$objettrois=$data['objettrois'];
$objetquatre=$data['objetquatre'];
$objetcinq=$data['objetcinq'];
$choco=$data['choco'];
$bulles=$data['bulles'];
$plume=$data['plume'];
$livres=$data['livres'];
$cafe=$data['cafe'];
$the=$data['the'];
$purfeu=$data['purfeu'];
$bezoard=$_GET['bezoard'];
$calmar=$_GET['calmar'];
$tronslqlg=$_GET['tronslqlg'];
$gnorky=$_GET['gnorky'];
$artefact=$_GET['artefact'];
$reponse = mysql_query("SELECT bezoard FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php
if ($_GET['bezoard'] == "")
{
header('location: magasin_champion.php');
}
// si la variable vaut 1, il achète les livres
elseif ($_GET['bezoard'] == "1" AND $gallions - 200 > 0)
{
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 200, `bezoard` = "'.$donnees['bezoard'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ;
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error());
// Puis on redirige vers l'acceuil
header('location: inventaire.php');

echo ('Vous achetez un café, à bientôt sur poudlard');
}
else
{
echo "Vous n'avez pas assez d'argent";
}}
?>  
<?php
$reponse = mysql_query("SELECT calmar FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php
if ($_GET['calmar'] == "")
{
header('location: magasin_champion.php');
}
// si la variable vaut 2, il achète les livres
elseif ($_GET['calmar'] == "2" AND $gallions - 350 > 0)
{
// vérification de ses sous
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 350, `calmar` = "'.$donnees['calmar'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ;
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error());
// Puis on redirige vers l'acceuil
header('location: inventaire.php');

echo ('Profitez bien de votre whisky, à bientôt sur poudlard');
}
else
{
echo 'Vous n\'avez pas assez d\'argent';
}
}  
?>
<?php
$reponse = mysql_query("SELECT tronslqlg FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php
if ($_GET['tronslqlg'] == "")
{
header('location: magasin_champion.php');
}
// si la variable vaut 1, il achète les livres
elseif ($_GET['tronslqlg'] == "3" AND $gallions - 400 > 0)
{
// vérification de ses sous
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 400, `tronslqlg` = "'.$donnees['tronslqlg'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ;
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error());
// Puis on redirige vers l'acceuil
header('location: inventaire.php');

echo ('Vous prenez votre tasse de thé, à bientôt sur poudlard');
}
else
{
echo 'Vous n\'avez pas assez d\'argent';
}
}  
mysql_close(); 
?>
<?php
$reponse = mysql_query("SELECT gnorky FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php
if ($_GET['gnorky'] == "")
{
header('location: magasin_champion.php');
}
// si la variable vaut 2, il achète les livres
elseif ($_GET['gnorky'] == "4" AND $gallions - 700 > 0)
{
// vérification de ses sous
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 700, `gnoky` = "'.$donnees['gnorky'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ;
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error());
// Puis on redirige vers l'acceuil
header('location: inventaire.php');

echo ('Profitez bien de votre whisky, à bientôt sur poudlard');
}
else
{
echo 'Vous n\'avez pas assez d\'argent';
}
}  
?>
<?php
$reponse = mysql_query("SELECT artefact FROM siteweb WHERE pseudo='$pseudo'");
while ($donnees = mysql_fetch_array($reponse) ) 
{
?>
<?php
if ($_GET['artefact'] == "")
{
header('location: magasin_champion.php');
}
// si la variable vaut 1, il achète les livres
elseif ($_GET['artefact'] == "5" AND $gallions - 875 > 0)
{
// vérification de ses sous
$sql = 'UPDATE `siteweb` SET `gallions` = "'.$gallions.'" - 875, `artefact` = "'.$donnees['artefact'].'" + 1 WHERE `pseudo` = "'.$pseudo.'"' ;
$req = mysql_query($sql) or die('Une erreur est survenue, veuillez réssayer. !<br>'.$sql.'<br>'.mysql_error());
// Puis on redirige vers l'acceuil
header('location: inventaire.php');

echo ('Vous prenez votre tasse de thé, à bientôt sur poudlard');
}
else
{
echo 'Vous n\'avez pas assez d\'argent';
}
}  
?>
<br/>
<a href="inventaire.php"> Quitter le magasin </a>

Le problème, c'est qu'il m'affiche quitter le magasin, et qu'il ne me met rien dans la table siteweb.
Pourquoi? Merci :)