ouvrir un fichier index.html

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 : ouvrir un fichier index.html

Re: ouvrir un fichier index.html

par xTG » 19 sept. 2014, 18:24

Et si tu fais clic droit > afficher la source sur ton navigateur ?
Tu vois le code javascript ou non ?

Re: ouvrir un fichier index.html

par carmodelisme » 19 sept. 2014, 17:31

pour le $fichi c'est un essai

---------
fichier Formulaire.html
---------
html><body>
<form method="post" action="action.php" accept-charset=utf-8>
date : <input type="text" name="date" size="12"><br>
<input type="submit" value="OK">
</form>
</body>
</html>

---------------
Fichier action.php
---------------

<?php
$date = $_POST['date'];
$jour=substr($date,-8,2);
$mois=substr($date,-6,2);
$annee=substr($date,-4,4);
if ($mois=="01")
{
$ms="Janvier";
}
elseif ($mois=="02")
{
$ms="Fevrier";
}
elseif ($mois=="03")
{
$ms="Mars";
}
elseif ($mois=="04")
{
$ms="Avril";
}
elseif ($mois=="05")
{
$ms="Mai";
}
elseif ($mois=="06")
{
$ms="Juin";
}
elseif ($mois=="07")
{
$ms="Juillet";
}
elseif ($mois=="08") {
$ms="Aout";
}elseif ($mois=="09")
{
$ms="Septembre";
}
elseif ($mois=="10")
{
$ms="Octobre";
}
elseif ($mois=="11")
{
$ms="Novembre";
}
elseif ($mois=="12")
{
$ms="Decembre";
}
$date_dossier=$ms."_".$annee;
$date_jour=$jour.$mois.$annee;
$fichi="file:\\\Flipping\Flipping_html_reussi\\".$date_dossier."\\".$date_jour."\\"."Index.html";
//$nom_fichier="http://".$fichier."')";
//echo "fichier vaut $fichier";
//$handle = fopen("$fichier", "r");
//header (location: $fichier);
?>
<html>
<body>
<script>
window.location.href="file://Flipping/Flipping_html_reussi/aout_2012/01082012/index.html";
</script>
</body>
</html>

sur la ligne ==> window.location.href j'ai mis le chemin en dur pour tester... mais cela ne fonctionne toujours pas, il ne se passe rien...

Re: ouvrir un fichier index.html

par Nestecha » 19 sept. 2014, 17:05

Y'a des soucis de syntaxe.

$fichi au lieu de $fichier.
header(location...) au lieu de header('location...')

Donc forcément, dès qu'il va tomber sur une erreur du genre il va s'arrêter.

Aussi à la fin, tu crées une fonction javascript, mais tu ne l'utilises pas. Donc forcément elle ne se lance pas.
Enlève ta fonction et mets le code qu'elle contient directement.

Re: ouvrir un fichier index.html

par Invité » 19 sept. 2014, 16:29

bonjour à tous

J'ai bien vérifié, je n'ai aucune ligne de blanc dans mon programme quand je me sers de Header... mais ça ne fonctionne pas pour autant

J'ai essayé aussi la méthode du script, qui ne fonctionne pas non plus...

Je vous remet mon code en entier mais là je crois que je vais arrêter de me prendre la tête et essayer de trouver une autre solution.

---------
fichier Formulaire.html
---------
html><body>
<form method="post" action="action.php" accept-charset=utf-8>
date : <input type="text" name="date" size="12"><br>
<input type="submit" value="OK">
</form>
</body>
</html>

---------------
Fichier action.php
---------------

<?php
$date = $_POST['date'];
$jour=substr($date,-8,2);
$mois=substr($date,-6,2);
$annee=substr($date,-4,4);
if ($mois=="01")
{
$ms="Janvier";
}
elseif ($mois=="02")
{
$ms="Fevrier";
}
elseif ($mois=="03")
{
$ms="Mars";
}
elseif ($mois=="04")
{
$ms="Avril";
}
elseif ($mois=="05")
{
$ms="Mai";
}
elseif ($mois=="06")
{
$ms="Juin";
}
elseif ($mois=="07")
{
$ms="Juillet";
}
elseif ($mois=="08") {
$ms="Aout";
}elseif ($mois=="09")
{
$ms="Septembre";
}
elseif ($mois=="10")
{
$ms="Octobre";
}
elseif ($mois=="11")
{
$ms="Novembre";
}
elseif ($mois=="12")
{
$ms="Decembre";
}
$date_dossier=$ms."_".$annee;
$date_jour=$jour.$mois.$annee;
$fichi="file:\\\Flipping\Flipping_html_reussi\\".$date_dossier."\\".$date_jour."\\"."Index.html";
//$nom_fichier="http://".$fichier."')";
//echo "fichier vaut $fichier";
//$handle = fopen("$fichier", "r");
//header (location: $fichier);
?>
<html>
<body>
<script>
function myFunction() {
window.location.href="file://Flipping/Flipping_html_reussi/aout_2012/01082012/index.html";
}
</script>
</body>
</html>

Re: ouvrir un fichier index.html

par xTG » 18 sept. 2014, 18:20

Non pas besoin d'appui touche.
Par contre comment fais-tu ton header ?
Y-a-t-il des choses avant ? Car avant un header il ne faut aucun affichage sinon cela ne fonctionnera pas.

Sinon la solution la plus barbare en javascript :
<script>
window.location.href='ton_chemin_vers_le_fichier'; // protocole http ou file
</script>
Là tu seras obligé d'avoir une redirection.
Par contre suivant l'url que tu souhaites il se peut que le navigateur te la refuse pour raison de sécurité.

Re: ouvrir un fichier index.html

par carmodelisme » 18 sept. 2014, 16:40

bonjour à tous

Merci de vos réponses.

J'ai essayé fopen, rien ne se passe, pas plus toujours qu'avec header...

Je n'y comprends plus rien.
Quand je mets le chemin dans la barre du navigateur, cela fonctionne, mais par contre j'appuie sur la touche entrée.

Question peut-être idiote : ne faut-il pas simuler un appui sur la touche entrée quand c'est un fichier en HTML?

Merci encore

Marc

Re: ouvrir un fichier index.html

par xTG » 18 sept. 2014, 08:06

merci à vous tous pour votre intérêt

Effectivement, je peux pointer sur l'adresse ip de mon serveur, mais là, il faut que je cherche encore car je ne sais pas comment faire en PHP.

Si vous avez les connaissances, vous êtes les bienvenus...

marc
header('Location:http://127.0.0.1/tonDossier/taPage.html');
Avec dans cet exemple 127.0.0.1 l'ip du serveur.

Re: ouvrir un fichier index.html

par Nestecha » 17 sept. 2014, 22:31

Du coup, plutôt que d'utiliser header(), pourquoi tu n'utilises pas fopen ? Qui est conçue pour lire des fichiers justement ?

Re: ouvrir un fichier index.html

par arnaud69 » 17 sept. 2014, 21:45

Je me demande s'il n'est pas possible de faire ceci :

Code : Tout sélectionner

header('file:///L:/Aout_2012/01082012/index.html');
Mais je dis ça en toute improvisation et vraiment par hasard... :?: :?: :lol:

Re: ouvrir un fichier index.html

par carmodelisme » 17 sept. 2014, 21:28

merci à vous tous pour votre intérêt

Effectivement, je peux pointer sur l'adresse ip de mon serveur, mais là, il faut que je cherche encore car je ne sais pas comment faire en PHP.

Si vous avez les connaissances, vous êtes les bienvenus...

marc

Re: ouvrir un fichier index.html

par xTG » 17 sept. 2014, 20:53

Sa façon d'écrire est correcte car si tu ne mets qu'un antislash tu interprètes la lettre suivante comme un caractère spécial.
\r par exemple est un retour charriot pour impression.

Le souci est principalement qu'un header ne peut fonctionner qu'avec une url.
Il faut donc monter un vhost pour pointer sur ton autre disque dur (jamais essayé mais je pense que ça peut fonctionner) ou bien mettre les fichiers dans le dossier htdocs ou www de ton serveur.

Dans tous les cas il est impossible pour des raisons de sécurité d'accéder à une ressource en dehors de l'espace serveur.
Même avec du javascript tu ne pourras pas accéder à un fichier du disque dur si le nom de domaine n'est pas le même. (accéder à un protocole file:// depuis un protocole http pointant sur localhost par exemple)
Sur le pc client, j'ai monté un lecteur L qui pointe sur le serveur.
Pourquoi ne pas pointer sur l'adresse du serveur plutôt qu'un lecteur ? Cela te solutionnerai tout. ;)

Re: ouvrir un fichier index.html

par arnaud69 » 17 sept. 2014, 20:42

A la racine, ça veut dire dans le répertoire htdocs de ton apache, et après essaie de faire un header sur ce fichier.
Fais un test avec un toto.doc ou autre.
Sinon, tu dis que tu le mets sur D et ton header pointe sur L.
Ensuite tu écris :

Code : Tout sélectionner

header ('L:\\Aout_2012\\01082012\\index.html');
Ce serait pas plutôt :

Code : Tout sélectionner

header ('L:\Aout_2012\01082012\index.html');

Re: ouvrir un fichier index.html

par carmodelisme » 17 sept. 2014, 18:18

j'ai mis le fichier sur la racine du serveur, c'est à dire sur D qui est partagé, à l'intérieur d'un dossier se nommant Aout_2012 . Nom du partage D$

Sur le pc client, j'ai monté un lecteur L qui pointe sur le serveur.
J'ai directement mis en tête de mon programme et en dur:

<?php
header ('L:\\Aout_2012\\01082012\\index.html');

suite du programme....



Mais rien à faire aucun résultat....

Re: ouvrir un fichier index.html

par arnaud69 » 17 sept. 2014, 17:45

Et ben voilà peut être une des raisons du pourquoi ça ne marche pas...
On ne fait pas tout ce que l'on veut avec les fichiers...
Place en 1 à la racine de ton serveur et essaie, je suis sur que ça marchera

Re: ouvrir un fichier index.html

par carmodelisme » 17 sept. 2014, 17:37

non, les fichiers sont sur un disque dur externe, relié au serveur et partagé...