Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 37

Discussione: problema con fclose()

  1. #1

    problema con fclose()

    aiuto
    da una index.php apro una finestra mail.php da cui dovrei mandare una mail.
    quando clikko sul tasto invio appare la scritta :

    Warning: fclose(): supplied argument is not a valid stream resource in /web/guest/mail.php on line 100
    nella index c'è :

    $apertura = fopen($file,'r+');
    e in mail.php

    <?php $chiusura = fclose($apertura);
    }
    }
    ?>
    dov'è l'errore???
    Grazie

  2. #2
    devi chiudere il file nella stessa pagina dove l'hai aperto... aprendo una finestra fai una nuova richiesta al server
    www.gext.it

  3. #3
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    ciao puoi postare il codice di mail.php

  4. #4
    mm
    forse il codice fclose è doppio, perchè c'è anche nella finestra index..
    dunque..
    in index ( da cui si apre mail) ho:
    $apertura = fopen($file,'r+');
    e dopo

    $chiusura = fclose($apertura);

    in mail php invece ( posto solo il php senza la parte html dei campi ecc..):

    <?php
    include ("config.php");
    $file10 = fopen("bannati.php", "r");
    $dimensione10 = filesize("bannati.php");
    $contenuto10 = fread($file10, $dimensione10);
    $ex = explode(" ", $contenuto10);
    for ($x=0; $x<=count($ex); $x++) {
    if ($ex[$x] == $_SERVER['REMOTE_ADDR']) {
    header("location: admin/bannato.php");
    } else {
    }
    }
    ?>
    <?php
    } else {
    $autore = $_POST['autore'];
    $testo = $_POST['testo'];
    $email = $_POST['email'];
    $oggetto = $_POST['oggetto'];

    if (trim($autore) == "" OR trim($testo) == "" OR trim($email) == "" OR trim($oggetto) == "") {
    header("location: mail.php?mail=$mail");
    } else {
    mail($mail, $oggetto, $testo, "From: $autore - $email");
    ?>
    <div align="center"><font class="title"><?php echo "$guestbook"; ?></font>


    E-mail inviata con sucesso. Grazie</div>
    <?php
    $chiusura = fclose($apertura);
    }
    }
    ?>
    forse non va ripetuto l'fclose() ??

  5. #5

    $file10 = fopen("bannati.php", "r");
    $chiusura = fclose($apertura);


    occhio ai nomi delle variabili...
    www.gext.it

  6. #6
    Originariamente inviato da tarini

    $file10 = fopen("bannati.php", "r");
    $chiusura = fclose($apertura);


    occhio ai nomi delle variabili...
    quello è un altro file ancora che si apre in caso l'utente sia bannato.. non credo che c'entri.. o no?

  7. #7
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    prova così:
    Codice PHP:
    <?php
    include ("config.php");
    $file10 fopen("bannati.php""r");
    $dimensione10 filesize("bannati.php");
    $contenuto10 fread($file10$dimensione10);
    $ex explode(" "$contenuto10);
    for (
    $x=0$x<=count($ex); $x++) {
    if (
    $ex[$x] == $_SERVER['REMOTE_ADDR']) {
    header("location: admin/bannato.php");
    } else {

    }
    ?>
    <?php
    } else {
    $autore $_POST['autore'];
    $testo $_POST['testo'];
    $email $_POST['email'];
    $oggetto $_POST['oggetto'];

    if (
    trim($autore) == "" OR trim($testo) == "" OR trim($email) == "" OR trim($oggetto) == "") {
    header("location: mail.php?mail=$mail");
    } else {
    mail($mail$oggetto$testo"From: $autore - $email");
    ?>
    <div align="center"><font class="title"><?php echo "$guestbook"?></font>


    E-mail inviata con sucesso. Grazie</div>
    <?php
    $chiusura 
    fclose($file10);//chiude il file contenuto nella variabile $file10
    }
    }
    ?>

  8. #8
    mi sa che di questo codice non ci ho capito niente
    provo e vediamo se va..
    al momento non invia le e mail..

  9. #9
    index.php non ha errori e cmq il fatto che apra una pagina in popup non è PER NIENTE RILEVANTE... in realtà si comporta ESATTAMENTE come se fosse un link...


    il problema è in mail.php

    ti propongo la mia soluzione

    Codice PHP:
    <?php
    include ("config.php");
    $file10 fopen("bannati.php""r");
    $dimensione10 filesize("bannati.php");
    $contenuto10 fread($file10$dimensione10);
    flose($file10//chiudiamolo subito tanto non ci serve piu
    $ex explode(" "$contenuto10);
    for (
    $x=0$x<=count($ex); $x++) {
      if (
    $ex[$x] == $_SERVER['REMOTE_ADDR']) {
        
    header("location: admin/bannato.php");
        exit();  
    //evito di andare avanti con lo script
      
    }
    }

    $autore $_POST['autore'];
    $testo $_POST['testo'];
    $email $_POST['email'];
    $oggetto $_POST['oggetto'];

    if (
    trim($autore) == "" OR trim($testo) == "" OR trim($email) == "" OR trim($oggetto) == "") {
      
    header("location: mail.php?mail=$mail");
      exit(); 
    //evito di andare avanti con lo script
    }

    mail($mail$oggetto$testo"From: $autore - $email");
    ?>
    <div align="center"><font class="title"><?php echo "$guestbook"?></font>


    E-mail inviata con sucesso. Grazie</div>
    sicuramente piu chiaro e piu performante
    www.gext.it

  10. #10
    grazie, me lo studio e vedo di capirlo.
    adesso sostituendo file10 l'errore non lo da più, però non arriva nessuna e mail

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.