Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    35

    Eliminare un nodo con SimpleXML

    Ecco la mia prima funzione php con SimpleXML. Allora prendo dal GEt un
    paramentro (tolgo gli spazi avanti e dietro), apro un xml, ne vedo i
    nodi e cancello quello che ha come contenuto la parola uguale al GET.
    Il problema è questo, se aggiorno la pagina succede che continua ad
    eliminare elementi. Avete suggerimenti per risolvere l'errore e
    rendere più elegante la cosa?
    Grazie

    Function RimuoviParola()
    {
    $StringheInserite = $_GET['StringheInserite'];
    $StringheInserite = rtrim(ltrim($StringheInserite));

    $xml = simplexml_load_file('Stringhe.xml');

    foreach($xml->parola as $parola)
    {
    if ("".$parola."" == $StringheInserite){

    unset($xml->parola[0]);
    }
    }
    @file_put_contents('Stringhe.xml', $xml->asXML());
    }

    ?>

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Questo è un problema implicito nelle applicazioni web.
    La soluzione è non mostrare mai sul browser gli indirizzi che corrispondono a delle "azioni", in modo da evitare che premendo F5 tali azioni vengano ripetute.
    Quando hai fatto quello che devi fare, fai un redirect su una pagina "neutra", che si limita a fare visualizzazione.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2008
    Messaggi
    35
    Un attimo quindi. Ecco le pagine:

    PAGINA 1: l'utente decide ad esempio quale pagine cancellare, manda un POST ad un'altra pagina
    PAGINA 2: la pagina vede cosa vuole fare l'utente, lo fa e poi fa il redirect a una terza pagina.
    PAGINA 3: presenta i risultati.

    Come faccio il redirect?

  4. #4
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Esatto, la pagina 3 può anche essere la stessa pagina 1, l'importante è che non sia la 2

    Il redirect si fa così
    Codice PHP:
    header("Location: http://xxxxxxxxx"); 
    dove xxxxx è l'indirizzo completo della pagina verso cui fai il redirect

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 © 2024 vBulletin Solutions, Inc. All rights reserved.