Probléme php

Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
'hé oui encore moi'
Alors voila sur mon site les personne gagne des point sur leur compte de différente façon...une fois les point gagné il doive ajouté leur ''point'' a leur site jusque ici rien de spécial mais le probléme c'est que juste en fessant -500000 par exemple il gagne 500000 crédit à mon avis c'est pas un gros probléme mais quand même....

J'ai essayé avec mais ''connaissance'' mais pas moyen de réglé sa tout seul :'(

je vous donne le code de la page ( sa peut servir :D )

<?
unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");

if($logout==1){
	session_destroy();
	header("Location: ".$PHP_SELF);
}

require('error_inc.php');
require('config_inc.php');
require('config_real_inc.php');

function auth($log,$pass){
	global $t_user;
	$query = "select id from ".$t_user." where email=\"".$log."\" and pass=\"".$pass."\" ";      
	$result = MYSQL_QUERY($query);
	if(mysql_num_rows($result)>0){
		$id=mysql_result($result,0,"id");
		@mysql_free_result($result);  
		return $id;
	}else{
		@mysql_free_result($result); 
		return 0;
	}
}

if(auth($login,$pwrd)!=0){
	$query = "select * from ".$t_user." where id=".$id." ";      
	$result = MYSQL_QUERY($query);
	$credits=mysql_result($result,0,"credits");
	$email=mysql_result($result,0,"email");
	$flag=true;
	if($REQUEST_METHOD=="POST"){
		if(isset($edit)){
			if($name==""){
				$er[]=$err[3]."'Name'";
				$flag=false;
			}
			$name=htmlspecialchars($name);
			$br=intval($br);
			$share=intval($share);
			if($sel[1]==""){
				$er[]=$err[8];
				$flag=false;
			}
			if($sel[2]==""){
				$er[]=$err[8];
				$flag=false;
			}
			if($sel[3]==""){
				$er[]=$err[8];
				$flag=false;
			}

			for($i=0,$summa=0;$i<sizeof($h);$i++){
				$summa=$summa+$cr[$i];
			}
			if($summa>$credits){
				print $err[6]."<br>";
				exit;
			}
			$query="delete from ".$t_idu_idc." where idu=".$id;
			if(!@mysql_query($query)){                
				print $err[9];
			}           
			for($i=1;$i<=3;$i++){
				$query="insert into ".$t_idu_idc." set  idu=".$id.", idc=".intval($sel[$i]);
				if(!@mysql_query($query)){                
					print($err[9]);
				} 
			} 

			for($i=0;$i<sizeof($h);$i++){
				$query="update ".$t_site." set credits=credits+".intval($cr[$i])." where id=".$h[$i];
				if(!@mysql_query($query)){                
					print $err[9];
				} 
				$query="update ".$t_user." set credits=credits-".intval($cr[$i])." where id=".$id;
				if(!@mysql_query($query)){                
					print $err[9];
				} 
			}

			$query="update ".$t_user." set  name=\"".$name."\", share=".$share.", br=".$br;
			if(($pass!="")and($pass1!="")){
				if(($pass=="")and($pass!=htmlspecialchars($pass))){
					$er[]=$err[5];
					$flag=false;
				}
				if(($pass1=="")and($pass1!=htmlspecialchars($pass1))){
					$er[]=$err[5];
					$flag=false;
				}
				if($pass1!=$pass){
					$er[]=$err[1];
					$flag=false;
				}
				$query=$query.",pass=\"".$pass."\" ";
			}
			if($flag==true){
				$query=$query." where id=".$id;	
				if(!@mysql_query($query)){                
					print $err[9];
				} 
 
				if(($pass!="")and($pass1!="")){
					$pwrd=$pass;
					@mail($email,$subject[3],$body[2].$pass,"From: $support_email");
				}
			header("Location: user_menu.php?PHPSESSID=".$PHPSESSID);
			}else{
				$str=join("<br>",$er);
				print "<p class=\"error\">".$str."</p><p class=\"smlink\">Please return to <a href=\"javascript: history.back()\">back</a> and check your form.</p>";
				require('footer_inc.php');
				exit;
			}
		}
	}
	$query1 = "select * from ".$t_idu_idc." where idu=".$id." order by idc";      
	$result1 = MYSQL_QUERY($query1);
	$i=1;
	while($row = mysql_fetch_array($result1)){
		$cat[$i]=$row["idc"];
		$i++;
	}	
	$name=mysql_result($result,0,"name");
	$share=mysql_result($result,0,"share");
	$br=mysql_result($result,0,"br");
	@mysql_free_result($result);
	require('menu.php');
?>
<SCRIPT language=javascript1.2 type=text/javascript>
function EvaluateField()
{
	var userName		= document.NewUser.name.value;
	var userPassword	= document.NewUser.pass.value;
	var userPassword1	= document.NewUser.pass1.value;

	if(userName == "")
	{
		alert("The field \"Your name\" must be filled.");
		document.NewUser.name.focus();
		return false;
	}
	if(userPassword!= userPassword1)
	{
		alert("The fields \"Your password\" and \"Confirm your password\" must be identically.");
		document.NewUser.pass.focus();
		return false;
	}
	return true;
}


</SCRIPT>
<style type="text/css">
<!--
.azsq {
	text-align: right;
}
-->
</style>

<FORM name=NewUser action="" method=post>
<table width="621" border="0" cellspacing="3" cellpadding="0" align="center">
  <tr> 
     <td width="223" align="left" class="azsq">Pseudo:</td>
     <td align="left" width="389"> 
       <input type="text" name="name" size="30" value="<?print $name;?>">
    </td>
  </tr>
  <tr> 
     <td width="223" align="left" class="azsq">Ton adresse e-mail:</td>
     <td align="left" width="389"> 
	<?print $email;?>
     (pour la modifier             <a href="editmail.php">cliquez ici</a>)</td>
  </tr>
  <tr> 
     <td width="223" align="left" class="azsq">Nouveau Mot de Passe:</td>
     <td align="left" width="389"> 
       <input type="password" name="pass" size="10">
    </td>
  </tr>
  <tr> 
     <td width="223" align="left" class="azsq">Retape ton nouveau Mot de Passe :</td>
     <td align="left" width="389"> 
       <input type="password" name="pass1" size="10">
    </td>
  </tr>
  <tr> 
     <td width="223" align="left" class="azsq">Voir ton e-mail ?:</td>
     <td align="left" width="389"> 
	<SELECT name="share"><OPTION value=0 <?if($share==0){print "selected";}?>>Non 
              </OPTION><OPTION value=1 <?if($share==1){print "selected";}?>>oui</OPTION></SELECT>
    </td>
  </tr>
  <tr> 
     <td width="223" align="left" class="azsq">Ecran internet:</td>
     <td align="left" width="389"> 
	<SELECT name="br"><OPTION value=0 <?if($br==0){print "selected";}?>>Fenétre reduite autorisé <?php print ($basic_min);?>crédit par site vu</OPTION><OPTION value=1 <?if($br==1){print "selected";}?>>Fenétre reduite non autorisé <?php print ($basic_max);?>crédit par site vu</OPTION></SELECT>
    </td>
  </tr>
    <tr> 
      <td width="223" align="left" class="azsq">Categorie:</td>
      <td align="left" class="text" width="389"> 
<?
$query1 = "select * from ".$t_cat." order by id";      
$result1 = MYSQL_QUERY($query1);
$i=0;
while($row = mysql_fetch_array($result1)){
	$ch["id"][$i]=$row["id"];
	$ch["title"][$i]=$row["title"];
	$i++;
}?>
  <select name="sel[1]">
<?
$siz=$i;
for($i=0;$i<$siz;$i++){
?>
    <option value="<?
	print $ch["id"][$i];
?>
" <?if($ch["id"][$i]==$cat[1]){print "selected";}?>>
<?
	print $ch["title"][$i];
?>
</option>
<?
}
?>
  </select>
  <select name="sel[2]">
    <?
for($i=0;$i<$siz;$i++){
?>
    <option value="<?
	print $ch["id"][$i];
?>
" <?if($ch["id"][$i]==$cat[2]){print "selected";}?>>
      <?
	print $ch["title"][$i];
?>
      </option>
    <?
}
?>
  </select>
  <select name="sel[3]">
  <?
for($i=0;$i<$siz;$i++){
?>
    <option value="<?
	print $ch["id"][$i];
?>
" <?if($ch["id"][$i]==$cat[3]){print "selected";}?>>
<?
	print $ch["title"][$i];
?>
</option>
<?
}
?>
  </select>
      </td>
    </tr>
  <tr> 
     <td width="223" align="left"> </td>
     <td align="left" width="389"> 

    </td>
  </tr>

  <tr> 
     <td width="223" align="left" class="azsq">Assignement de crédits :</td>
     <td align="left" width="389"> 
(max: <?print $credits;?>)
    </td>
  </tr>
<?
	$i=0;
	$query = "select * from ".$t_site." where idu=".$id;      
	$result = MYSQL_QUERY($query);
	while($row = mysql_fetch_array($result)){
?>
  <tr> 
     <td width="223" align="left" class="azsq"><?print $row["site"];?></td>
     <td align="left" width="389"> 
       <input type="text" name="cr[<?print $i;?>]" size="4" value="0">
       <input type="hidden" name="h[<?print $i;?>]" value="<?print $row["id"];?>">
    </td>
  </tr>
<?
		$i++;
	}
?>
  <tr> 
     <td width="223" align="left"> </td>
     <td align="right" width="389"><p><INPUT onclick="return EvaluateField();" type=submit name="edit" value="Envoyé"> </p>
      <p><a href="javascript:history.back();"><font color=blue>[Annuler]</font></a></p></td>
  </tr>
</table>
</form>
<?
}else{
	header("Location: login.php");
}
require ('pub1.php');
include ('footer_inc.php');
?>



Merci d'avance
A voir également:

5 réponses

Mimiste Messages postés 1159 Statut Membre 206
 
Salut

j'ai pas regardé tous le code c'est un peu long mais je croi que c'est au niveau de cette requete que ça doit deconner

$query="update ".$t_user." set credits=credits-".intval($cr[$i])." where id=".$id;

en fait le problème c'est que tu fait

credit - (-50000) et en math tu sais que cette operation donne au final "credit + 50000"

ce qu'il te faudrai faire a mon avis c'est virer le signe au niveau du 50000, du $cr[$i] quoi
0
Utilisateur anonyme
 
Merci beaucoup

Alors si j'ai bien compris je devrai faire :

$query="update ".$t_user." set credits=credits".intval($cr[$i])." where id=".$id;

? : $ désolé j'ai un peut du mal
0
Mimiste Messages postés 1159 Statut Membre 206
 
je pense que si tu fait tout simplement

credits=credits".$cr[$i]."

sa doit marcher
0
Utilisateur anonyme
 
Merci sa fonctionne : D

sa affiche une erreur et décale tout mon site mais bon ,,, j'ai pas fait un site pour les tricheur lol

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
 
Rectification ! on peut plus tricher ! mais on ne peut plus ajouté les crédit : s
0