1 script ca va 3 bonjour les degats

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : 1 script ca va 3 bonjour les degats

par albat » 07 févr. 2006, 16:02

Est-ce que ceci te donne le résultat souhaité ?
<body>
<?php
include ('script.php');
?>
Date d'expiration : <?php echo (date('r',$ExpDate)); ?><br />
Date d'expiration : <?php echo (date('r',$ExpDate)); ?><br />
</body> 
Il ne faut pas appeler 2 fois ton script externe
car il a pour effet de redéfinir une fonction déjà définie.

Donc :
- soit tu supprimes le 2e include(), comme je l'ai fait ci-dessus
- soit tu remplaces include() par include_once() et PHP testera s'il est nécessaire de réinclure.

:!: les balises s'écrivent en bas de casse.

par sr34000 » 07 févr. 2006, 15:57

le probleme n'est pas d'avoir deux appels à des fonctions existantes.
le probleme, c'est que avec les include, je définis deux fois la fonction creer_fichier_nbjour()
d'ou l'erreur.

Comment faire si oui je veux avoir deux <?php echo (date('r',$ExpDate)); ?> différents

c'est pour cela que je souhaite lancer 2 fois le script

par sr34000 » 07 févr. 2006, 13:23

sans avoir a créer srcipt.php et script2.php

avoir 2 <?php echo (date('r',$ExpDate)); ?> diférent en utilisant la meme fonction

par sr34000 » 07 févr. 2006, 13:20

Salut je me suis mal exprimé

voici un script de base qui fonctionne

Code : Tout sélectionner

<HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> <?php include ('script.php'); ?> Date d'expiration : <?php echo (date('r',$ExpDate)); ?> <BR> </BODY> </HTML>
et voici script.php

Code : Tout sélectionner

<?php $fichier=$rep_cache . aa . '-date.php'; function creer_fichier_nbjour($fichier,$ExpDate) { $txt = '<?php $ExpDate=' . $ExpDate . '; ?>'; $fp = fopen ($fichier, 'w'); fputs ($fp, $ExpDate); fclose ($fp); } $ExpDate = time() - (mt_rand(1,10)) * 86400; ?>
cela fonctionne bien

mais si je veux lancer 2 fois script.php voici le message d'erreur

Code : Tout sélectionner

<HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> <?php include ('script.php'); ?> Date d'expiration : <?php echo (date('r',$ExpDate)); ?> <BR> <?php include ('script.php'); ?> Date d'expiration : <?php echo (date('r',$ExpDate)); ?> <BR> </BODY> </HTML>
Fatal error: Cannot redeclare creer_fichier_nbjour() (previously declared in /home/users/....) in /home/users/.... on line 3

Que faut il faire pour pouvoir lancer deux fois la meme fonction a la suite l'une de l'autre.... sans que cela plante

par albat » 07 févr. 2006, 12:15

On peut voir les morceaux en question ?

par jeff » 07 févr. 2006, 12:07

moi je poserai le truc autrement quel est l'interet de scindé ton fichier en 3

peut etre que la solutio serait de creer des fonctions

par titerm » 07 févr. 2006, 12:03

metre des <?php et ?> au debut et a la fin de chaque morceau...
c'est grossier comme truc mais on sait jamais....

1 script ca va 3 bonjour les degats

par sr34000 » 07 févr. 2006, 10:00

Salut

1 script ca va 3 bonjour les degats

pourquoi si on prend un script qui marche et qu'on le coupe en 3 celui ci ne marche plus


Je part d'un script existant et qui marche, je le coupe en 3, je crée donc 3 fichiers qui contienent chacun un morceau du script

Puis je créer un fichier index.php qui inclu les trois morceaux pour reconstituer le tout

Code : Tout sélectionner

<?php include ($_SERVER['DOCUMENT_ROOT']. '/morceau01.php'); include ($_SERVER['DOCUMENT_ROOT']. '/morceau02.php'); include ($_SERVER['DOCUMENT_ROOT']. '/morceau03.php'); ?>
et bien cela ne marche alors que le script de base était bon...


Que faut il faire... pour que cela marche