Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/04/2008, 19h05   #1
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Par défaut fonction indéfinie microtimestamp

Bonjour à tous,

J'ai un petit souci que je n'arrive pas à résoudre...

J'ai une fonction :
Code :
1
2
3
4
5
6
7
8
9
10
 
function microtimestamp()
{
	list($usec, $sec) = explode(" ",microtime(true));
    return ((float)$usec + (float)$sec);
	//list($msec, $sec) = explode( ' ', microtime());
	//return ((float) $sec + (float) $msec);
}
 
$start = microtimestamp();
Que j'appelle dans un fichier entete.php.
Et un fichier enpied.php qui contient :

Code :
1
2
3
4
5
 
<?
$end = microtimestamp();
$temps_s = round($end - $start,3);
?>
Et j'obtiens l'erreure suivante :
Code :
Fatal error: Call to undefined function: microtimestamp() in /mnt/104/sdb/9/9/SITE/graph/enpied.php on line 2
Les deux fichiers sont bien entendus appelés....
FAI = Free

Je ne vois vraiment pas le problème la...

Merci de votre aide !!!
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 19h19   #2
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Salut,
la fonction est déclaré dans quel fichier ?

pour l'utiliser la déclaration doit être accessible pour l'entête et le pied de page...
__________________
Zend PHP5 Certification
MySQL 4 Core Certification
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 19h58   #3
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Le premier bout de code fourni est dans le fichier entete.php.
Donc la fonction est définie dans le fichier entete.php, le premier appelé.
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/04/2008, 22h10   #4
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Salut

Pour info, microtime(TRUE) te renvoie un Float et non un Array
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 08h43   #5
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Message déplacé sans avertir auteur ?

Que je mette true ou rien cela ne fonctionne pas. J'avais mis true pour essayer mais ce n'est plus en place.

J'ai remarqué autre chose, mes variables php sans vides dans certains scripts alors qu'elles sont initialisées dans mon fichier entete.....Je ne comprend vraiment pas. Comme si à la fin du script les variables/fonctions se détruisaient, avaient leurs portées qui s'arrete la.

Merci de votre aide !!!
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/04/2008, 12h13   #6
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Sans voir de code, j'aurai du mal à te répondre.
Dans tous les cas, remplace <? par <?php cela t'exposera à moins de problèmes.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 16h57   #7
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Quel code voudrais tu voir ?

Je t'ai mis l'ensemble du code concerné il me semble. Non ?

Je vais essayer pour la balise. Je te tiens au courant.
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 17h03   #8
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Citation:
Envoyé par samtheh Voir le message
Quel code voudrais tu voir ?

Je t'ai mis l'ensemble du code concerné il me semble. Non ?
Je ne sais pas, tu parlais de ça mais je n'ai pas vu le code concerné :
Citation:
J'ai remarqué autre chose, mes variables php sans vides dans certains scripts alors qu'elles sont initialisées dans mon fichier entete.....Je ne comprend vraiment pas. Comme si à la fin du script les variables/fonctions se détruisaient, avaient leurs portées qui s'arrete la.
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 17h11   #9
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Et bien je n'ai pas plus de code à montrer que ce que j'ai expliqué :

fichier entete :
Code :
1
2
3
4
 
<?
$var_1 = "toto";
?>
fichier enpied :

Code :
1
2
3
4
 
<?
echo $var_1; //affiche rien....
?>
Voila.
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 18h01   #10
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Montre voir un fichier où tu inclus ces deux fichiers.
__________________
Zend PHP5 Certification
MySQL 4 Core Certification
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2008, 18h06   #11
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Je ne sais pas quelle configuration tu utilises, ni de quelle année datent tes cours en PHP, mais en 2008 les choses se font légèrement différemment d'en 2001 par exemple.

La seule balise ouvrante PHP (raisonnable) est :
La balise fermante est :
La configuration recommandée php.ini contient notamment (en développement) :
Code :
1
2
3
4
5
6
7
8
register_globals = Off
magic_quotes_gpc = Off
short_open_tag = Off
asp_tags = Off
safe_mode = Off
error_reporting  =  E_ALL|E_STRICT
display_errors = On
log_errors = On
Différence en production :
Ensuite, tu devrais installer une extension Xdebug ou DBG afin de savoir ce qu'il se passe dans ton script (profil d'exécution).
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 08h16   #12
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Citation:
Je vais essayer pour la balise. Je te tiens au courant.
Je répéte donc je vais essayer avec la balise dont tu me parle.
Et je te donnerais le résultat.

Je n'ai pas accès au php.ini :
Citation:
FAI = Free
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 10h09   #13
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Tu y as un accès limité grâce à un fichier .htaccess
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 16h34   #14
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
Oui mais je ne sais pas comment réaliser cela avec le htaccess.
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 17h28   #15
Rédacteur
 
Avatar de Yogui
 
Homme Guillaume Rossolini
Directeur technique
Inscription : février 2004
Messages : 13 720
Détails du profil
Informations personnelles :
Nom : Homme Guillaume Rossolini
Localisation : France

Informations professionnelles :
Activité : Directeur technique

Informations forums :
Inscription : février 2004
Messages : 13 720
Points : 17 355
Points : 17 355
Essaie comme ceci :
Code :
1
2
3
php_value register_globals Off
php_value magic_quotes_gpc Off
...
[Edit] Tu peux vérifier la configuration précise en appelant cette fonction dans un script :
__________________
Mes articles - Zend Certified Engineer (PHP + Zend Framework)
Ressources PHP - Ressources Zend Framework
Yogui est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/04/2008, 23h51   #16
Membre régulier
 
Inscription : juin 2005
Messages : 449
Détails du profil
Informations forums :
Inscription : juin 2005
Messages : 449
Points : 83
Points : 83
J'ai trouvé l'origine du problème, je n'utilisais pas correctement les adresses. J'utilisais des adresses absolues, alors qu'a priori il n'aimait pas du tout. Il fallait utiliser des adresses relatives avec une fonction du style :

Code :
1
2
3
4
5
6
7
 
$resultat=substr_count($_SERVER["PHP_SELF"], "/");
$chemin='';
for($i=1;$i<$resultat;$i++)
	{
		$chemin=$chemin.'../';
	}
En tout cas le problème ne venait pas des balises php. Puisque tout fonctionne très bien. Mes cours sont peut être vieux mais ils me servent toujours !
samtheh est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h36.


 
 
 
 
Partenaires

Hébergement Web