[PHP] Etrange ...

Statut
N'est pas ouverte pour d'autres réponses.

SkYlEsS

Elite
:signe: Que ce forum serait ennuyeux sans moi :p :proud:

J'ai découvert un truc bizarre que pitetre quelqu'un saura m'expliquer ...

Je fais appel à une url de type " forum_delete?id='.$tab['0'].' ", vous l'aurez remarquez j'avais oublié le ".php" (Non ? Alors vous êtes aussi inattentif que moi :roll: ). Dans cette page, j'appelle une requête puis j'entame une redirection. Ca c'était pour le contexte.

Je tombe évidemment sur une page non trouvée, je reviens en arrière, j'actualise et je m'aperçois que la requête à toutefois été réalisée ... alors que la page était introuvable vu qu'j'avais omis le ".php" pour rappel !

N'est-ce point bizarre ? :gne:

Tiens, j'en profite pour vous pouser une autre question (tant qu'à faire) :

  • Existe-t-il une fonction qui vérifie s'il y a une certaine valeur dans l'url ?

    forum.php?forum=1&tid=4 par exemple, j'aimerais vérifier l'existence du tid. Retournerai TRUE ici.

    forum.php?forum=1 retournerai FALSE.
 

AssiuM

Fan
pour vérifier l'existence d'une variable tu as la fonction isset

( php.net/isset )
 
1er
OP
SkYlEsS

SkYlEsS

Elite
AssiuM a dit:
pour vérifier l'existence d'une variable tu as la fonction isset

( php.net/isset )
J'ai déjà essayé mais ça ne fonctionne pô ;)
 

Ahava

Revenant
isset($_GET['id']) retourne vrai si la variable existe !


Pour le reste j'ai pas compris :D



edit

SkYlEsS a dit:
J'ai déjà essayé mais ça ne fonctionne pô ;)
Je l'utilise tout le temps et ca marche vraiment ;)
 
1er
OP
SkYlEsS

SkYlEsS

Elite
C'est qui'l y a une erreur ailleurs ... bizarre mais 'vais vérifier. Donc j'avais raison :proud:

En bref, lorsque j'appelle forum?id=3, il ne trouve pas la page (normal puisque j'ai omis le .php) mais il exécute toutefois la requête contenue dans forum.php?id=3 ... o_O
 

Ahava

Revenant
Montre ton code, ca sera plus simple !
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Avec ce code :

Code:
echo '<a href="[COLOR=DarkOrange]forum_delete[/COLOR]?fid='.$tab['7'].'&tid='.$tab['0'].'"><img id="delete_'.$i.'" src="boutons/delete.gif"class="img" alt=""  /></a>';
Lorsque je clique, j'obtiens une erreur 404 : logique. Mais lorsque je reviens sur la page précédente et que j'actualise, je remarque que la requête contenue dans "forum_delete.php" a été exécutée ... o_O

Alors que j'aurais du tapper ceci évidemment :

Code:
echo '<a href="[COLOR=DarkOrange]forum_delete.php[/COLOR]?fid='.$tab['7'].'&tid='.$tab['0'].'"><img id="delete_'.$i.'" src="boutons/delete.gif"class="img" alt=""  /></a>';
Ca n'a strictement aucun importance de savoir ce qui s'est passé mais je trouvais juste cela bizarre et je me demandais s'il y avait une explication rationnelle :roll:
 

guslinux

Gamerz'ien
Apache n'interprete que certains fichiers, les fichiers .php,.phps,...
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Apparemment, je m'exprime mal ... pitetre aussi au fait que ce n'est pô évident d'expliquer :pfiou:

Je demande PAR ERREUR d'exécuter une page qui n'existait pas "forum_index" et qui ne possède aucune extenction. La vraie page se nomme "forum_index.php" évidemment.

Je tombe alors sur une erreur 404 puisque le fichier est introuvable, normal !
Mais je remarque après avoir rafraichie la page précédente que le code contenue dans la page "forum_index.php" a été exécuté.

Alors que je pointais vers une page inexistante du même nom mais sans les extensions.

j'crois qu'j'vais faire un shéma :gne:
 

Tifox

ou pas
Pour l'extension :

A vue de nez, ça a l'air d'être un bug de apache, ajouté a un soucis de configuration de apache ou php.

Je viens de tester, sur un Easyphp en local (avec les config de apache et php de easyphp), je n'ai aps le problème : les instruction ne sont pas exécutées, et erreur 404.
Par contre, sur un serveur distant (sur lequel je n'ai pas accès a la config mais que je sais qu'il est configuré "a la va comme j'te pousse"), la non seulement il exécute la requête, mais il affiche bien la page.

Je vais un peu regarder dans les ficher de config pour voir si je trouve pas quelque chose.
 

Tifox

ou pas
Je viens de regarder en vitesse les fichier de config de apache et php, et je n'ai rien trouvé dedans. Mais bon, j'ai pas poussé la chose très loin non plus.
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Ouaip' donc c'est possible quoi ... tout dépend de la configuration d'Apache alors :roll: (OVH pour ma part).

Enfin, j'trouvais ça bizarre moi :-'
 

Tifox

ou pas
Au fait, tu es certains que la requete a bien été effectuée, car je viens de tester sur un OVH avec une page (test.php) qui fait juste un insert sql puis qui affiche coucou, et si j'appelle /test, rien ne se fait et j'ai une erreur 404. (Bien sur, avec test.php, tout est ok).
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Certain, j'ai même essayé plusieurs fois pour être sur. Ma requête était un simple DELETE. Essaie donc pitetre avec une requête qui modifie un champ de ta base ...

Enfin bref, tout ceci n'a aucune importance :roll:
 
S

Shrekju

ex membre
Avec un mod du genre mod_speling ca pourrait expliquer que le nom mal tapé soit rétabli. Par contre pour éxecuter ta requete, il doit forcément passer par ton fichier php et donc executer tout le code qui s'y trouve.

C'est propre a un site ou bien avec un fichier isolé c'est pareil ? Tu n'aurais pas de redirection sur les pages ? Un htaccess particulier ?
 
1er
OP
SkYlEsS

SkYlEsS

Elite
Shrekju a dit:
C'est propre a un site ou bien avec un fichier isolé c'est pareil ? Tu n'aurais pas de redirection sur les pages ? Un htaccess particulier ?
Ben, comme c'était une erreur de ma part, j'n'ai pas essayé avec d'autres fichiers ou quoi que ce soit. J'ai des redirections via header et via htaccess mais pas pour ce fichier =]

C'est juste un cas isolé :-9
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut