Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1764 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Script erroné en passant au php5.4

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Script erroné en passant au php5.4

n°2192704
guisaim
Posté le 04-06-2013 à 12:32:04  profilanswer
 

Bonjour,
Mon hébergeur passe du php4 au php5.4 et de ce fait mon script de téléchargement avec compteur ne fonctionne plus ! Un  message me dit que la redirection n'est pas bonne.
Voici le script en question:

Code :
  1. <a href="../clic.php?url=Telechargements/Cartes.zip" onClick="return confirm('===== A V E R T I S S E M E N T ===== \n Cliquez sur OK si vous acceptez le règlement.')"><img src="../images/Telechargement.jpg"></a>
  2. <br><font face=verdana size=2>(<?include"../Telechargements/Telechargements_Cartes.zip.txt"?> )</font>


 
Merci à vous si vous pouvez m'éclairer
A+

Message cité 1 fois
Message édité par guisaim le 04-06-2013 à 13:35:08
mood
Publicité
Posté le 04-06-2013 à 12:32:04  profilanswer
 

n°2192709
Tristou
Keep calm and hack cookies
Posté le 04-06-2013 à 13:22:30  profilanswer
 

Y'a quoi dans clic.php ?
 
Met ton code entre les balises code, ça permet de mieux y voir ;).


---------------
"About your cat Mr. Schrödinger : I have good news and bad news"
n°2192710
guisaim
Posté le 04-06-2013 à 13:45:01  profilanswer
 

Merci d'avoir répondu !
dans clic.php il y a ceci (script que j'avais trouvé sur le net et qui fonctionnait très bien en php4)

Code :
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. $fichier=str_replace ("/", "_", "$url" ); // remplacement des caractères spéciaux dans les noms de fichiers
  4. $fichier="Telechargements/".$fichier.".txt"; // ouvrir le fichier texte pour chaque telechargement
  5. if(!file_exists("Telechargements" ))    //  ouvrir le fichier nommé telechargements
  6. {mkdir("data",0755);}                  // chmoder le fichier ( permettre l'ecriture sur ceux-ci )
  7. if(!file_exists("$fichier" )){          // si le fichier existe
  8. $fp=fopen("$fichier","w" );             // écriture sur le fichier
  9. fputs($fp,"0" );
  10. fclose($fp);}
  11. $fp=fopen("$fichier","r+" );
  12. $nb=fgets($fp,10);
  13. $nb++;
  14. fseek($fp,0);
  15. fputs($fp,$nb);
  16. fclose($fp);
  17. Header("Location:$url" );
  18. ?>


 
En php5.4, le message d'avertissement apparait mais quand on clique sur OK rien ne se passe.....pas de téléchargement !

Message cité 1 fois
Message édité par guisaim le 04-06-2013 à 14:02:42

---------------
Ce qui compte pour la richesse ce n'est pas d'en disposer mais d'en profiter !!!
n°2192712
FranceDenB​as
1 dépense = 1 socialiss' :o
Posté le 04-06-2013 à 14:27:50  profilanswer
 

guisaim a écrit :

Bonjour,
Mon hébergeur passe du php4 au php5.4 et de ce fait mon script de téléchargement avec compteur ne fonctionne plus ! Un  message me dit que la redirection n'est pas bonne.
Voici le script en question:

Code :
  1. <a href="../clic.php?url=Telechargements/Cartes.zip" onClick="return confirm('===== A V E R T I S S E M E N T ===== \n Cliquez sur OK si vous acceptez le règlement.')"><img src="../images/Telechargement.jpg"></a>
  2. <br><font face=verdana size=2>(<?include"../Telechargements/Telechargements_Cartes.zip.txt"?> )</font>
 

Merci à vous si vous pouvez m'éclairer
A+

 

Effectivement, c'est le grand saut. :ouch:

 
guisaim a écrit :

Merci d'avoir répondu !
dans clic.php il y a ceci (script que j'avais trouvé sur le net et qui fonctionnait très bien en php4)

Code :
  1. <?php
  2. error_reporting(E_ALL ^ E_NOTICE);
  3. $fichier=str_replace ("/", "_", "$url" ); // remplacement des caractères spéciaux dans les noms de fichiers
  4. ...



 

En php5.4, le message d'avertissement apparait mais quand on clique sur OK rien ne se passe.....pas de téléchargement ![/quotemsg]

 

les register_globals n'existent plus en 5.4 :

Citation :


register_globals boolean

 

Définit si oui ou non les variables EGPCS (Environment, GET, POST, Cookie, Server) seront enregistrées comme des variables globales.

 

Depuis » PHP 4.2.0, la valeur par défaut de cette directive est off.

 

Lisez le chapitre sur la sécurité concernant l'utilisation de register_globals pour plus d'informations.

 

Notez que register_globals ne peut pas être défini durant le traitement ( ini_set()). Vous pouvez utiliser .htaccess si votre hôte vous le permet comme décrit ci-dessous. Exemple d'une entrée .htaccess : php_flag register_globals off.

 

Note:

 

La directive register_globals est affectée par la directive variables_order .

 

Avertissement

 

Cette fonctionnalité est devenue OBSOLETE depuis PHP 5.3.0 et a été SUPPRIMEE depuis PHP 5.4.0.


http://fr2.php.net/manual/fr/ini.c [...] er-globals

 

En remplacant $url par $_GET['url'] ça devrait mieux passer déjà.

 
guisaim a écrit :


Code :
  1. ...
  2. Header("Location:$url" );
  3. ?>



 

C'est header en minuscule (pas forcément gênant vu que php est insensible à la casse pour les fonctions mais il faut mieux avoir l'habitude de bien respecter la casse (pour éviter de se mélanger), vu que pour les variables et attributs de classe, php est sensible à la casse).

 

edit : correction typo


Message édité par FranceDenBas le 04-06-2013 à 14:38:04

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
n°2192723
guisaim
Posté le 04-06-2013 à 14:57:19  profilanswer
 

Si j'effectue le remplacement par $_GET['url'] j'ai l'erreur suivante en ligne 3 et 17:
 
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/32/d160618161/htdocs/clic.php on line 3


---------------
Ce qui compte pour la richesse ce n'est pas d'en disposer mais d'en profiter !!!
n°2192742
FranceDenB​as
1 dépense = 1 socialiss' :o
Posté le 04-06-2013 à 16:00:01  profilanswer
 

guisaim a écrit :

Si j'effectue le remplacement par $_GET['url'] j'ai l'erreur suivante en ligne 3 et 17:

 

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /homepages/32/d160618161/htdocs/clic.php on line 3

 

Effectivement y'a des "" :

 

Soit modifies les 2 lignes :

Code :
  1. $fichier=str_replace ("/", "_", $_GET['url']);


et

Code :
  1. header("Location: ".$_GET['url']);
 

ou sinon tu rajoutes seulement (et ne touches pas au reste)

Code :
  1. $url = $_GET['url'];
 

avant

Code :
  1. $fichier=str_replace ("/", "_", "$url" );



Message édité par FranceDenBas le 04-06-2013 à 16:01:21

---------------
"Il a inventé le bougisme : je bouge donc je suis" :sol: - Dupont-Aignan à propos de Son Altesse Sérénissime Sarkal 1er. Merci Handsome Devil et Meriadeck.
n°2192766
guisaim
Posté le 04-06-2013 à 17:53:22  profilanswer
 

Merci !!!!
Ca fonctionne parfaitement en changeant les 2 lignes.
Bonne soirée


---------------
Ce qui compte pour la richesse ce n'est pas d'en disposer mais d'en profiter !!!

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Script erroné en passant au php5.4

 

Sujets relatifs
Script d'activation de scriptScript d'automatisation de tache
[HTML/CSS/Javascript] Lien et script à partir de l'attribut altscript en langage batch
script shellscript perl
Exécution en local d'un script cgi[SHELL] Appel script .sh dans page http
recherche google via script pythonConnexion FTP en passant par un proxy
Plus de sujets relatifs à : Script erroné en passant au php5.4


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR