PHP-Nuke France - Communauté Européenne: Forums

FAQFAQ  RechercherRechercher
Groupes d'utilisateursGroupes d'utilisateurs    Les rangsLes Rangs
ProfilProfil  Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés  ConnexionConnexion
*AVANT TOUT, consultez la charte de nos forums !

ATTENTION
En téléchargeant une version de PHP-Nuke autre que celle que nous proposons, vous prenez la décision de ne pouvoir prétendre à aucun support sur nos Forums.
Vous êtes libre de faire vos propres choix mais nous ne pouvons accepter de faire le travail des autres.
Par conséquent et en connaissance de cause, toute question relative à une autre version que celle que nous nous sommes engagé à supporter sera transférée à la corbeille.

 Prenez 2 minutes pour prendre connaissance plus en détails de notre fonctionnement

Mod. en cours de création Want Help ;)

Aller à la page 1, 2, 3, 4, 5, 6  Suivante
Poster un nouveau sujet   Répondre au sujet    PHP-Nuke France - CE Index du Forum Modules
Printer-friendly version
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
nic1305




Novice



Inscrit le: Sep 04, 2004
Messages: 21

MessagePosté le: 04.09.2004, 18:24:04    Sujet du message: Mod. en cours de création Want Help ;) Répondre en citant

Salut a tous,
je travaillais depuis pas mal de temps sur npds et je viens de me mettre a phpnuke puisqu'on ne m'en a dit que du bien.

j'aurais voulu avoir qq infos pour créer un module.
voila, donc pour le moment j'ai deja crée ma table, rempli etc... tout se passe bien.

mon script sert a faire des achats via allopass. jusqu'ici donc tout va bien. je souhaite simplement recuperer la valeur du pseudo du membre qui va/est en train de payer pour l'envoyer avec le formulaire allopass pour la verification du code.

le champ voulu s'appelle DATAS.

mon formulaire est donc ainsi :
<input type="hidden" name="DATAS" value="
<?
mon code php pour recuperer le pseudo
echo $pseudo;
?>
">


voila si vous pouviez m'aider pour le code php que je dois mettrez pour recuperer le pseudo

merci d'avance a tous ;)
Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé
ckforum




Habitué
Habitué



Inscrit le: Jan 06, 2004
Messages: 1653
Localisation: FRANCE

MessagePosté le: 04.09.2004, 20:13:21    Sujet du message: Répondre en citant

Salut nic1305,

Pas sûr d'avoir bien compris ta demande mais en gros si je comprend bien tu souhaites récupérer la valeure d'un champ posté ? mais cela n'est pas vraiment lié à phpnuke ?

En gros si ton champs s'appel et que ton formulaire poite sur un fichier (pour l'exemple) s'appelant test.php

Alors ensuite via le fichier test.php (lis les explications dans le texte commenté ! fichier de test à triturer dans tous les sens Smile )

Code:

<?

// fichier test.php
// à placer dans la root de ton site
// phpnuke sinon cela te génerera des erreurs !
// utilises le pour tests ensuite sinon
// il faudra créér un module !


// on appel le mainfile.php
// toujours nécéssaire sous nuke pour l'appel
// des fonctions principales !

require_once('mainfile.php');

// ici pour récuperer le nom stocké dans le cookie du user !
// si pas user alors $username = adr IP ! pour l'exemple

cookiedecode($user);
$ip = getenv("REMOTE_ADDR");
$username = $cookie[1];
if (!isset($username)) {
   $username = "$ip";
   $guest = 1; // cette variable sert par exemple à savoir si invité ou pas !
}


include ('header.php');

// ici on check si ta variable transmise via le formulaire
// est ok si oui on affiche !
// si non un message d'erreur par exemple
// ou ce que tu veux
// tu peux aussi faire des comparaisons entre
// la valeur du champs DATA et celle du cookie pour
// sécuriser un peu ETC !


   if (isset($_POST['DATAS'])) {
      echo "<p>".$_POST[DATAS]."";
      // là donc tu récuperes ta variable posté      
      echo "<p>$username\n";
      // là tu affiches nom de user ou ip !
      
   } else {
      
      echo "<p>pas de nom d'utilisateur valide !\n";
      // dons si variable transmise est vierge par exemple
      // a toi de créer d'autre test de la valeur !
      echo "<p>$username\n"; // une ip si pas de nom d'user
   
   }


include ('footer.php');
?>


Voilà avec cet exemple tu peux déjà t'entrainé pour gérer le pseudo user et récupérer une valeur transmise via un formualire pour ensuite comparer avec le cookie user !

Je préfere récupérer la variable $_POST['DATAS'] plus propre que de transmettre via la barre d'adresse ...

@+

_________________
Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....)
Revenir en haut
Deconnecte    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
nic1305




Novice



Inscrit le: Sep 04, 2004
Messages: 21

MessagePosté le: 04.09.2004, 20:38:54    Sujet du message: Répondre en citant

alors là, pour mon premier message je pensais pas une reponse pareil Shocked vraiment rien a dire, c'est trop trop sympa de m'aider avec autant de details Very Happy excellent et merci beaucoup

je vais etudier tout ca de plus pres, j'ai un peu modifié mon idée de depart parce qu'avec les popups j'ai peur de perdre des données de phpnuke donc je vais rester dans le "parent".

j'attaque ce soir mais je pense pas que ce soit gagné bien vite ;)

allez merci beaucoup, vraiment et j'espere vous ramener un beau module .... a voir Exclamation Cool
Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé
nic1305




Novice



Inscrit le: Sep 04, 2004
Messages: 21

MessagePosté le: 05.09.2004, 00:00:40    Sujet du message: Répondre en citant

re
alors voila je pense avoir bien avancé.

je me suis servi de la FAQ de Allopass qui aide pas mal.
par contre j'ai qq problemes avec phpnuke, on dirait qu'on peut que ouvrir la page /modules/Allopass/index.php parce que la page telechargement.php ca me fait ca :

Citation:

Warning: main(mainfile.php): failed to open stream: No such file or directory in /home/netsup/www/php/modules/Allopass/telechargement.php on line 2

Fatal error: main(): Failed opening required 'mainfile.php' (include_path='.:/usr/local/lib/php') in /home/netsup/www/php/modules/Allopass/telechargement.php on line 2

et je comprends pas pourquoi

voici les deux pages.
je vous explique rapidement ce qui se passe.
j'appelle la page index.php?id=xx donc on clik sur le lien qui selectionne l'id (un des telechargements securisés par allopass)...
on entre le code RECALL, et la variable DATAS est rempli toute seule avec le pseudo de la personne et on envoie le tout a ALLOPASS. A ce moment là, allopass renvoie 3 choix : OK et on lance le script qui telecharge le fichier, ERR, ou NOK pour dire que c pas bon, donc page d'erreur. Le premier probleme est le passage de la variable ID de la page index.php vers la page telechargement.php : je ne sais pas si allopass l'a fait passé d'une page a l'autre ou pas. j'ai posé la question a leur service teechnique, je devrais avoir la reponse demain ou apres demain.

voici les pages : j'aimerais donc savoir si je suis obligé de tout mettre dans l'index.php si y'a une restriction ou si c'est une erreur de ma part.

INDEX.PHP
Code:

<?php 
require_once('mainfile.php');
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}

$module_name = basename(dirname(__FILE__));
$pagetitle = "Allopass Mod. by NiC1305";

$index = 0;

include("header.php");
OpenTable();
  $id=$_GET['id'];
 
  ?>
  le script allopass qui passe pas ici, je sais pas pkoi
 
  <?
  CloseTable();
include("footer.php");


?> 


TELECHARGEMENT.PHP
Code:
<?php 
require_once('mainfile.php');
if (!eregi("modules.php", $PHP_SELF)) {
   die ("You can't access this file directly...");

}

$module_name = basename(dirname(__FILE__));
$pagetitle = "Allopass Mod. by NiC1305";

$index = 0;

include("header.php");
OpenTable();


