FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Afficher une page php
 

Afficher une page php

1 utilisateur anonyme et 88 utilisateurs inconnus
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Afficher une page php
 
Plus d'informations

Bonjour,
Je viens poster ici car la je suis vraiment au bout du rouleau. Mon probleme est le suivant. Un intranet ( dont jai pu récupérer le code ) doit etre émuler sur mon pc afin de pouvoir servir de plateforme de test. Donc j'ai dans un premier temps j'ai essayé avec EasyPhp puis avec XAMPP puis pour finir avec WAMP. Et toujours le même résultat : une page blanche( A noter qu'avec des pages d'essai tout s'affiche bien ).
Donc apres entretient avec un responsable du réseau , celui-ci me dit que cela vient de ma version php car tout a été codé par rapport à la version 4.4.7 de php dont le zip etait dispo sur la machine intranet ainsi que phpmyadmin et mysql. Donc afin de simuler carrement l'intranet jai décidé de passer via IIS 5.1. La configuration pour le php est correct cependant j'ai toujours le meme probleme qu'avec les precedents server : une page blanche ( A noter une fois de plus que les pages de test s'affiche tres bien et que l'on m'assure que le code de l'intranet est correct).
Donc j'aimerai avoir votre avis sur d'ou pourrait venir le probleme.
 
(Pour décrire vite fait le fonctionnement de l'intranet au lancement :
Index.php:

<?
 
$adresse = "http://".$_SERVER['SERVER_NAME']."/";
echo $adresse;
header(
 "Location: ".$adresse."dijon/" );
exit();
?>


Je fais appel a l'index se situant dans le dossier dijon
 
dijon/index.php :
 

<?php
session_start();
require_once("http://".$_SERVER['SERVER_NAME']."/fonctions.txt" );
$relPath=calcul_rel_path($_SERVER['PHP_SELF']);
require($relPath.'connexion.php');
require_once($relPath.'config.php');
$nom_intranet=strtok(dirname($_SERVER['PHP_SELF']),'/');
$page='accueil';
$page=$page.'_'.$nom_intranet;
$lien_relatif=lien_relatif($_SERVER['PHP_SELF']);
$url=$relPath.'modeles/template.php';
$contenu="pages/accueil.php";
include ($url);
?>


J'inclue different fichiers dont fonctions.txt qui contient toutes les fonctions utilisés. Ce fichier est un code php.
=> calcul_rel_path sert a determiner le niveau dans la racine( dans le cas ci dessus il va nous renvoyer ./)
=> lien_relatif sert a faire du remplacement de caracteres
 

function calcul_rel_path($string) {
$tok = strtok($string,"/" );
$tok = strtok("/" );
$i=0;
while ($tok !== false) {  
$tok = strtok("/" );
$i++;
}
$chaine="";
for($j=0;$j<$i;$j++){
$chaine .= "../";
}
return $chaine;
}


 

function lien_relatif($path) {
$path=dirname($path);
$mot=$path;
$maj=$mot[0];
$maj = str_replace($maj, '/','');
$mot = substr_replace($mot,$maj,0,1);
return $mot;
}


 
Et au final je remplis $contenu par le chemin d'une page et je fais appel a une page de mise en forme qui comprend entete et pied de page et dans ce fichier template.php je charge $contenu.
 
Dans la théorie, cela devrait fonctionner et cela fonctionne sur notre intranet. Cependant ici cela ne marche pas et je soupconne l'inclusion de fichier.txt d'apres mes tests précédents.
 
Merci d'avoir lu ce post en espérant des réponses ^^
Cordialement
Croumir

Plus d'informations

Sinon il y a la commande phpinfo pour voir la version de ton php.
 
C'est bizarre ta page blanche, tu as bien importer la bdd qui va avec (s'il y a) ?

Plus d'informations

Pour la BDD, je pense que le probleme vient de la , jessaie de l'injecter en ce moment meme , je vous tiens au courant ^^" ...... apperement une connexion au démarrage qui n'etait pas en accord avec les mdp définit sur la BDD.  
Wait and see

Plus d'informations

Alors faudra qu'on m'explique , j'en perd toute logique. Avec un code de site personnel taper en html php avec des inclusions de page php. Tout marche, donc aucun probleme sur la lecture du php en théorie.
 Mais pour mon intranet meme avec une page qui contient :
<? echo'<a>coucou</a>'; ?> cela ne marche pas , feuille blanche =/ , pourtant jai essayé de redémarrer IIS. Rien ny fait.

zeb
Profil : Modérateur libre
Plus d'informations

(croumir, pour publier plusieurs lignes de code, au lieu de [fixed], utilise [code] s'il te plaît. Si c'est du C/C++, utilise [cpp]. C'est de toute façon un synonyme :lol: )


Message édité par zeb le 26-11-2007 à 18:13:39

---------------
Règlement du forum / Règlement de Programmation / Règlement du Monde de Linux euh, n'y en a pas...
Plus d'informations

Pardon , il ne m'etait pas venu à l'idée de mettre en balises code C/C++ du code php ....
En ce qui concerne le probleme , avant , seul le code de la page index.php ( celui à la racine ) ne marchait pas , aucune commandes ne marchaient en php ( Pourtant sans probleme en test avec un site en php).
Jai ,cette fois ci, bien injecter ma BDD , installé correctement mysql mais maintenant c'est IIS qui me boude.  
 

The page cannot be displayed  
There is a problem with a program on the page you are trying to reach, and the page cannot be displayed.  
 
--------------------------------------------------------------------------------
 
Please try the following:
 
Open the 127.0.0.1 home page, and then look for links to the information you want.  
Click the Refresh button, or try again later.
 
HTTP 403.1 Forbidden: Execute Access Forbidden
Internet Information Services
 
--------------------------------------------------------------------------------
 
Technical Information (for support personnel)
 
 
Background:
You have attempted to execute a CGI, ISAPI, or other executable program from a directory that does not allow programs to be executed.
 
 
More information:
Microsoft Support  
 


 
En gros je suppose qu'il ne peut lire les .php cependant je ne vois pas quoi faire pour resoudre cela.
1° J'ai installé IIS 5.1 avec le CD de WINDOWS XP SERVICE PACK 2
2° Puis j'ai configuré IIS avec la méthode ISAPI:
- Mettre les 2 DLL php4isapi.dll et php4ts.dll dans le répertoire C:\WINDOWS\System32\Inetpub
- Jai modifié le regedit ( dans Script MAJ avec 2 REG_SZ pour .php et .php3 chacune pointant sur la dll  php4isapi.dll  
- Jai copié le php.ini dans C:\WINDOWS
 
3° Dans les propriétés de IIS jai :
Site Web
Mis IP:127.0.0.1 port:80
delai de connexion : 120
Jai cocher : Activer les connexions HTTP Persistantes
- Activer l'enregistrement dans un journal : format W3C
 
Filtre ISAPI , jai mis un chemin vers la dll en question  
C:\WINDOWS\System32\Inetpub\php4isapi.dll ( la fleche est verte et vers le haut)
 
Repertoire de base sur D: , en ayant bien entendu cocher "D'un répertoire situé sur cet ordinateur' et jai coché en dessous : lecture / Acces au journal / Indexer cette ressource
Script Only
et le reste par defaut
 
Dans documents par défaut jai rajouté index.php
 
Sécurité de répertoire: je n'ai rien touché ainsi que les autres onglets.
 
Jai bien installé Mysql, le service mysql existe et tourne, je peux me connnecter a ma BDD en commande.
 
Bref je suis perdu ^^"...

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Code :
  1. echo $adresse;
  2. header(
  3. "Location: ".$adresse."dijon/" );
  4. exit();


 
Interdit d'afficher quoi que ce soit avant header :o

Plus d'informations

Oui pardon , le echo etait pour mes tests en mettant la suite en commentaires ^^".... m'enfin bon voila ou j'en suis:
Le php marche sur IIS cette fois
Le code de index.php s'execute ( note pour ceux qui aurait un probleme de ce genre : mettre le php entre balise <?php ?> et non <? ?>, étrangement le code ne s'éxécute pas sinon ).
Ma BDD MySql me semble correctement mise :  
- le service MySql tourne ( pour voir , allé en invité de commande et faire 'net start' )
- Le mot de passe et le host de la BDD sont correctement défini dans mon fichier connexion.php et je peux m'y loguer et faire des requetes dessus en mode de commande.
 
Le probleme que j'ai, dans dijon\index.php tout ce qui se trouve apres :
$relPath=calcul_rel_path($_SERVER['PHP_SELF']);  
Qui fait appel à une fonction définit à fonctions.txt inclut par require_once juste avant.
Edit : c'est bon j'ai trouvé .... les balises <? a mettre en <?php et des espaces manquant entre les balises du genre :<?phpecho au lieu de <?php echo ..... Mais je trouve cela bizarre que ce code ci marche sur l'intranet deja mise en place... Cela vient-il de IIS 6.0 ( Windows Server 2003 ) ? Pourtant nous utilisons a priori les memes versions de php / mysql.

Plus d'informations

Hmm, bon maintenant nouveau probleme, la liaison avec la BDD qui ne se fait pas apperement.
J'ai installé MySqL Server 4.1 dans C:\Programs Files\MySQL
Avec le .exe dans le dosiier bin se situant dans :
C:\Program Files\MySQL\MySQL Server 4.1\bin
Je configure de facon standar le service Mysql avec meme mot de passe admin que sur l'intranet d'origine.
Je copie la BDD 'intranet' dans le dossier data:
C:\Program Files\MySQL\MySQL Server 4.1\data
Et en me connectant avec Mysql -u root -p
Puis 'use intranet' et 'Show tables;' aucun problemes , la BDD marche impec. Cependant aurais-je oublié un détail ?

Plus d'informations

Résolu , donc mon probleme et ma solution se trouve ici :
http://www.presence-pc.com/forum/p [...] 5449-1.htm


Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Afficher une page php
 

Annonces Google
Publicité
Les ressources relatives