Assembler 2 script php

Résolu/Fermé
cheztom Messages postés 10 Date d'inscription jeudi 2 septembre 2010 Statut Membre Dernière intervention 5 mars 2013 - 2 sept. 2010 à 15:57
cheztom Messages postés 10 Date d'inscription jeudi 2 septembre 2010 Statut Membre Dernière intervention 5 mars 2013 - 3 sept. 2010 à 18:19
Bonjour,

j'ai le premier code qui fonctionne très bien pour récupérer dans un fichier la date, heure et ip
// Récupération de l'ip du visiteur
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;

}


// ouverture du fichier
$fd = fopen ("log.txt" ,"a+");

// récupération de la date et de l'heure
$date = date ("d-m-Y");
$heure = date ("H:i");

$ip = detectip();

// écriture dans le fichier
fwrite ($fd,"$date / $heure / $ip \r\n");

// Fermeture du fichier
fclose ($fd);


Et j'ai ce 2ème code qui me donnera les info de l'url de la page 5.php

$param = parse_url($HTTP_REFERER);
$Scheme = $param["scheme"]; // ex. http ou ftp
$Host = $param["host"]; // le nom de domaine ex. www.domaine.com
$Path = $param["path"]; // le chemin de le fichier ex. test/fichier.php
$Query = $param["query"]; // toutes les variable passées en requête

Mon problème est d'assemblé les 2 codes pour enregistré dans le fichier du 1er code les info du 2ème et je ne sais pas comment faire
merci d'avance



A voir également:

5 réponses

varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 705
2 sept. 2010 à 16:05
Bonjour, essaye comme suit:

<?php
$param = parse_url($HTTP_REFERER);
$Scheme = $param["scheme"]; // ex. http ou ftp
$Host = $param["host"]; // le nom de domaine ex. www.domaine.com
$Path = $param["path"]; // le chemin de le fichier ex. test/fichier.php
$Query = $param["query"]; // toutes les variable passées en requête 


// Récupération de l'ip du visiteur
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
	$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
	}
	elseif(isset($_SERVER['HTTP_CLIENT_IP']))
	{
	$ip = $_SERVER['HTTP_CLIENT_IP'];
	}
	else
	{
	$ip = $_SERVER['REMOTE_ADDR'];
	}
	return $ip;
}

// ouverture du fichier
$fd = fopen ("log.txt" ,"a+");

// récupération de la date et de l'heure
$date = date ("d-m-Y");
$heure = date ("H:i");

$ip = detectip();

// écriture dans le fichier
fwrite ($fd,"$date / $heure / $ip \r\n");
fwrite ($fd,"$Path\r\n");

// Fermeture du fichier
fclose ($fd); 
?>
1
varfendell Messages postés 3256 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 8 février 2020 705
3 sept. 2010 à 09:35
Rajoute cette ligne avant la fermeture du fichier.
Ton fichier contiendra toute les info qu'il peut avoir, si ce que tu cherche à afficher n'est pas dedans c'est qu'on ne peut pas le mettre:

fwrite ($fd,"$Query / $RECALL / $AUTH / $r[0] / $r[1] / $nbvisites / $visiteur / $param / $Scheme / $Host / $Path\r\n $ip");


Apres c'est a toi de le mettre correctement:

si tu as "00001" et "infobibon"
et que tu souhaite ecrire

http://infobidon.00001.fr c'est possible, il suffit juste de bien l'écrire dans le bonne ordre dans le fichier.
1
cheztom Messages postés 10 Date d'inscription jeudi 2 septembre 2010 Statut Membre Dernière intervention 5 mars 2013
2 sept. 2010 à 17:48
tous d'abord merci pour ton aide,

j'ai bien l'information de Path qui s'écrie dans le fichier par contre il me donne l'information de la page précédente, je m'explique

1er page j5.html (script allopass) avec dans le formulaire <input type="hidden" name="recall" value="1" /> cette variable (recall) permet de demandé au serveur d'allopass si le code est ok et répond dans la page de retour page protégeé par allopass (5.php) par l'apel de l'url de la page dans le naviguateur de la manière suivante:
/5.php?recall=xxxxxx&code=xxxxxx
hors moi si que je veux cé recuprer se qu'il y a après ? ou l'url complète et avec Query on doit pouvoir récupérer toutes les variable passées en requête, j'ai remplacé Path par Query dans le code que tu ma donné, mais rien dans le fichier

je te met le script de la page 5.php en entier ça sera peut être plus claire

<?php
$RECALL = $_GET["RECALL"];
if( trim($RECALL) == "" )
{
// La variable RECALL est vide, renvoi de l'internaute

// vers une page d'erreur
header( "Location: erreur.html" );
exit(1);
}
// $RECALL contient le code d'accès
$RECALL = urlencode( $RECALL );

// $AUTH doit contenir l'identifiant de VOTRE document

$AUTH = urlencode( "xxxxxx/xxxxxx/xxxxxxx" );

/**
* envoi de la requête vers le serveur AlloPAss
* dans la variable $r[0] on aura la réponse du serveur
* dans la variable $r[1] on aura le code du pays d'appel de l'internaute
* (FR,BE,UK,DE,CH,CA,LU,IT,ES,AT,...)
* Dans le cas du multicode, on aura également $r[2],$r[3] etc...
* contenant à chaque fois le résultat et le code pays.
*/
$r = @file( "http://payment.allopass.com/api/checkcode.apu?code=$RECALL&auth=$AUTH" );

// on teste la réponse du serveur

