Page 1 sur 2

index.php?var=mapage.htm marche pas

Posté : 13 déc. 2005, 02:04
par Mokonziya
Bonjour juste pour un petit soucie.

J'avais un site chez amen en web pro (hebergement) je suis passé sur un serveur privé mais tous mes liens en www.monsite.com/index.php?var=mapage.htm ne marchent plus. Ceci est du a quoi?
Désolé de venir ici mais le support d'amen n'est pas très réactifs. :cry:

merci

Re: index.php?var=mapage.htm marche pas

Posté : 13 déc. 2005, 03:06
par DocType
Bonjour juste pour un petit soucie.

J'avais un site chez amen en web pro (hebergement) je suis passé sur un serveur privé mais tous mes liens en www.monsite.com/index.php?var=mapage.htm ne marchent plus. Ceci est du a quoi?
Désolé de venir ici mais le support d'amen n'est pas très réactifs. :cry:

merci
C'est de la faute à ta boucle numéro 3. Elle réalise une redondance sur le while , qui n'est pas très appreciée par le for !
De plus, une variable interne manque !

Non, je tiens à te rassurer, je ne parle jamais comme cela. C'était juste pour te montrer que sans aucune donnée du code on arrivera pas à t'aider ! :roll: Nous sommes encore loin de la lecture dans les pensées :wink:

Alors :
- soit tu laisses une url
- soit tu nous poste le script d'inclusion des fichiers.

Et je suis certain qu'avec ces données supplémentaires, on arrivera à trouver une solution au soucis :wink:

Posté : 13 déc. 2005, 03:24
par mokonzi
Ok ben en fait c simple.

Avant quand j'étais sur le pack web pro de mon herbergeur amen j'avais une page index dans la quelle j'ai inséré ce petit bout de code :
<?php
	  if(empty($var)) {
	  include("accueil.htm");
	  } elseif(file_exists($var)) {
	  include($var);
	  } else {
	  include("404.htm");
	  }
?>
Ce qui me pertait de garder ma page index.php fixe sur la quelle j'ai mis des liens qui incluaient des pages dans le centre de cette page index. Ainsi il me suffisait de faire appel à des pages via des liens de ce type

www.monsite.com/index.php?var=mapage.php
www.monsite.com/index.php?var=mapage2.php
...

Sa marchait bien en web pro mais des que je suis passé sur le serveur privée de chez amen chaque fois que je clic sur un lien il n'y a rien qui ne se passe au centre. La page accueille reste toujours la page affichée.

Je ne saurait pas être plus claire

merci d'avance :lol:

Posté : 13 déc. 2005, 03:40
par DocType
Ok ben en fait c simple.

Avant quand j'étais sur le pack web pro de mon herbergeur amen j'avais une page index dans la quelle j'ai inséré ce petit bout de code :

<?php
if(empty($var)) {
include("accueil.htm");
} elseif(file_exists($var)) {
include($var);
} else {
include("404.htm");
}
?>

Ce qui me pertait de garder ma page index.php fixe sur la quelle j'ai mis des liens qui incluaient des pages dans le centre de cette page index. Ainsi il me suffisait de faire appel à des pages via des liens de ce type

www.monsite.com/index.php?var=mapage.php
www.monsite.com/index.php?var=mapage2.php
...

Sa marchait bien en web pro mais des que je suis passé sur le serveur privée de chez amen chaque fois que je clic sur un lien il n'y a rien qui ne se passe au centre. La page accueille reste toujours la page affichée.

Je ne saurait pas être plus claire

merci d'avance :lol:
Tout code n'est pas bon DU TOUT !
De plus, vu les visites sur ton site et l'offre d'amen, (traffic illimité) je ne comprends pas pkoi ils te virent ! Je ne pense pas que tu sois grand consommateur...
J'aimerais bien connaître le traffic que tu utilises (vois tes statistiques), car prendre un serveur dedié pour ça !

Pour ton code, si le site est codé de la même façon, bon courage...
Depuis toujours, on récupère les données de l'url via http_get_vars, et depuis php 4.x.x, c'est $_GET qui le remplace. Si tu veux modifier ton fonctionnement de apache, ce sera à tes risques et périls. Sache que si ça ne fonctionne pas de base, dans 99% des cas c'est du à un code mauvais...
Et je te conseille de recoder le site proprement, car il y a d'assez gros risques de securité si il est codé comme ça... :roll:

Posté : 13 déc. 2005, 04:39
par mokonzi
Je suis débutant en PHP. Sur tout le site, y a que ce bout de code que j'ai fais moi mm. Tout le reste ce sont des modules que j'ai recupéré sur des site comme phphotscripts.

Amen m'a dit que je dépassais en fait le nombre de hits autorisés. C'est pour ça j'ai du changer et passer à un serveur privé.

Que me conseilles tu alors pour mon insertion de page à la place de mon code ?

Posté : 13 déc. 2005, 09:19
par iclo
Consulte la FAQ sur le forum, le post concernant la récuperation de variable issues de get et post, et le passage de register_global à off.
Ca te permettra de comprendre le comment du pourquoi...

