[PHP-MYSQL] Accès au bon champ d'une table

Accès au bon champ d'une table [PHP-MYSQL] - PHP - Programmation

Marsh Posté le 21-03-2006 à 15:23:45    

Bonjour,
 
Voici le code qui me pose problème : à l'issue du script, il cherche le lien contenu dans le champ 'url' de la table 'blocks' alors que je voudrais qu'il cherche le lien contenu dans le champ 'title' d'une autre table 'users'. Quelqu'un saurait il m'aider pour corriger ce pb ?
 
<?php
 
include ("config.php" );
$block_id=$_REQUEST['block_id'];
if ($block_id=='') {
die();
 
}
$BID=$_REQUEST['BID'];
if ($BID=='') {
$BID=1;
}
 
$sql = "SELECT url, user_id from blocks where block_id='$block_id' AND banner_id='$BID' ";
$result = @mysql_query($sql);
$row = @mysql_fetch_array($result);
 
// basic click count.
 
$sql = "UPDATE users SET click_count = click_count + 1 where ID='".$row[user_id]."' ";
 
$result = @mysql_query($sql);
 
 
// echo "$BID - $date : $result : $x :$sql";
if (ADVANCED_CLICK_COUNT=='YES') {
 
$date = gmdate(Y)."-".gmdate(m)."-".gmdate(d);
$sql = "UPDATE clicks set clicks = clicks + 1 where banner_id='$BID' AND `date`='$date' AND `block_id`='".$block_id."'";
$result = mysql_query($sql) ;
$x = @mysql_affected_rows();
 
if (!$x) {
 
$sql = "INSERT into clicks (`banner_id`, `date`, `clicks`, `block_id`, `user_id`) VALUES('$BID', '$date', '1', '$block_id', '".$row[user_id]."') ";
$result = @mysql_query($sql) ;
}
 
 
}
 
//
 
$sql = "UPDATE blocks SET click_count = click_count + 1 where block_id='".$block_id."' AND banner_id='$BID' ";
//echo $sql;
$result = mysql_query($sql);
 
header ("Location: ".$row[url]);
 
?>
 
 
D'avance merci à qui aurait une piste.  :jap:

Reply

Marsh Posté le 21-03-2006 à 15:23:45   

Reply

Marsh Posté le 21-03-2006 à 15:42:51    

Quand tu fais :  
 

Code :
  1. $sql = "SELECT url, user_id from blocks where block_id='$block_id' AND banner_id='$BID' ";
  2. $result = @mysql_query($sql);
  3. $row = @mysql_fetch_array($result);
  4. .
  5. .
  6. .
  7. header ("Location: ".$row[url]);


 
C'est tt a fait normal que la redirection se fasse sur la valeur du champ url de ta table blocks...
 
Sinon fait attention ton script n'est pas securise et peut etre sujet a des injection SQL...
Toutes les valeurs recues depuis un GET ou un POST doivent etre verifiees, filtrees avant d'etre utilisees dans une requete...


Message édité par Woutcha le 21-03-2006 à 16:13:26
Reply

Marsh Posté le 21-03-2006 à 16:10:36    

Merci pour ta réponse ;). Mais le fait est que les autres champs (user_id, block_id...) sont bien issus de la table "blocks". Seule le champs title, que je souhaite ouvrir à la fin, provient de l'autre table.
 
Dois-je alors faire appel aux deux tables par un autre SELECT ? J'ai tenté, mais je ne suis pas certain des codes. Quelle est la modification à faire ?
 
Merci par avance,
 
Jib

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed