[PHP] Erreur sur compteur de téléchargement

Erreur sur compteur de téléchargement [PHP] - PHP - Programmation

Marsh Posté le 24-02-2003 à 11:30:08    

Bonjour,
 
J'ai fait une recherche sur les topics parlant de compteurs de téléchargement en PHP et j'ai fait le mien. Apparemment le code devrait coller mais j'obtiens une erreur 404 quand je clique sur le lien  :heink:  
 
Si quelqu'un pouvait me dire où est l'erreur  :jap:  
 
Code :  

Citation :

<?
require ("config.php" );
 
$connexion=mysql_connect($localhost, $login , $pass );
mysql_select_db( $base , $connexion) or die("Impossible d'accèder à la base $base" );
 
$resultat = mysql_query("SELECT * from $table where id=$id" ) or die("MySQL a retourné une erreur :<BR>".mysql_error()); ;
while($var = mysql_fetch_object($resultat)) {
   $id = $var->id;
   $hit = $var->hit;
   $lien = $var->lien;
}
 $hit++;
 
$query2= "UPDATE $table SET hit='$hit' WHERE id=$id";
 
mysql_query($query2) or die("MySQL a retourné une erreur :<BR>".mysql_error()); ;
 
header("Location:$lien" );
 
mysql_close($connexion);
?>


Message édité par Corto-maltese le 24-02-2003 à 11:30:30
Reply

Marsh Posté le 24-02-2003 à 11:30:08   

Reply

Marsh Posté le 24-02-2003 à 11:32:24    

quelle est la valeur de $lien ?
 
ps : mets le mysql_close() avant le header()


---------------
...oups kernel error...
Reply

Marsh Posté le 24-02-2003 à 11:34:09    

ethernal a écrit :

quelle est la valeur de $lien ?
 
ps : mets le mysql_close() avant le header()


 
OK pour l'inversion.
 
$lien renvoie à une url du type : http://domaine.com/fichier.zip

Reply

Marsh Posté le 24-02-2003 à 11:35:35    

corto-maltese a écrit :


$lien renvoie à une url du type : http://domaine.com/fichier.zip


 
Ui OK mais plutôt que de faire un header(), fais un echo de ta variable pour voir ce qu'elle renvoie et vérifie que l'URL est valide.


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-02-2003 à 11:38:11    

Taiche a écrit :


 
Ui OK mais plutôt que de faire un header(), fais un echo de ta variable pour voir ce qu'elle renvoie et vérifie que l'URL est valide.


 
J'ai fait un echo de la même variable dans une autre page et ça marche  [:spamafote]

Reply

Marsh Posté le 24-02-2003 à 11:39:48    

- vérifie que le lien existe
- je ne sais pas à quelle version d'explorer cela s'applique :

Citation :

For correct work with IE (without Page not found Error):
 
header("HTTP/1.0 301 Moved Permanently" );
header("Location: ".$url);
 
change to:
 
header("HTTP/1.1 301 Moved Permanently" );
header("Location: ".$url);
header("Connection: close" );

de http://www.php.net/manual/en/function.header.php
 
- mets un exit() aussi après le header


---------------
...oups kernel error...
Reply

Marsh Posté le 24-02-2003 à 11:39:52    

Juste un truc, je sais pas si ça a son importance ou quoi mais mets un espace entre le : et le $lien dans ton Location [:spamafote]


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
Reply

Marsh Posté le 24-02-2003 à 11:43:49    

Si je rajoute

Citation :

header("HTTP/1.1 301 Moved Permanently" );


 
J'ai une erreur interne 500  :heink:  
 
En virant cette ligne mais en ajoutant ça :

Citation :

header("Location: ".$url);  
header("Connection: close" );


 
Toujours erreur 404. Je précise que j'ai modifié :

Citation :

$url = $var->lien;

Reply

Marsh Posté le 24-02-2003 à 11:46:34    

En faisant un echo de $url, le lien s'affiche bien.
 
J'ai l'impression que c'est Multimania qui foire dans l'affaire là  [:meganne]

Reply

Marsh Posté le 24-02-2003 à 11:49:55    

corto-maltese a écrit :

Si je rajoute

Citation :

header("HTTP/1.1 301 Moved Permanently" );


 
J'ai une erreur interne 500  :heink:  


 
ton hébergeur ne permet pas la modification des headers... enfin, c'est pas grave
 
teste en mettant directement l'url dans la variable $url de ton script.
ça vient forcément de ton lien...


---------------
...oups kernel error...
Reply

Marsh Posté le 24-02-2003 à 11:49:55   

Reply

Marsh Posté le 24-02-2003 à 11:51:12    

n'oublies pas le exit après le header


---------------
...oups kernel error...
Reply

Sujets relatifs:

Leave a Replay

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