[RISOLTO] GDRCD 5.4.1 - Segnalazione Bacheche
[RISOLTO] GDRCD 5.4.1 - Segnalazione Bacheche postato il 24/08/2017 11:13:40 nel forum programmazione, open source e hosting e modificato da fargus il 24/08/2017 12:44:47
Salve a tutti...Ho scritto da zero il codice per la segnalazione dei thread via posta privata attraverso un form dove scrivi nome del pg ed il sistema manda la notifica.Di seguito il codice:
/*Segnalazione Theard via Missiva*/if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}if($_REQUEST['op']=='segnalaok'){ $segnalazione=gdrcd_filter_in("http://www.herosfaith.eu/main.php?page=forum&op=read&what=".gdrcd_filter('num',$_REQUEST['what'])."&where=".gdrcd_filter('num',$_REQUEST['where']).""); gdrcd_query('INSERT INTO messaggi (ambito, moderazione, mittente, destinatario, spedito, testo) VALUES ("'.gdrcd_filter('in',$_POST['ambito']).'", "'.gdrcd_filter('in',$_POST['mod']).'", "'.$_SESSION['login'].'","'.gdrcd_capital_letter(gdrcd_filter('in',$_POST['interessato'])).'", NOW(),"'.$segnalazione.'" )'); }
Ora il problema è che non riesco ad estrapolare correttamente le informazioni diwhat=".gdrcd_filter('num',$_REQUEST['what'])."&where=".gdrcd_filter('num',$_REQUEST['where'])."
Di fatti quando segnalo il thread via missiva arriva un link cosi:http://www.herosfaith.eu/main.php?page=forum&op=read&what=0&where=0Dove ovviamente what 0 e where 0 sono valori errati.Qualcuno potrebbe aiutarmi?
Pagine → 1 2
24/08/2017 11:36:06
fargus ha scritto:
gdrcd_filter('num',$_REQUEST['what'])gdrcd_filter('num',$_REQUEST['where'])$_REQUEST['what']$_REQUEST['where']
Se stampi questi 4 valori, cosa ti torna?
24/08/2017 11:40:11
true rick ha scritto: [quote]fargus ha scritto:
gdrcd_filter('num',$_REQUEST['what'])gdrcd_filter('num',$_REQUEST['where'])$_REQUEST['what']$_REQUEST['where']
Se stampi questi 4 valori, cosa ti torna?[/quote]mi torna 0Però ho provato anche a modificare cosi:http://www.herosfaith.eu/main.php?page=forum&op=read&what=".gdrcd_filter_num($row['id_messaggio'])."&where=".gdrcd_filter_num($row['id_araldo']).perché invece id_messaggio e id_araldo me li stampa correttamente.Tuttavia ad invio segnalazione torna sempre what 0 e where 0
24/08/2017 11:44:56
fargus ha scritto:
if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
Scusa, mi sono accorto solo ora.Non ci sono le variabili what e where nel tuo form, quindi quando invii le informazioni, queste non vengono portate...Aggiungi queste righe<input type="hidden" name="what" value="TUO_VALORE" /><input type="hidden" name="where" value="TUO_VALORE" />
24/08/2017 11:46:26
true rick ha scritto: [quote]fargus ha scritto:
if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
Scusa, mi sono accorto solo ora.Non ci sono le variabili what e where nel tuo form, quindi quando invii le informazioni, queste non vengono portate...Aggiungi queste righe<input type="hidden" name="what" value="TUO_VALORE" /><input type="hidden" name="where" value="TUO_VALORE" />
[/quote]ok ma che devo scrivere al posto di TUO VALORE
24/08/2017 11:51:30
fargus ha scritto: ok ma che devo scrivere al posto di TUO VALORE
...ehm, "cavallo" e "capra"?Non lo so io che variabili devi passare per far funzionare il tuo codice, ti sto dicendo perché nel tuo codice, non arrivavano le variabili "what" e "where" che richiamavi.
24/08/2017 11:55:13
true rick ha scritto: [quote]fargus ha scritto: ok ma che devo scrivere al posto di TUO VALORE
...ehm, "cavallo" e "capra"?Non lo so io che variabili devi passare per far funzionare il tuo codice, ti sto dicendo perché nel tuo codice, non arrivavano le variabili "what" e "where" che richiamavi.[/quote]Si quello ok, però se metto: <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" />non me lo legge scusami mi sono spiagato male io
24/08/2017 12:02:59
fargus ha scritto: Si quello ok, però se metto: <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" />non me lo legge scusami mi sono spiagato male io
Metti l'intero pezzo di codice che hai appena modificato per favore, ed anche i valori di what e where che vengono scritti (nascosti) nel form di invio
24/08/2017 12:08:03
true rick ha scritto: [quote]fargus ha scritto: Si quello ok, però se metto: <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" />non me lo legge scusami mi sono spiagato male io
Metti l'intero pezzo di codice che hai appena modificato per favore, ed anche i valori di what e where che vengono scritti (nascosti) nel form di invio[/quote]eccolo:if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}if($_REQUEST['op']=='segnalaok'){ $segnalazione=gdrcd_filter_in("http://www.herosfaith.eu/main.php?page=forum&op=read&what=".gdrcd_filter('num',$_REQUEST['what'])."&where=".gdrcd_filter('num',$_REQUEST['where']).""); gdrcd_query('INSERT INTO messaggi (ambito, moderazione, mittente, destinatario, spedito, testo) VALUES ("'.gdrcd_filter('in',$_POST['ambito']).'", "'.gdrcd_filter('in',$_POST['mod']).'", "'.$_SESSION['login'].'","'.gdrcd_capital_letter(gdrcd_filter('in',$_POST['interessato'])).'", NOW(),"'.$segnalazione.'" )'); }
però cosi non funziona qualcosa è scritto male nei due value
24/08/2017 12:13:17
fargus ha scritto:
if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
fargus ha scritto: però cosi non funziona qualcosa è scritto male nei due value
Eh sì.L'echo del testo inizia con una parentesi ' che poi riutilizzi senza alcun tipo di escape character anche in $row['id_araldo'] quindi praticamente stai chiudendo anticipatamente la stringa. E' già tanto non abbia crashato.Segue il codice corretto.if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="what" value="'.$row["id_messaggio"].'" /> <input type="hidden" name="where" value="'.$row["id_araldo"].'" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
24/08/2017 12:16:41
true rick ha scritto: [quote]fargus ha scritto:
if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="what" value="$row['id_messaggio']" /> <input type="hidden" name="where" value="$row['id_araldo']" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
fargus ha scritto: però cosi non funziona qualcosa è scritto male nei due value
Eh sì.L'echo del testo inizia con una parentesi ' che poi riutilizzi senza alcun tipo di escape character anche in $row['id_araldo'] quindi praticamente stai chiudendo anticipatamente la stringa. E' già tanto non abbia crashato.Segue il codice corretto.if($_REQUEST['op']=='segnala'){ echo '<h3>'.gdrcd_filter('out','Segnala la Discussione').'</h3><form action="main.php?page=forum" method="post"> <input type="text" list="personaggi" name="interessato" placeholder="Nome del personaggio" /> <input type="hidden" name="what" value="'.$row["id_messaggio"].'" /> <input type="hidden" name="where" value="'.$row["id_araldo"].'" /> <input type="hidden" name="op" value="segnalaok" /> <p>'.gdrcd_filter('out','Invia la segnalazione').'</p> <input type="submit" value="'.gdrcd_filter('out','Segnala').'" /></form>';}
[/quote]Non funziona.esce sempre what=0 e where=0
Discussione seguita da
Pagine → 1 2
Rispondi alla Discussione Segui Discussione Inoltra Discussione Forum Programmazione, Open Source e Hosting Elenco Forum
Articoli, Interviste e altre Risorse!