$id=$_GET['id'];
// on créer la requete SQL et on l'envoie
$req_payant = "SELECT * FROM netsup_allopass where id=\"$id\"";
// on envoie la requete
$res_payant = mysql_query($req_payant) or die('Erreur SQL Requete PAYANT !<br>'.$req_payant.'<br>'.mysql_error());
echo $id;
echo $doc_id;
echo $recall;
echo $username;
echo $pseudo;
echo $user;
echo $url_doc;
echo $datas;
$RECALL=$_GET["RECALL"];
if (trim($RECALL)=="") { 
// La variable RECALL est vide, renvoi de l'internaute 
// vers une page d'erreur 
Header("Location: acces_vide.php"); 

// $RECALL contient le code d'accès 
$RECALL = urlencode($RECALL); 
// $AUTH doit contenir l'identifiant de VOTRE document 
$AUTH = urlencode("51704/141048/677950"); 
 
// $FICHIER_LOCAL doit contenir le chemin et le nom du fichier
//à téléchargé présent sur votre site
$FICHIER_LOCAL = $data['url_doc'];
// $FICHIER_INTERNAUTE doit contenir le nom du fichier qui sera créé sur
//l'ordinateur de l'internaute
// Ce nom ne doit pas être forcément le même que le nom du fichier local !
$FICHIER_INTERNAUTE = $data['nom_local']; 
   
// 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://www.allopass.com/check/vf.php4?CODE=$RECALL&AUTH=$AUTH&DATAS=$DATAS");
   
// on teste la réponse du serveur 
if (ereg("ERR",$r[0]) || ereg("NOK",$r[0])) {
// Le serveur a répondu ERR ou NOK : l'accès est donc refusé 
header("Location: erreur_faux.php"); 

// Le code est valide : on lance le téléchargement du fichier

if (file_exists($FICHIER_LOCAL)==true) {
   if (strstr($HTTP_USER_AGENT,"MSIE"))
      $attachment="";
   else
      $attachment=" attachment;";
   header( "Content-type: application/octet-stream" );
   header( "Content-Disposition:$attachment filename=$FICHIER_INTERNAUTE");
   header( "Content-Description: File Transfert" );
   readfile($FICHIER_LOCAL);
   exit;
}

      CloseTable();
include("footer.php");




dans cette page là, je fais des echo de tout ce que je peux pour voir ce qui est passé, c'est juste un test.
Merci d'avance a tous ;)
Revenir en haut
Caché    Voir le profil de l'utilisateur Envoyer un message privé
ckforum




Habitué
Habitué



Inscrit le: Jan 06, 2004
Messages: 1653
Localisation: FRANCE

MessagePosté le: 05.09.2004, 03:19:12    Sujet du message: Répondre en citant

Salut nic1305,

Non tu ne peux pas appeler le module de cette façon !
en fait tu demandes a ton fichier index.php de faire un require_once de mainfile.php dans son répertoire hors il n'existe pas dans ce répertoire car il est à la racine du nuke en fait quand tu créér un module tu dois l'appeler comme cela exemple !

Code:
http://www.tonsite.com/modules.php?name=Allopass&id=$id


Par exemple, et là en fait le mainfile sera bien pris en compte !

Ensuite le reste posera aussi quelque probleme notement au niveau des fichiers appelés via les conditions selon ton code ils devront être à la racine et non dans ce module !

car tu n'indiques pas de chemin exemple pour lefichier acces_vide.php
appeler dans la condition if (trim($RECALL)=="") {

son chemin devra être si tu souhaites le laisser dans le répertoire du module
Header("Location: modules/Allopass/acces_vide.php");

sinon il sera placé à la racine du site !

Fais ausi bien attention a la Casse du nom des fichiers ...

@+

_________________
Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....)
Revenir en haut
Deconnecte    Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur
Montrer les messages depuis:   
Printer-friendly version
Poster un nouveau sujetRépondre au sujet    PHP-Nuke France - CE Index du Forum Modules Toutes les heures sont au format GMT + 2 Heures
Aller à la page 1, 2, 3, 4, 5, 6  Suivante
Page 1 sur 6

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum
Vous ne pouvez pas joindre des fichiers dans ce forum
Vous pouvez télécharger des fichiers dans ce forum

:: Powered by phpBB © 2001, 2005 phpBB Group ::

Site motorisé par PHP-Nuke en version Française distribuée par PHP-Nuke France - CE
PHP-Nuke © 2004 by Francisco BURZI
Logiciel gratuit que vous pouvez redistribuer librement en respectant la licence GPL
Tout le contenu du site est copyright PHP-Nuke France - CE
Site déclaré à la C.N.I.L sous le n° de dossier 865996
Noms de domaines, hébergement et site propriété de RondPoint Médias Services - Jean-Claude GIRAUD
Design RMS - Création RondPoint Médias Services   RondPoint Médias Services - © 2005 / 2006
Réseau : Etxe Ama - Ovalie - PHP-Nuke France : CE - RondPoint Médias Services - La Vallouise