• L'uso di questa sezione è consentito solo per problemi con il Sito o Forum. Sono severamente vietate le domande tecniche.

Doppi post nei commenti

Pubblicità

vbs

Utente Attivo
Messaggi
652
Reazioni
267
Punteggio
46
Prima o poi vi stuferete di me :D

No, seriamente...se si clicca due volte sul pulsante "Pubblica" quando si risponde quotando ad un commento, la risposta viene doppiata nei commenti. Senza stare lì a perdere tempo, penso di sapere quale sarebbe il problema...

Nel php che gestisce le verifiche si dovrebbe cambiare l'ordine delle verifiche degli errori e poi solo se non ce ne sono si va ad eseguire la query d'inserimento nel db. A mio parere, senza vedere il codice, o manca la verifica sul submit del form oppure c'è qualche altra verifica che non è messa nel posto giusto...

Provo a fare un esempio di codice:
PHP:
<?php


// inizializzo una variable tipo fail_safe
$form_error=true;

// prima verifico se è stato premuto "Pubblica" 
if ((isset($_POST['pubblica'])&&($_POST['pubblica']=='Pubblica')){

    if ((!isset($_POST['f_conferma'])||($_POST['f_conferma'] != '1')){
       // non è stato selezionato il checkbox oppure è stato iniettato un valore diverso da 1
       $form_error= true;
    } else {
       // eventuali funzioni per il checkbox

       $form_error= false;
    }

    if ((!isset($_POST['f_testo'])||(strlen($_POST['f_testo']) < 2 )){ //ho messo che il testo deve avere minimo 2 caratteri...cambiate a vostro piacimento

       // non c'è testo, quindi non voglio far apparire un messaggio vuoto
 
      $form_error= true;
 
   } else {

       /* qui mettete tutte le funzioni relative al testo da inserire 
           tipo preg_match per togliere l'html non consentito ecc ecc
       */

       $form_error= false;
    }
}

// infine le query::
if ($form_error == false){

  //sintetizzo la logica
  if ($query) {
    // la query d'inserimento è ok
    header("Location:" . $_SERVER["HTTP_REFERER"] );
  }


}

?>


Ho scritto il codice di getto, quindi scusate qualche eventuale errore...è solo per dare l'idea sulla logica da seguire. Ho sempre usato questa logica nei miei progetti e non ho mai avuto problemi con inserimenti doppi ;)


Edit:
Il codice sopra dovrebbe essere messo su /commento/elenco.html e nel caso in cui non si tratta di un .htacces con url_rewrite, tale file dovrebbe essere convertito in elenco.php. Ovviamente il header("Location:" . $_SERVER["HTTP_REFERER"] ); dovrebbe puntare sulla pagina d'attesa (invece referer mettiamo $pagina_attesa) e quindi seguire il normale flusso di navigazione... insomma, un lavoretto da 15 minuti...massimo mezzora ;)
 
Ultima modifica:
si ho notato il post a cui ti riferisci e ho chiesto come procedere.
ora comunque segnalo questa discussione in sala mod ;)
 
si ho notato il post a cui ti riferisci e ho chiesto come procedere.
ora comunque segnalo questa discussione in sala mod ;)

...basta che non mi fai prendere qualche cartellino :P

Scherzo, eh! ;)

Più che mod, dovrebbe mettere le mani il programmatore / webmaster... Forse ho capito male, ma chi se ne occupa del codice sarebbe Manolo...sbaglio? :boh: o forse Andrea...
 
...basta che non mi fai prendere qualche cartellino :P

Scherzo, eh! ;)

Più che mod, dovrebbe mettere le mani il programmatore / webmaster... Forse ho capito male, ma chi se ne occupa del codice sarebbe Manolo...sbaglio? :boh: o forse Andrea...

no e perchè dovrei cartellinarti... se vuoi la faccio, ma non ne vedo il motivo... per ora :asd:

ritornando al discorso, certo che se ne occuperà il programmatore, infatti io l'ho solo fatto presente in sala mod così lo staff (comunity manager o supermod) lo fanno presente a chi si occupa della programmazione ;)
 
no e perchè dovrei cartellinarti... se vuoi la faccio, ma non ne vedo il motivo... per ora :asd:

ritornando al discorso, certo che se ne occuperà il programmatore, infatti io l'ho solo fatto presente in sala mod così lo staff (comunity manager o supermod) lo fanno presente a chi si occupa della programmazione ;)

No, no...poi non saprò dove timbrarlo :P ... la tua frase "ora comunque segnalo questa discussione in sala mod" ha un certo doppio senso :asd:
 
Pubblicità
Pubblicità
Indietro
Top