Reindirizzare a nuova pagina dopo echo copy

di il
11 risposte

Reindirizzare a nuova pagina dopo echo copy

Buonasera a tutti. Ho bisogno di reindirizzare ad una pagina html specifica (per esempio: page.html) dopo aver cliccato su un pulsante che comanda la copia di un file html. Potete dirmi, per piacere, come devo fare? Grazie mille per l'aiuto.
Il codice html è questo:
<form class="form-contact" action="copy.php" method="post">
<input class="button" type = "submit" value = "Copia">
</form>
E questo è il codice PHP:
<?php
echo copy("partenza.html","arrivo.html");
?>

11 Risposte

  • Re: Reindirizzare a nuova pagina dopo echo copy

    Ciao echo non funziona su valori booleani (il manuale per la funzione copy afferma ritorna il booleano falso o vero) comunque devi verificare che copy è vera con l'if.
    Per il redirect leggi il primo esempio https://www.php.net/manual/en/function.header.ph
    Se non ti è chiaro chiedi pure ma preferisco che leggi il manuale sarà sempre utile.
    A meno di condizioni particolari tipo il rewriterule l'estensione html non sarà interpretata all'interprete php.
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Ti ringrazio per la risposta e ho letto la guida. Credo di aver capito che devo aggiungere:
    header('Location: http://www.example.com/');
    exit;
    Non ho capito, però, come verificare che copy è vera con l'if. Potresti, gentilmente, farmi vedere un esempio completo basato sul codice che ho postato? Grazie mille. Purtroppo conosco HTML, CSS e Javascript, ma sono alle prime armi con PHP.
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Ciao buongiorno certo.
    <?php
    $file = 'example.txt';
    $newfile = 'example.txt.bak';
    
    if (!copy($file, $newfile)) {
        echo "failed to copy $file...\n";
    }
    ?>
    Qui hai l'if e La Stampa su schermo (echo) nel caso di errore.
    Copy precisamente crea un copia del file originale nella destinazione da te scelta.
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Grazie mille. Provo e se tutto va bene non rompo più ) Gentilissimo
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Scusa, non ho capito dove metto header('Location: http://www.example.com'). Abbi pazienza
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Come non detto, ho capito da sola. Grazie mille
  • Re: Reindirizzare a nuova pagina dopo echo copy

    <form class="form-contact" action="copy.php" method="post">
    <input class="button" type = "submit" value = "Copia">
    </form>
    copy.php
    <?php
    $file = 'partenza.html';
    $newfile = 'arrivo.html';
    
    if (!copy($file, $newfile)) {
        echo "failed to copy $file...\n";
    } else {
    header('Location: http://www.example.com/page.html');
    }
    ?>
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Grazie mille Hormus, davvero. Avevo perfino fatto giusto l'ultimo passaggio, ma così ho la conferma. Comincio a capirci qualcosa. Ti auguro una buonissima giornata. Ciao
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Per concludere, con header('Location: http://www.example.com/page.htm'); non funzionava, ma funziona con echo "<meta http-equiv=\"refresh\" content=\"0; url=http://www.example.com/page.htm">";. Ciao
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Non funziona se vuoi usare codice php in un file html mentre se è usato su copy.php deve funzionare a meno che non usi già output. (Codice html compreso come da primo esempio nel doc online).
    Con il codice (è più corretto dire markup) html è compito dell'agente utente (il browser) effettuare un redirect.
  • Re: Reindirizzare a nuova pagina dopo echo copy

    Mi inchino alla competenza, anche se capisco poco. In ogni caso, adesso funziona. Grazie mille Hormus
Devi accedere o registrarti per scrivere nel forum
11 risposte