pas plus d'un clic toutes les 24 heures

Répondre
Necnom
le 26/08/2007 à 06:05
Necnom
Dans ce cas là alors, c'est tout a fait normal que ça marchait pas avant( l'adresse). Puisque les variables sont nulles. Tu peux montrer le code qui établit les variables stp.
Peut-être qu'il manque juste un truc comme un ";" .
Necnom :)
raphlight
le 27/08/2007 à 10:06
raphlight
voilà le code de ma page :

<?php
session_start();
if (!isset($_SESSION['login'])) {
header ('Location: index.php');
exit();
}
?>
<?php
$unix = time();
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$server = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$server = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$server = $_SERVER['REMOTE_ADDR'];
}

mysql_connect ('******', '******', '******');
mysql_select_db($dbname);

$url = mysql_real_escape_string($_GET['url']);

$strquery = sprintf("INSERT INTO tableUrl VALUES('%s','$server','$unix')",$url);
mysql_query($strquery) or die('Erreur SQL !<br />'.$strquery.'<br />'.mysql_error());
mysql_close();

$echeance = 365*24*3600; // fin du cookie dans 365 jours
// Envoi du cookie avec l'url
setcookie ("url", $url, time() + $echeance);

$fp = fopen ("lien.txt", "w");
//declaration de la variable
$nom_lien = htmlentities(stripslashes(trim($_SESSION['login'])));
// effacement du fichier
fseek ($fp, 0);
// ajout du nouveau lien
fputs ($fp, $nom_lien);
// fermeture du fichier
fclose ($fp);

mysql_connect ('******', '******', '******');
mysql_select_db ('ma_base', $base) ;

// lancement de la requete
$sql = 'SELECT fin FROM membre WHERE login = "$mon_url"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();

header('Location: http://'.$url.'.miniville.fr/'.$data['fin']);
exit();
?>


Oups, je viens de remarquer que je me connecte 2 fois à ma bdd... le problème peut-il venir de là ?
http://raphlight.free.fr/trad.php
moogli
le 27/08/2007 à 11:58
moogli
salut,

STP utilise le wall :)

au vu de ton code il faut que soit plus rigoureux !
- toujours vérifier l'existance est le contenu d'une variable fournie par l'utilisateur
- ne pas utiliser de variable qui sortent de nulle part ;)
- commencer par mettre sur papier ce que tu souhaite faire avant de te lancer pour ne pas partir n'importe (peut te paraitre bête mais c'est rudement éfficace ;)).

Pourquoi ton header ne fonctionne pas ?

parce que tu ne teste pas le retour de ta seconde requete sql (aucun tuple n'est retourné !).
Pourquoi ? parce que tu utilise une variable qui n'existe pas dans la construction de ta requete ($mon_url n'existe pas dans le script que tu nous a montré !).

La seconde connection à la db n'est pas un pb en soit mais autant l'éviter ;)

les exit sont inutile !

j'ai acorrigé aussi deux trois trucs (suppréssion des " au profit des ', modif de l'ouverture du fichier pour utiliser fopen correctement ;) etc).

tout est sur le wall http://www.lephpfacile.com/wall/wall-382.php

Pour finir : Quand quelque chose ne fonctionne pas c'est très souvent ce qu'il y a au dessus qui met le souk.

Je ne dit pas que ton code va focntionner au copier colle que tu risque de faire ;) (c'est même certain que non) mais tu devrais je pense t'en sortir !

@+
Il en faut peu pour être heureux !!!!!
raphlight
le 28/08/2007 à 17:55
raphlight
ok, merci beaucoup !
je vais essayer ton code.

Au fait, la variable $mon_url, c'est le contenu d'un fichier texte, je l'ai déclaré dans la page surlaquelle on est obligé d'aller pour accéder à la page de traitement :
<?php 
$fp = fopen("lien.txt","r");
$mon_url = fgets($fp,30); // ici :P
fclose($fp);
?>
http://raphlight.free.fr/trad.php
raphlight
le 28/08/2007 à 17:59
raphlight
Ton code donne ceci :

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in /mnt/109/sdb/8/1/raphlight/miniville2/click.php on line 33
http://raphlight.free.fr/trad.php
moogli
le 28/08/2007 à 19:43
moogli
si le code d'ouverture du fichier est pas sur la même page c'est mort !

pour l'erreur si tu ne nous montre pas la ligne c'est pas gagner !
(en gros pb de quote ou de ;)

@+
Il en faut peu pour être heureux !!!!!
raphlight
le 29/08/2007 à 12:09
raphlight
Bah c'est toi qui m'a donné le code !
Tu vas sur ton wall et tu vas à la ligne 33. Ce qui donne :

$strquery = 'INSERT INTO tableUrl VALUES(\''.$url'\',\''.$server.'\',\''.$unix.'\')';
http://raphlight.free.fr/trad.php
moogli
le 29/08/2007 à 23:03
moogli
je savais que tu avais fait un cc exact :)

il manque un point après $url ....

désolé d'avoir fait cet oubli.

Je te consei vivement un editeur de texte avec coloration syntaxique (voir debug de php) qui permet souvent de voir se genre d'oublie !
Il en faut peu pour être heureux !!!!!
raphlight
le 29/08/2007 à 23:32
raphlight
Oui j'ai fais un copié/collé pour voir si ca marche et éventuellement je modifierais le code après smiley

Comme éditeur de texte j'utilise le bloc-note et ça me convient :)

Merci beaucoup à :

- Amery
- moogli
- et à tous ceux qui m'ont aidé !!
Le topic peut enfin être clos ^^

Ca maaaaaarche !!! smiley
http://raphlight.free.fr/trad.php
moogli
le 30/08/2007 à 10:19
moogli
woua :)

c'est super pratique la colorisation.

y a plein de soft gratuit qui la font !

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours