Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: cheztom le le 01-09-2010 a 23:58:19

Titre: [Résolu] script php et allopass
Posté par: cheztom le le 01-09-2010 a 23:58:19

Bonjour,

Je suis actuellement sur un script d'instant gagnant en php avec allopass en module de paiement.
Je n'arrive pas à le configurer comme je veux, n'étant pas programmeur php cé normal^^

Mon script fonctionne de le manière suivante:

achat.php((page du script d'achat allopass))
-->5.php((compteur et redirection, page protégé par allopass))
-->perdu.php((si le client à perdu))
ou-->gagner.php((le client à gagné il enregistre ses coordonnées puis redirection))
-->5-mail.php((construction et envoi du mail des coordonnées du gagnant))


1er page achat.php avec script allopass suivant:


Code:
<input type="hidden" id="ids" name="ids" value="xxxxxx" />
<input type="hidden" id="idd" name="idd" value="xxxxxx" />
<input type="hidden" name="recall" value="1">
<input type="hidden" id="lang" name="lang" value="fr" />

la variable recall permet de demandé au serveur d'allopass, si le code client est bien valide, on la vérifie dans la page 5.php et allopass nous la renvoi dans l'url de la page de la manière suivante: 5.php?recall=xxxxxx&code=xxxxxx

2ème page 5.php vérification+compteur de l'instant gagnant, redirection php:


3ème page perdu.php(je ne met pas le code, pas besoins)
ou
3ème page gagner.php avec le formulaire pour les coordonné du gagnant:(pas besoins aussi)


4ème page 5-mail.php, récupération des données du formulaire de la page gagner.php:


puis on redirige le gagnant sur une page de remerciement


Donc mes problèmes sont les suivants:

D'abort les plus simples,
le 1er est mon intérogation de cookie sur les pages suivantes, donne une validité jusqu'à ce que le naviguateur du client soit fermé

Code:
if( $HTTP_COOKIE_VARS['CODE_OK'] != '1')
{
header( "Location: erreur.html" );
exit(1);
}

hors, moi je voudrais qu'il soit valide pour une seul viste sur la page (pour la sécurité)

Le 2ème est le suivi des stats google en version dynamique pour php:
(uniquement page 5.php et 5-mail.php)

Pour résumé on prend le js classique de google, on le met sur le serveur dans une page par ex: track.php et on fait une include-->include_once("track.php")dans la page à suivre, problème ça marche pas, pas de suivie de ces pages

Et le 3ème et pas des moindres qui va faire appel a votre savoir si préssieux:

le code du client est renvoyé dans l'url, comme je vous ait expliqué plus haut, avec la variable recall, hors je voudrai récupérer ce fameux code(des gagnants de préference ou de tous si pas possible que gagnant) de façon à l'intégrer dans le mail des coordonnées du gagant, ou dans un nouveau mail ou dans un fichier txt sur le serveur avec l'heure, la date et l'ip du visiteur afin sécurisé au mieux le trafic
Là je suis dépassé par mon tous petit savoir, si une âme charitable passe par là, je là remercie d'avance de prendre de sont temps car je sais que j'en demande beaucoup (pas de base de donnée,heberg:1and1.fr)

Titre: Re:script php et allopass
Posté par: cheztom le le 02-09-2010 a 15:26:00

Je pense avoir trouvé en parti:

j'ai le premier code qui fonctionne très bien pour récupérer dans un fichier la date, heure et ip

Code:
// 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

Code:
      $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 maintenant 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

Titre: Re:script php et allopass
Posté par: Pad le le 02-09-2010 a 17:56:28

Un truc du genre :


Code:

// 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($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


// 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,"$Scheme / $Host / $Query / $param / $Path \r\n");

// Fermeture du fichier
fclose ($fd);

Titre: Re:script php et allopass
Posté par: cheztom le le 02-09-2010 a 18:19:14

Tous d'abord merci de ton aide

j'ai bien les info dans le fichier par contre path m'indique ma page précédente j5.html ou est mon script d'allopass et non ma page 5.php(page de retour protégé par allopass) ou se trouve le code
Et Query ne m'affiche rien alors que cé l'information la plus importante à récupérer car allopass appel ma page de retour-> 5.php?recal=xxxxxxl&code=xxxxxx hors je voudrai récupérer les info après 5.php? voir l'url complète afin de stocker le code du client dans le fichier

Titre: Re:script php et allopass
Posté par: cheztom le le 02-09-2010 a 19:34:43

J'ai trouvé ça 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

Titre: Re:script php et allopass
Posté par: Pad le le 02-09-2010 a 20:09:37

Tu as juste à les inscrire dans ton fichier :


Code:

// écriture dans le fichier
fwrite ($fd,"$date / $heure / $ip \r\n");
fwrite ($fd,"$_SERVER['SERVER_NAME'] / $_SERVER['REQUEST_URI'] \r\n");

Titre: Re:script php et allopass
Posté par: cheztom le le 02-09-2010 a 20:26:39

j'ai l'erreur suivante:
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/29/d320597792/htdocs/j5/5.php on line 128

Titre: Re:script php et allopass
Posté par: Pad le le 02-09-2010 a 20:54:10

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/29/d320597792/htdocs/j5/5.php on line 128

qu'est-ce que tu as à la ligne 128 de ton fichier 5.php

Titre: Re:script php et allopass
Posté par: cheztom le le 02-09-2010 a 21:18:37

fwrite ($fd,"$_SERVER['SERVER_NAME'] / $_SERVER['REQUEST_URI'] \r\n");

Titre: Re:script php et allopass
Posté par: cheztom le le 03-09-2010 a 09:07:01

Problème résolut, ce qui 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);


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.