if( substr( $r[0],0,2 ) != "OK" )
{
// Le serveur a répondu ERR ou NOK : l'accès est donc refusé

header( "Location: erreur.html" );
exit(1);
}

/**
* Le code est valide !
* on place un cookie appelé CODE_OK et qui vaut la valeur 1
* Ce cookie est valide jusqu'à ce que l'internaute ferme son navigateur
* Dans les pages suivantes, il n'y aura plus qu'à tester l'existence du cookie
* S'il existe, c'est que l'internaute est autorisé,
* sinon on le renverra sur une page d'erreur
*/
setCookie( "CODE_OK", "1", 0, "/", ".mondomaine.com", false );


/**
* Remplacez dans la ligne ci-dessus ".mondomaine.com" par le nom de domaine
* de votre site!
* Par exemple, si votre site est accessible à l'adresse :
* http://perso.herbergeur.com/mapage
* alors il faudra que vous mettiez ".herbergeur.com"
* (n'oubliez pas le "." devant le nom de domaine !!)
*/



$fp = fopen("5.txt","r+");
$nbvisites = fgets($fp,255);
if($nbvisites == 10) // CHANGER CETTE VALEUR TOUT LES X APPELE IL GAGNER LE LOT ICI IL GAGNE TOUT LES 10 APPELES
{
$fp1 = fopen("5.txt","w+");
$nbvisites1 = fgets($fp1,255);
$nbvisites1++;
fseek($fp1,0);
fputs($fp1,$nbvisites1);
fclose($fp1);
$nbvisites = 1;
}
else{
$nbvisites++;
}
fseek($fp,0);
fputs($fp,$nbvisites);
fclose($fp);
$visiteur = $nbvisites;
if ($visiteur == 10) // AJOUTER LA MEME VALEUR QUE LE HAUT CHANGER CETTE VALEUR TOUT LES X APPELE IL GAGNER LE LOT ICI IL GAGNE TOUT LES 10 APPELES
{
header('location: gagner.php'); // IL EST REDIRIGER VERS CETTE PAGE SI IL GAGNE
}
else // SINON il a perdu on redirige le perdant est on affiche le nombres de perdant
{
header('location: perdu.php?visite='.$visiteur.''); // IL EST REDIRIGER VERS CETTE PAS SI IL PERD
}

$param = parse_url($HTTP_REFERER);
$Scheme = $param["scheme"]; // ex. http ou ftp
$Host = $param["host"]; // le nom de domaine ex. www.domaine.com
$Path = $param["path"]; // le chemin de le fichier ex. test/fichier.php
$Query = $param["query"]; // toutes les variable passées en requête

function detectip()
{
// Récupération de l'ip du visiteur
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;

}


// ouverture du fichier
$fd = fopen ("log.txt" ,"a+");

// récupération de la date et de l'heure
$date = date ("d-m-Y");
$heure = date ("H:i");

$ip = detectip();

// écriture dans le fichier
fwrite ($fd,"$date / $heure / $ip \r\n");
fwrite ($fd,"$Query\r\n");
// Fermeture du fichier
fclose ($fd);


include_once("track.php");

?>
0
cheztom Messages postés 10 Date d'inscription jeudi 2 septembre 2010 Statut Membre Dernière intervention 5 mars 2013
2 sept. 2010 à 19:38
J'ai trouvé ça pour remplacer $Query mais je sais pa l'implanté dans mon code et écrire les info dans le fichier

[code]Pour récupérer l'url complète d'un script, on utilise les variables prédéfinies $_SERVER['SERVER_NAME'] et $_SERVER['REQUEST_URI'].

* $_SERVER['SERVER_NAME'] renvoie le nom du serveur hôte qui exécute le script
* $_SERVER['REQUEST_URI'] renvoie tout le reste de l'url y compris les variables transmises par la méthode GET

Exemple

//Dans le script se trouvant à l'adresse http://www.monsite.com/test/test.php?test=10
echo $_SERVER['SERVER_NAME']; //Affiche www.monsite.com
echo $_SERVER['REQUEST_URI']; //Affiche /test/test.php?test=10[/code]
0

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

Posez votre question
cheztom Messages postés 10 Date d'inscription jeudi 2 septembre 2010 Statut Membre Dernière intervention 5 mars 2013
3 sept. 2010 à 18:19
je te remerci bien de ton aide, j'ai résolut mon problème ce code m'affiche dans .txt
Date, Heure, Ip du visiteur, la chaine de caractère du code client renvoyé par allopass dans l'url: /5.php?recallxxxxxx&codexxxxxx et j5/5.php

Code:
function detectip()
{
// Récupération de l'ip du visiteur
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
{
$ip =$_SERVER['HTTP_X_FORWARDED_FOR'];
}
elseif(isset($_SERVER['HTTP_CLIENT_IP']))
{
$ip = $_SERVER['HTTP_CLIENT_IP'];
}
else
{
$ip = $_SERVER['REMOTE_ADDR'];
}
return $ip;

}


$param = parse_url($_SERVER['REQUEST_URI']);
$Path = $param["path"]; // le chemin du fichier ex. test/fichier.php
$Query = $param["query"]; // toutes les variable passées en requête


// ouverture du fichier
$fd = fopen ("log.txt" ,"a+");

// récupération de la date et de l'heure
$date = date ("d-m-Y");
$heure = date ("H:i:s");

$ip = detectip();

fwrite ($fd,"$date / $heure / $ip \r\n");// écriture dans le fichier
fwrite ($fd,"$Query / $Path \r\n");

// Fermeture du fichier
fclose ($fd);
0