• User

    Javascript Dentro PHP - redirect

    Ciao a Tutti!

    Ho un problema con una form(html) di iscrizione e invio e-mail.Tutti i dati vengono inviati ad un database tramite una pagina php.
    Devo fare dei redirect con timer in caso il form non venga compilato nel modo corretto o manchino dei dati.:?

    Purtroppo in rete ho trovato solo risposte che includevano l'uso di
    header location, come funzione di redirect; io invece vorrei poter usare delle funzioni in javascript all'interno del file .php.
    Questo perchè nell'html non posso inserire nessun altro tipo di codice se non html stesso, mentre la funzione "header" l'ho già utilizzata, e da quello che ho capito non si può utilizzare più di una volta all'interno di uno stesso file.php!

    E' possibile includere delle funzioni Javascript all'interno del php?
    Se si, come deve essere costituita la sintassi?

    Grazie dell'attenzione:ciauz:


  • ModSenior

    Ciao cottonfiok,
    php e javascript sono 2 tipi di linguaggio del tutto differenti.
    Ciò che puoi fare e inserire il codice javascript normalmente nella pagina, come fosse una pagina html, e richiamarlo all'occorrenza lato client.


  • User

    Forse non mi sono spiegato benissimo :arrabbiato:
    posto una parte del codice che magari aiuta 😄

    iscrizione.php:

    echo "Operazione Riuscita! Tra pochi secondi verrai reindirizzato al sito";
    echo "<script language="JavaScript">\n";
    echo "window.location.href=("$redirect");\n";
    echo "</script>"
    ;

    Questo è un codice javascript all'interno di un file php e credo sia corretto dato che funziona (magari funziona ma è solo un escamotage e non è sintatticamente corretto).

    Ora la domande sarebbero:
    -E corretto inserire in questo modo uno script?

    Ho fatto anche diverse altre prove(con altre funzioni), ma i risultati non sono stati buoni...quindi:
    -Può essere che javascript funzioni solo ed esclusivamente in questo caso sopracitato?
    -E' concettualmente corretto inserire funzioni jscript (quindi lato client) dentro un file php(che sarebbe più esclusivo come lato server),oppure sto facendo una stupidaggine?

    concludo 😊
    -Qualcuno conosce uno script di questo tipo, che non solo faccia il redirect, ma abbia anche la funzione di "timer"?
    -Esistono altri metodi per fare un redirect dilatato nel tempo, tenendo presente che non posso intervenire sul file html con codici che non siano html?

    Spero di essere stato meno criptico. Ciao e Grazie!


  • ModSenior

    È possibile fare un redirect dopo X secondi anche senza ausilio di javascript.
    [php]
    header("Refresh: 5;URL=file.php");
    [/php]


  • User

    Eh si, il problema è che questa funzione l'ho già usata per l'invio delle e-mail e dunque non funziona più 😞

    o per lo meno questo è quello che ho trovato dalle mie ricerche e dalla prova che ho fatto..:crying:


  • ModSenior

    Non capisco cosa significa non funziona più...


  • User

    da quello che ho letto su internet e testato sul file, la funzione "header" non può essere usata più di una volta :mmm:


  • ModSenior

    In una pagina ne puoi madnare uno, anche perchè cosa concludi a mandarne 2?