| |
|
|
| PHP-Nuke France - Communauté Européenne: 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
| Voir le sujet précédent :: Voir le sujet suivant |
|
|
|
nic1305

Novice
Inscrit le: Sep 04, 2004 Messages: 21
|
Posté le: 06.09.2004, 16:18:05 Sujet du message: |
|
|
bon j'ai trouvé un truc qui pourrait repondre a mes besoins : un 2 en 1 !!
par contre pour ce qui est de l'adaptation, c'est pas gagné.
je vous donne le lien si qqn veut essayer de m'aider parce que là... euh bah j'arrive pas trop a recuperer variables dans popup puis envoyé le dl, ....
http://www.editeurjavascript.com/scripts/scripts_publicite_3_179.php |
|
 |
|
|
nic1305

Novice
Inscrit le: Sep 04, 2004 Messages: 21
|
Posté le: 07.09.2004, 18:03:24 Sujet du message: |
|
|
reflexion reflexion reflexion ...
je reflechis depuis mon dernier message et je me rends compte que les popups ne sont qu'un soucis de securité supplémentaire.
j'ai donc pensé a deux choix différents :
- afficher la page payante .pdf dans la page "parent" ou se trouve phpnuke et ouvrir une popup avec lien retour au site etc... mais popup qui est encore bloké par les antipopup.
- soit utiliser des frames ou pseudoframes en affichant un bandeau en haut avec marqué ...chargement en cours de votre fichier... clikez ici pour retourner au site .... et en dessous mettre le fichier pdf.
j'aimerais savoir si c'est mieux de faire ca en php ou en html ? parce que j'ai deniché un script qui me permet de mettre le fichier a telecharger dans un repertoire dit "temporaire" puis une fois le fichier d/l on le supprime du repertoire "cache" mais celui ci utilise des header() et je ne sais pas si ca passe dans les pseudosframes si je veux faire le script dans la page du bas et afficher une page en haut, je pense que le header va prendre l'integralité ? non ? enfin merci a vous a l'avance |
|
 |
|
|
ckforum

Habitué

Inscrit le: Jan 06, 2004 Messages: 1653 Localisation: FRANCE
|
Posté le: 07.09.2004, 19:32:54 Sujet du message: |
|
|
RE nic...
Ouh la tu t'envoles là
Bon pour essayé de faire en sorte que d'autres utilisateurs n'ayant ps suivi tous les posts essayes dêtre précis dans le scénario de ce que tu souhaites faire !
Soit exemple :
____Un user veut payer
|______ il vas sur la page ou se trouve ton formulaire (1)
|______ ou il veux pas et il revient (2)
Si cas (1) alors
___
|_______ on envoie les données du formulaire sur une page php
qui vas récupérer un accord Allopass
|_______ si accord allopass alors ou envoie (génere) ou affiche
un pdf qui peut intégré un lien de retour soit dans le
fichier lui meme ou dans un iframe quelquonque
Bref comme tu vois je ne suis pas sur d'avoir compris et encore une fois je pense que tu peux faire plus simple car le pdf que tu génrer ou récupere lui il peut peu être s'ouvrir tout simplement dans une nouvelle fenêtre non ? et dans ce cas dans ta fenêtre active tu peu par exemple mettre un formulaire qui demande à l'utilisateur si oui ou non il a bien pris connaissance du "pdf" en question si oui hop ou supprime le pdf et on revient au site ou a la section précédente ...
Certe c'est moin technique mais cela passera peut être plus facilement !
pour ce qui est de l'ouverture d'une nouvelle fenetre c'est pas trop compliqué en fait tu ouvre une nouvelle fenetre ou ton pdf s'affichera et avec un p'tit bout de code JS tu redimensionne automatiquement la taille de la fenetre genre :
| Code: |
<script language="JavaScript" type="text/javascript">
self.moveTo(0,0);
self.resizeTo(window.screen.width/1.5,window.screen.height-100);
</script>
|
Je continue mon raisonnement pour que tu vois l'intérêt de ce petit bout de code !
En fait pour faire "comme si" il s'agissait d'une pop up tu vas tout simplement dire à ton formulaire d'envoyer ses valeur à une page quelqu'onque en php exemple :
<form name="rrr" method="post" action="toto.php"> ETC...
et dans toto.php tu redimensionnes automatiquement la fenetre voila mais il y a toujours un mais :p cela ne suffira pas pour ouvrir une nouvelle ferentre via une action sur un formulaire donc on va avoir besoin de coder en JS soit je te passe un vieux bout de code qui fonctionne toujours apparement celui ci est dans un fichier html que je te post ici tests le et vois ce que tu peux en faire ensuite il suffit tout simplement de le transposer dans du php !
Amuses toi bien !
| Code: |
<html>
<body>
<script language="JavaScript" type="text/javascript">
<!--
// -------------------------------------
// Demande de confirmation de l'affichage de la demande
// si vrai alors on execute le sendform
// si faux alors on retourne false et le sendform s'arrête !!!
// -------------------------------------
function ckapercu() {
if (confirm('Êtes vous sûr de vouloir valider cette demande ?')) {
sendForm('code.txt','text/plain');
return true;
}else {
return false;
}
}
// -----------------------------
// script pour lancer le forumlaire de test
// -----------------------------
function sendForm(action,encoding) {
if (document.images) {
document.registerForm.action = action;
document.registerForm.encoding = encoding;
}
return true;
}
<!-- Begin
// test variables
var isResizable = true;
// -----------------------------------------
// fonction permettant d'ouvrir une fenetre
// de "target" en mode popup
// -----------------------------------------
function createTarget(form) {
_target = form.target;
_colon = _target.indexOf(":");
if(_colon != -1) {
form.target = _target.substring(0,_colon);
form.args = _target.substring(_colon+1);
} else if(typeof(form.args)=="undefined") {
form.args = "";
}
if(form.args.indexOf("{")!=-1) {
_args = form.args.split("{");
form.args = _args[0];
for(var i = 1; i < _args.length;i++) {
_args[i] = _args[i].split("}");
form.args += eval(_args[i][0]) + _args[i][1];
}
}
form.args = form.args.replace(/ /g,"");
_win = window.open('',form.target,form.args);
if(typeof(focus)=="function")
_win.focus();
return true;
}
// End -->
</script>
<form name="registerForm" method="post"
target="foobar:width={400},height={200} scrollbars,left=0,top=0, {(isResizable)?'resizable':''}, status" onSubmit="return createTarget(document.registerForm)">
Ton champs DATAS ! => <input type="text" name="DATAS" value="123434353453432332" >
<br/>
Bein sûr tu rajoutes les codes que tu souhaites !
<br/>
<input tabindex=10 type="submit" value="Aperçu de la demande" name="B1" onClick="return ckapercu();">
<input tabindex=11 type="button" value="Annuler et revenir" name="B2" onClick="history.back();">
</form>
</body>
</html>
|
Nota: le principe est non pas d'ouvrir un pop up de maniere classique mais de redefinir la cible du formualire un peu comme si tu faisait une action simple du style form action="toto.php" mais en fait au lieu de l'ouvrir dans la meme fenetre tu lui dis via du JS de l'ouvrir dans une nouvelle fenetre en la redimensionnant et hop voila un pop up qui n'en est presques pas un !
mais je n'ai pas testé avec tout les navigateur avec ie SP2 cela passe apres validation de l'acceptation de l'ouverture des fenetre du site le reste je ne sais pas !
TESTS LE CELA D'ABORD EN HTML pour VOIR SI CELA TE VA !  _________________ Bah on fait ce qu'on peut Hein Pas vrai ? ! et Vous !!!
(pas de demande d'aide via MP Merci ....) |
|
 |
|
|
nic1305

Novice
Inscrit le: Sep 04, 2004 Messages: 21
|
Posté le: 10.09.2004, 11:03:31 Sujet du message: |
|
|
Salut a tous
j'ai reussi a trouver le code pour forcer le telechargement d'un fichier pdf.
mais voila mon probleme : le fichier qui est telechargé n'est pas le fichier .pdf attendu mais le fichier .php ????
si vous pouviez m'aider parce que je comprends pas tres bien.
en fait j'ai le $nom du document qui est dans la page index.php puis dans cette page j'ai un formulaire qui envoie le titre du fichier (pas le nom). une fois le formulaire validé, le titre est recupéré et on appelle les variables $url_doc (chemin) et $nom_local (nom avec extension).
voici le formulaire
| Code: | // On affiche le formulaire pour valider et envoyer le fichier
echo "FORM ACTION=\"formacces.php\" METHOD=POST NAME=\"download\" TARGET=_blank";
echo "Cliquez sur le lien pour lancer le telechargement.<br>";
echo "input type=\"hidden\" name=\"nom\" value=$nom";
echo "A HREF=\"javascript:document.download.submit()\"Valider/A/FORM"; |
le nom est bien affiché si je mets TEXT a la place de HIDDEN
et voici le code de la page formacces.php
| Code: | ?php
include("config.php");
include("mainfile.php");
$nom=$_POST['nom'];
echo $nom;
// on crée la requête SQL
$req = "SELECT url_doc,nom_local FROM netsup_allopass WHERE nom=\"$nom\"";
// on envoie la requête
$res = mysql_query($req) or die('Erreur SQL !br'.$req.'br'.mysql_error());
while($data = mysql_fetch_array($res))
{
echo $url_doc;
echo $nom_local;
switch(strrchr(basename($Fichier_a_telecharger), ".")) {
case ".pdf": $type = "application/pdf"; break;
default: $type = "application/pdf"; break;
}
header("Content-disposition: attachment; filename=$nom_local");
header("Content-Type: application/force-download");
header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
header("Content-Length: ".filesize($url_doc . $nom_local));
header("Pragma: no-cache");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
header("Expires: 0");
readfile($url_doc . $nom_local);
}
? |
merci d'avance
et svp comment vous faites pour mettre des balises < < et > dans les CODE ? moi j'arrive pass |
|
 |
|
|
|
|
|
|
|
|
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 :: |
|
|
|
|
|
|