Visualizzazione dei risultati da 1 a 10 su 26

Discussione: Bacheca online

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    primo: non sono le variabili PHP il problema dell'inserimento multiplo in caso di refresh della pagina, ma il browser che ripropone i dati
    secondo: se tu fai il redirect alla pagina del form, che mi pare che mostri sempre i messaggi in bacheca, deve funzionare per forza, a meno di errori nella query o nella serie di if/elseif/else che hai messo nel codice

    ricontrolla passo passo cosa fa il tuo codice, nel caso puoi provare a commentare tutta la parte di inserimento dati nel db per vedere se la bacheca mostra i post

  2. #2
    Quote Originariamente inviata da clasku Visualizza il messaggio
    ricontrolla passo passo cosa fa il tuo codice, nel caso puoi provare a commentare tutta la parte di inserimento dati nel db per vedere se la bacheca mostra i post
    Sei matto? Che non abbia a sudare troppo

  3. #3
    Quote Originariamente inviata da clasku Visualizza il messaggio
    primo: non sono le variabili PHP il problema dell'inserimento multiplo in caso di refresh della pagina, ma il browser che ripropone i dati
    secondo: se tu fai il redirect alla pagina del form, che mi pare che mostri sempre i messaggi in bacheca, deve funzionare per forza, a meno di errori nella query o nella serie di if/elseif/else che hai messo nel codice

    ricontrolla passo passo cosa fa il tuo codice, nel caso puoi provare a commentare tutta la parte di inserimento dati nel db per vedere se la bacheca mostra i post
    Ho provato con il metodo get ed il refresh ma senza successo. Il codice che trovate sotto genera questo errore:
    Questa pagina non reindirizza in modo corretto
    Codice PHP:
    //Salvo il messaggio
    if (isset($_GET['inserisci_record']))
    {
        
    //Controllo dati
        
    $error"";
        if(isset(
    $_POST['name']) and $_POST['name'] != ""){//<- controllo nome
            
    $nome strip_tags($_POST['name']);
        }
        elseif(isset(
    $_POST['name'])){
            
    $error .= "Nome mancante.<br />";
        }
        if(isset(
    $_POST['mail']) and preg_match('/^[a-z0-9&\'\.\-_\+]+@[a-z0-9\-]+\.([a-z0-9\-]+\.)*+[a-z]{2}/is'$_POST['mail'])){//<- controlla se la mail è presente e se è in un formato valido
            
    $email $_POST['mail'];
        }
        elseif(isset(
    $_POST['mail'])){
            
    $error .= "Email mancante o non valida.<br />";
        }
        if(isset(
    $_POST['message']) and $_POST['message'] != ""){//<- controllo messaggio
            
    $messaggio strip_tags($_POST['message']);
        }
        elseif(isset(
    $_POST['message'])){
            
    $error .= "Inserire un messaggio.<br/>";
        }
        try
        {
            if(isset(
    $nome,$email,$messaggio)){
                
    $sql "INSERT INTO ".$db_bacheca." (nome,email,messaggio) VALUES ('".$nome."','".$email."','".$messaggio."')";
                
    //Invio i dati al database
                
    $pdo->exec($sql);
                
    $nome=null;
            }
            else{
                echo 
    "<p>".$error."</p>";
            }
        }
        catch (
    PDOException $e)
        {
            
    $error .= "Impossibile scrivere nel database.<br/>";
            echo 
    "<p>".$error."</p>";
            exit();
        }
    }
    //Leggo il contenuto del database
    try
    {
        
    $sql "SELECT * FROM ".$db_bacheca." ORDER BY data_messaggio DESC";
        
    //Invio i dati al database
        
    $result $pdo->query($sql);
    }
    catch (
    PDOException $e)
    {
        
    $error .= "Impossibile leggere dal database.<br/>";
        echo 
    "<p>".$error."</p>";
        exit();
    }
    //Scrivo gli ultimi 5 record dal database e li affianco al tasto elimina
    try
    {
        
    $n 0;
        
    $max 5;
        while(
    $row=$result->fetch() and $n $max){
        
    $row["data_messaggio"] = date_create($row["data_messaggio"]); // creo l'oggeto data
        
    echo "
            <div>
                <p>"
    .$row["messaggio"]."<br/>
                Autore: "
    .$row["nome"]."<br/>
                Data: "
    .date_format($row["data_messaggio"], 'd/m/Y - H:i:s')."<br/>
                Email: "
    .$row["email"]."</p>
                <form action=\"?elimina_notizia\" method=\"post\">
                <input type=\"submit\" name=\"id\" value=\"Elimina\">
                <input type=\"hidden\" name=\"id\" value="
    .$row["id"]."\">
                </form>
            </div>
        "
    ;
        
    $n++;
        }
        
    header('Location: .');
        exit();
    }
    catch (
    PDOException $e)
    {
        
    $error .= "Impossibile scrivere i contenuti prelevati dal database.<br/>";
        echo 
    "<p>".$error."</p>";
        exit();

    Più pratica in futuro...

  4. #4
    C'è un'ultima cosa che devo risolvere poi ho veramente finito e prometto di lasciarvi in pace. Ho provato a creare un tasto che mi cancella in un colpo solo tutti i record e funziona però volevo aggiungere un alert del tipo:
    "Sei sicuro di voler procedere?"
    Ho preso spunto da qui:
    http://www.html.it/articoli/messaggi...-javascript-2/
    ma se creo un tasto reset invece che uno submit php non cancella nulla anche quando premo ok sull'alert mentre se creo un submit la funzione di javascript non interrompe l'esecuzione. Avete altre soluzioni?
    Grazie
    Più pratica in futuro...

  5. #5
    Ho risolto tutto con jquery. Non ho più altre domande.
    Grazie ancora per la pazienza!
    Più pratica in futuro...

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