Posté : 13 déc. 2005, 17:50
par DocType
Amen m'a dit que je dépassais en fait le nombre de hits autorisés. C'est pour ça j'ai du changer et passer à un serveur privé.
Vas vite chez un autre hebergeur... www.infomaniak.ch par exemple...
Tu n'auras plus de soucis :wink:

Posté : 14 déc. 2005, 04:43
par Monkonzi
Bon je viens de me rendre compte que le problème venait au niveau du transfert des variable.

Et donc ma question est de savoir où faut il regarder sur un serveur lorsqu'on arrive pas à passer une variable d'une page à une autre.

J'ai crée deux pages form.php + resultat.php

form.php

Code : Tout sélectionner

<form name="form1" method="post" action="resultat.php"> <input type="radio" name="var" value="ok"> </form>
resultat.php
<?php 

echo"$var";
?>
Lorsque je suis sur easyphp lorsque je valide le formulaire et je poste. La page resultat.php s'ouvre et Ok s'affiche. Je prends les deux fichiers je les places sur mon serveur privée chez amen. La page resultat ne s'ouvre pas et y a rien qui est affiché. D'ou peut provenir le problème.

Et lorsque dans la barre d'adresse je tape

http://localhost/monsite/resultat.php?var=0k
Alors sur la page resultat s'affiche OK

Je refait pareil sur mon serveur privée
http://mondomaine/resultat.php?var=OK

la page reste blanche.

Merci de me guider si c un problème de config de mon serveur (surement) mais ou aller voir ??

Merci

Posté : 14 déc. 2005, 10:05
par Cyrano
Si tu avais un peu creusé ce que t'a mentionné iclo, tu aurais découvert que si la directive register_globals est à OFF dans le fichier de configuration de PHP, tu ne pourras pas récupérer les valeurs de ton formulaire simplement en créant une variable du nom du champ de formulaire. Pourtant, tes valeurs sont bien présentes, mais dans une autre variable dite "super-globale" : $_POST ou $_GET selon la valeur de l'attribut method de ta balise <form>

Ainsi, si tu as :
<form name="form1" method="post" action="resultat.php">
  <input type="radio" name="var" value="ok">
</form>
Dans ta page de résultat, tu vas récupérer la valeur saisie en faisant :
$var = $_POST['var'];
echo("<p>". $var ."</p>\n");
Dans la super-globale $_POST, tu retrouveras les valeurs aux index correspondant aux noms des champs de ton formulaire à l'exception des champs de type "file" que tu retrouveras dans une autre super-globale $_FILES.

Posté : 14 déc. 2005, 10:15
par DocType
Je repète une tite phrase que j'ai dit tout en haut...
Depuis toujours, on récupère les données de l'url via http_get_vars, et depuis php 4.x.x, c'est $_GET qui le remplace

Posté : 14 déc. 2005, 13:45
par momox
Tiens, a une epoque j'avais fait un script du même genre pour faire les includes mais ca donnait plutôt ca le mien:
<?php
if(isset($_GET['page'], $_GET['page'] && file_exists('home/'.$_GET['cat'].'/'.$_GET['page'].'.php')){
include('home/'.$_GET['page'].'.php');
}
elseif(!file_exists('home/'.$_GET['cat'].'/'.$_GET['page'].'.php')){
include('home/404.php');
}
else
{
include('home/index.php');
}
?>
J'ai ptet fait un erreur quelque part mais bon...
@+
PS:je sais ca ressemble a ton code mais le mien(sans me vanter) evite d'avoir un bordel monstre sur le repertoire principal de ton site

Posté : 14 déc. 2005, 17:53
par s3b54sk8
<?php
if(isset($_GET['page'], $_GET['page'] && file_exists('home/'.$_GET['cat'].'/'.$_GET['page'].'.php')){
Ca serait pas ca la petite erreur ?
if(isset($_GET['cat'], $_GET['page'] && file_exists('home/'.$_GET['cat'].'/'.$_GET['page'].'.php')){
:wink:

Posté : 14 déc. 2005, 18:19
par mokonzi
J'ai vérifier et encore revérifier en éditant mon php.ini via putty et j'ai bien

register_globals = On

Je comprend plus rien ! Même quand j'essaye d'installer PHPBB lorsque je valide le formulaire de départ, il se passe rien malgré que tous les paramètres sont correctes.

Posté : 14 déc. 2005, 19:35
par iclo
De toute façon, pour des raisons de sécurité, il faut considerer que register_global est à off, car sinon, c'est une faille de sécurité dans les scripts, ensuite on ne sait jamais un jour ton site peut se retrouver sur un serveur où le register_global sera à off sans que tu puisses le modifier...

Posté : 15 déc. 2005, 23:35
par mokonzi
Oui mais je fais comment alors si tout mes scripts nécéssitent que la Registrar_globals soit sur On ???

Dois-je tout recoder alors que je ne touche pas une bille en PHP.

Et j'ai encore vérifier mon php.ini, mon Registrar_globas est bien sur On. :shock:

SA commence vraiment à prendre la tête comment pourrais-je m'ensortir ??? A l'aide !!!