+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Form aggiornamento pagina in automatico

  1. #1
    L'avatar di chasky
    chasky non è in linea Novello
    Luogo
    Italy
    Post
    25

    Red face Form aggiornamento pagina in automatico

    Ciao a TUTTI.

    Ho un file detta lista.php dove mi mosta tutta la lista dei contenuti della tabella, in piu sempre in questa pagina cè un form con un campo e il tasto invia. il punto è che il form ha come action="<?php $_SERVER['PHP_SELF'] ?>" quindi ricarica la stessa pagina come faccio ad riaggiornare la pagina con i nuovi dati inseriti cliccando il tasto invia?

    io ho provato a fare cosi:
    mysql_query("update Users SET Percentuale='$Percentuale', Attivazione='$Attivazione' WHERE Id='$Id");
    header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST'] ."/".dirname($HTTP_SERVER_VARS['PHP_SELF']) ."/".$relative_url);

    pero non mi aggiorna la pagina forse sbaglio io strada sicuramente help me!!

    grazie a tutti

  2. #2
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Quando submitti da una form verso una qualsiasi pagina, dovresti ottenere i dati passati in $_POST.
    In testa alla tua pagina quindi puoi inserire dei controlli per recuperare i dati passati in post (quando sono presenti) e formare la pagina a seconda di quanto viene submittato oppure formare una pagina con i campi vuoti se non viene submittato niente...

    Spesso si ricorre ad una input hidden di nome, ad esempio, form_submitted. Il campo è vuoto (oppure 0) e viene riempito (con 1 ad esempio) via javascript quando viene premuto il pulsante di submit... al reload della pagina, il codice php controlla se tale variabile è arrivata in $_POST ed in caso utilizza le altre variabili $_POST provenienti dalla form...

    Ciaociao
    Ultima modifica di bottomap; 25-09-2007 10:11 


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  3. #3
    L'avatar di chasky
    chasky non è in linea Novello
    Luogo
    Italy
    Post
    25
    Ciao bottomap

    il fatto è che i dati vengono inseriti nel DB

    codice:
    if($_POST['Submit']){ 
    $user_id=$_POST['user_id'];
    $Percentuale=$_POST['Percentuale'];
    $Attivazione=$_POST['Attivazione'];
    mysql_query("update Users SET Percentuale='$Percentuale', 
    Attivazione='$Attivazione'  WHERE Id='$Id");
    header ("Location: http://".$HTTP_SERVER_VARS['HTTP_HOST']
     ."/".dirname($HTTP_SERVER_VARS['PHP_SELF']) 
    ."/".$relative_url);
    //exit;
    }
    il mio problema sta nel aggiornato della pagina con i dati nuovi inseriti.

    L'aggiornamento dei dati funziona solo che quando clicco su invia mi compaiono i dati vecchi, devo cliccare il tasto aggiorna nel browser. invece non voglio che questo succeda ma voglio che si aggiorni in automatico quando clicco il tasto invia nel form.

    ps: sempre super veloci in questo forum complimenti allo staff

  4. #4
    L'avatar di bottomap
    bottomap non è in linea Moderatore Globale
    Post
    4,130
    Ciao,

    Visto che recuperi i dati e li inserisci nelle variabili apposite ($user_id, $Percentuale, $Attivazione), niente ti vieta di usare poi gli stessi dati per popolare i campi della form di invio nella stessa pagina...

    Ad esempio con i dati che hai indicato la tua form potrebbe essere:
    Codice PHP:
    <form method="post" action="<?php $_SERVER['PHP_SELF'?>">
      <input type="hidden" name="Submit" />
      <input type="text" name="user_id" value="<?php echo $user_id?>"/>
      <input type="text" name="Percentuale" value="<?php echo $Percentuale?>"/>
      <input type="text" name="Attivazione" value="<?php echo $Attivazione?>"/>
    </form>
    Quando $user_id, $percentuale e $attivazione sono vuoti (al primo accesso alla pagina ad esempio) i campi avranno value="" e quindi saranno vuoti.
    Altrimenti conterranno i valori che hai usato per la update...

    PS: Mi sfugge un attimo il senso della header in cui imposti la location... mi pare che possa confondere le cose più del dovuto...

    Ciaociao


    Venite a farmi un saluto su http://www.bottomap.com/

    - Come porre domande in modo intelligente
    - Hai mai dato un'occhiata al
    Regolamento del Forum? Se la risposta è no, sarebbe proprio l'ora di farlo...
    - Il Crossposting è vietato dalla Netiquette.

    "Solo Puffin ti darà forza e grinta a volontà" - Charlie O'Brian
    "I gatti sono animali verso cui ho il massimo rispetto. I gatti e i non conformisti mi sembrano davvero i soli esseri in questo mondo che abbiano una coscienza pratica e attiva" - Jerome K. Jerome
    "Dun Dun DUNNN!" - Capitan Caos
    (per chiunque se lo fosse mai chiesto, il nick Bottomap è volutamente sgrammaticato)

  5. #5
    L'avatar di chasky
    chasky non è in linea Novello
    Luogo
    Italy
    Post
    25
    Ciao a tutti

    problema risolto vi posto il codice se può servire un domani a qualcuno!

    codice:
    $redir = "<meta http-equiv=\"refresh\" content=\"0;http://$HTTP_SERVER_VARS[HTTP_HOST]$HTTP_SERVER_VARS[PHP_SELF]\">";
    mysql_query("update Users SET Percentuale='$Percentuale',
    Attivazione='$Attivazione' WHERE Id='$Id");
    echo"$redir";
    Saluti a tutti

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi