IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Système] Problème d'ouverture de fichier


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut [Système] Problème d'ouverture de fichier
    Je résume un peu la situation :
    ----------------------------------

    - une fenetre affiche deux boites textes nommées txt1 et txt2 et une iframe.
    OK
    - dans l'iframe une page php qui doit récupérer les valeurs des boites textes, formant un nom de dossier.
    OK
    - la page ouvre le dossier et un fichier specifié qui s'y trouve pour y enregistrer une donnée..
    HIC : fopen failed.

    code source de la page php :
    ---------------------------------

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     $dossier = '<script language="javascript">document.write(parent.form1.txt1.value);document.write(parent.form1.txt2.value);</script>';
     
    $file = $dossier . '/save.txt';
     
    echo $file;
     
    // ici le script a bien recupéré les valeurs "txt1" et "txt2", rajoute le nom fichier, et écrit : 'txt1txt2/save.txt'.
    // le script est donc correct. :D 
     
    // j'ouvre donc le fichier (existant) comme suivant (méthode classique): ;) 
     
    $fp = fopen($file, 'w');
    fputs($fp, 'blabla');
    fclose($fp);
    // ici le script ne fonctionne plus... et me renvoie :

    Warning: fopen(txt1txt2/save.txt): failed to open stream: Invalid argument in c:\program files\easyphp1-8\www\pagex.php on line 24
    Pourquoi, alors que le nom de dossier récupéré est valide et que le nom de fichier est valide ?
    fopen de vrait ouvrir txt1txt2/save.txt

    (même en rajoutant des guillemets, ou des antislashs cela ne fonctionne pas, je précise)

  2. #2
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    relis ton code. fopen tente d'ouvrir le fichier suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     "<script language="javascript">document.write(parent.form1.txt1.value);document.write(parent.form1.txt2.value);</script>/save.txt"
    Ce qui est absurde comme nom de fichier...

    Javascript est exécuté sur le client, PHP sur le serveur.
    Pour récupérer les données de saisie dans un script PHP, il faut qu'il y ait une requête serveur (classiquement une soumission de formulaire).

    Peut-être qu'Ajax peut t'apporter une solution plus souple.

  3. #3
    Rédacteur
    Avatar de Arnaud F.
    Homme Profil pro
    Développeur COBOL
    Inscrit en
    Août 2005
    Messages
    5 183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur COBOL
    Secteur : Finance

    Informations forums :
    Inscription : Août 2005
    Messages : 5 183
    Points : 8 873
    Points
    8 873
    Par défaut
    Et oubli pas de mettre ton code dans les balises prévues à cet effet ( le # dans l'éditeur de post )

    Voilà @+

    P.S: Bienvenue sur le forum et oubli pas de mettre

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    je reconnais que mon code était un peu "absurde" comme tu dis, mais si il affichait la bonne valeur à la fin...

    donc, en gros, php ne peut pas récupérer un nom de dossier ecrit dans une fenêtre parente autrement que par une requete ?

    cela demande donc, avant le terme du script, une intervention manuelle ?

    Je voulais en fait faire une sorte de sauvegarde automatique, ou les boites textes seraient en fait un ID et son pass, et en quittant, la page 2 récupérait erait ces valeurs comme nom de dossier individuel où sauvegarder une donnée...

    L'utilisateur devrait pour sauvegarder renvoyer son id et son pass pour que le script marche ?

  5. #5
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    PHP est exécuté sur le serveur, donc d'une manière ou d'une autre, pour récupérer des informations de l'utilisateur en PHP, il faut une requête du client vers le serveur. Ca peut être fait (je crois, il faudrait que je me forme) par une requête Ajax, par une requête de page (clic sur un lien, redirection...), par une requête de soumission de formulaire...

    Dans tous les cas, tu auras une certaine forme de rechargement. Mais ça peut éventuellement être automatisé par Javascript : JS peut déclencher une redirection ou la soumission d'un formulaire.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    en fait, j'aimerai éviter que l'utilisateur soit obligé d'etre redirigé vers un formulaire parce que sa partie doit etre sauvegardée.

    il se log pour se connecter alors si il doit aussi se logger pour quitter, ca fait désordre.
    de plus, la sauvegarde dont je parle ne se fait pas qu'à la fin lorsqu'il quitte, elle se fait à chaque nouvelle page qu'il affiche.

    c'est pour que, lorsqu'il revient, la page où il était s'affiche.

    c'est pour ca que j'ai essayé de trouver un moyen (un peu bidon certes) comme celui là pour éviter d'envoyer une requete à chaque page.

    en dehors de ca (qui ne fonctionne même pas), je ne vois même pas comment je pourrais régler ce souci...

  7. #7
    Membre expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Points : 3 377
    Points
    3 377
    Par défaut
    Je ne comprends pas très bien, tu dis que tu veux éviter d'avoir une requête à chaque page. Pourtant, à chaque page, il y a déjà une requête ? Quand tu passes d'une page à une autre, tu peux en profiter pour passer des informations, non ?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    c'est dans la page parente que l'information du nom de dossier où enregistrer est à récupérer, alors que l'information à enregistrer est dans la page dans l'iframe.
    ------------------------------------------------
    contenue du répertoire : !
    ------------------------------------------------

    - index.html dont le code sera le suivant :
    la page parente (simplifiée):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <center>
    <form name="form1">
    <input type="texte" name="txt1" value="txt1"><input type="texte" name="txt2" value="txt2">
    <br>
    <iframe name="ifr" src="pagex.php" width="287" height="287"></iframe>
    </form>
    - un dossier txt1txt2 dans lequel se trouve un fichier nommé save.txt.

    __________________________________________

    imaginons un utilisateur dont l'ID serait 'txt1', et son pass serait 'txt2'.
    en créant son id et son pass il a crée son dossier de sauvegarde :

    le nom de ce dossier qui lui est propre est simplement du type IDpass.
    le dossier de l'utilisateur précédent sera donc 'txt1txt2'.


    ces boites textes permettent à l'utilisateur de se logger, mais aussi de spécifier à la page 'pagex.php' dans quel dossier les données (de la page 'pagex.php') seront enregistrées.

    la donnée à enregistrer est par exemple le mot 'bla'.


    quel script doit donc être mis dans la page 'pagex.php' dans l'iframe, afin qu'il récupère l'ID et le pass contenu dans la fenêtre parente et permette ainsi de savoir dans quel dossier enregistrer la donnée ?

    (ouvrir le dossier propre à l'utilisateur en cours, et enregistrer dans le fichier save.txt)

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    bon, je vais faire en sorte que tout soit dans la meme page comme ca se sera plus simple.
    j'vais apprendre à gerer les cookies aussi
    merci quand même

Discussions similaires

  1. [VBA - Excel] Problème d'ouverture de fichier
    Par seiryujay dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 20/12/2006, 10h55
  2. [Système] problème de copie de fichier entre 2 serveurs
    Par HOUDEBINE dans le forum Langage
    Réponses: 2
    Dernier message: 22/05/2006, 16h13
  3. Problème à l'ouverture de fichiers Word
    Par Asdorve dans le forum Word
    Réponses: 8
    Dernier message: 19/05/2006, 12h03
  4. Réponses: 5
    Dernier message: 05/05/2006, 15h08
  5. Réponses: 2
    Dernier message: 20/04/2006, 22h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo