Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19

Discussione: problema con fputs();

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24

    problema con fputs();

    salve raga
    ho bisogno di un aiuto

    allora io ho un form che spedisce dei valori ad una pagina .php chiamata prova.php.
    la pagina prova.php prende i valori inviati e li salva rispettivamente in file .txt ke vengono creati con prova.php, insieme a quaesti file .txt viene creata anche una pagina .php (chiamata fine.php) che dovrà mostrare a video cio che è memorizzato nei file .txt.

    per scrivere dentro la pagina .php uso il metodo fputs(); ... ed ecco che spuntano i problemi ... quando apro fine.php mi da errore di sintassi e quando controllo il sorgente della pagina le variabili non ci sono ... è come se le saltasse ... mostra solo tutto cio che c'è dopo la $variabile ... ecco qui il codice della pagina prova.php:


    $pesce = $_POST["nome"];
    $testo = $_POST["testo"];
    $txt = ".txt";
    $ext = ".php";
    $pagina = $pesce.$txt;
    $crea = $pesce.$ext;
    $pag = fopen($crea,"w+");
    fputs($pag,"<html>");
    fputs($pag,"<head>");
    fputs($pag,"</head>");
    fputs($pag,"<body>");
    fputs($pag,"<?php");
    fputs($pag,"$pagpesce = fopen($pagina,'rb');");
    fputs($pag,"$contenuto = fread($pesce, filesize($pagina));");
    fputs($pag,"fclose($pagpesce);");
    fputs($pag,"$contenutopesce = 'testo.txt';");
    fputs($pag,"$testoa = fopen('testo.txt','rb');");
    fputs($pag,"$testopesce = fread($testoa, filesize($contenutopesce));");
    fputs($pag,"fclose($testoa);");

    o provato anke a fare cosi .. ma nulla :

    $pesce = $_POST["nome"];
    $testo = $_POST["testo"];
    $txt = ".txt";
    $ext = ".php";
    $pagina = $pesce.$txt;
    $crea = $pesce.$ext;
    $pagpesce = "pagpesce";
    $contenuto = "$contenuto";
    $contenutopesce = "$contenutopesce";
    $testoa = "$testoa";
    $testopesce = "$testopesce";
    $pag = fopen($crea,"w+");
    fputs($pag,"<html>");
    fputs($pag,"<head>");
    fputs($pag,"</head>");
    fputs($pag,"<body>");
    fputs($pag,"<?php");
    fputs($pag,"".$pagpesce." = fopen($pagina,'rb');");
    fputs($pag,"".$contenuto." = fread($pesce, filesize($pagina));");
    fputs($pag,"fclose($pagpesce);");
    fputs($pag,"".$contenutopesce." = 'testo.txt';");
    fputs($pag,"".$testoa." = fopen('testo.txt','rb');");
    fputs($pag,"".$testopesce." = fread($testoa, filesize($contenutopesce));");
    fputs($pag,"fclose($testoa);");

    mi chiedevo se è il metodo fputs(); che nn è adatto o sono io che sbaglio ... e se si dove?? ... xke non capisco ... speravo quindi che qualcuno più esperto di me possa aiutarmi

    grazie in anticipo

  2. #2
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Prova ad utilizzare apici singoli

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    o provato ad utilizzare apici singoli ma il risultato e lo stesso ...
    provo a mostrarvi il sorgente che mi restituisce fine.php cosi magari si capisce meglio il problema ...

    <html><head></head><body><?php = fopen(testo1.txt,'rb');$contenuto = fread($pesce, filesize($pagina));fclose($pagpesce); = 'testo.txt'; = fopen('testo.txt','rb');$testopesce = fread($testoa, filesize($contenutopesce));fclose($testoa);?></body></html>

    testo1 è il valore restituito da un campo del form ... e come detto in precedenza le variabili sono scomparse .... dovrebbe esserci una varibile prima di ogni uguale ... mi chiedevo pero perche le varibili all'interno delle parentesi vengono restituite corretamente ... come testo1 o .txt che sono due varibili distinte ...

    giustamente il browser mi da questo errore:

    Parse error: syntax error, unexpected '=' in /membri/acquariumbase/testo1.php on line 1

    spero di essermi spiegato meglio ... è da giorni che giro intorno a questo problema ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    nessuno sa aiutarmi ??

  5. #5
    Utente di HTML.it L'avatar di skjobax
    Registrato dal
    Jan 2010
    Messaggi
    569
    1) è insensato inserire codice php in una stringa di testo per poi farlo eseguire in un' altra pagina. Basta metterlo nella pagina dove vuoi che giri (o altrimenti spiega perché lo fai)

    2) è necessario usare 10000 quando puoi fare una stringa unica e usare un solo fwrite??

    3) se non specifichi il link alla resource del file aperto con fread, fputs che tra l'altro è un alias di fwrite, potrebbe appunto non fare niente!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    grazie mille skjobax per la risposta mi ha fatto riflettere ... comunque:

    1) forse non mi sono spiegato bene ... la pagina su cui gira il codice php non esiste prima che non viene inviato il modulo a prova.php ... ecco perche non posso inserirlo nella pagina finale(in questo caso fine.php) ... semplicemente perchè in partenza non esiste ... è infatti prova.php che genera la pagina su cui verrà fatto girare il codice php ... non so se mi sono spiegato ...

    2)su questo hai ragione ... infatti ho usato un sistema un po poco furbo ... comunque tieni conto che questo è una bozza ... quando poi funzionerà lo riscrivero al meglio

    3)scusami tanto ma quest'ultimo passaggio non mi è chiaro ... non riesco a capire cosa intendi quando dici che devo specificare il link alla resource del file aperto con fread ... scusa se ti disturbo ma se potresti farmi un esempio di codice te ne sarei molto grato ... capirei molto meglio ... grazie

  7. #7
    se da errore la riga 1 per me è sbagliato il form html che invia la richiesta post a prova.php
    Io penso con la mia di testa..tu come?

  8. #8
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    non penso ... da errore perchè giustamente non viene trovata la variabile ... e poi il form html è un banalissimo form ... niente di che ... ne ho fatti tantissimi di form e non penso che sia questo il problema ....

  9. #9
    infatti, non trova cosa deve mettere nella variabile $pesce

    incollaci anche il form html

    perchè nel file devi mettere:

    fputs($pag,"<?php"); ??? non devi solo scriverci dei dati? a che ti serve il <?php??
    Io penso con la mia di testa..tu come?

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2010
    Messaggi
    24
    innanzitutto grazie per l'interesse

    ecco qua anche il form html:

    <form name="invio" method="post" action="prova.php">
    <input type="text" name="nome" value="" size="20">

    <textarea name="testo" rows="10" cols="10"></textarea>

    <input type="submit" value="invio" name="invio">
    </form>

    pero non capisco ... se non inserisco "<php" come li elaboro i dati?? dove lo inserisco il codice php?? non potresti spiegarmi meglio?? grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.