[PHP] checkbox e sua memorizzazione nel db

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Salve a tutti,

Vorrei creare come in tutti i forum che si rispettano controllo antipaticissimo (secondo me, perchè ci si dimentica sempre di cliccarci prima d'inviare i dati) della policy privacy o cosa dle genere. Il termine non lo ricordo esattamente. Inoltre vorrei poter mettere un unico check per la lettura del regolamento. Come poter fare ???

P.S.: Vorrei sapere dagli amministratori se anche a voi capita molto spesso che si registrano coime utenti che creano casino nel forum e pubblicità che non centra niente con il forum i cosidetti spam. Ho vbulletin e ho messo le dovute precauzioni ma non bastano sembrano. Qualche consiglio particolare oltre al ripulire ???? Grazie. Scusatemi so che questo non centra niente con l'argomento citato sopra ma ne volevo approfittare in quanto non so in quale sessione adrebbe messo. Grazie a tutti.


P.S.: Giustamente volete uno straccio di codice ed eccolo qua che prima non avevo:

Codice:
    <input name="html" type="checkbox" value="html"> Accetto il regolamento sulla privacy e di comportamento

Ora come memorizzarlo nel db ??? Grazie.
 
Ultima modifica:

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Questo che posto è il risultato finale:

Codice:
<input name="html" type="checkbox" value="html"> Accetto il regolamento sulla <a href="http://www.privacy.php/">privacy </a> e il regolamento di <a href="http://www.comportamento.php/">comportamento</a>

Non capisco il perchè è blu scuro invece di bianco bah.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
scusa paperinik vorresti inserire nel database se uno ha accettato il regolamento e la privacy? parli di uno script o del database di Vbulletin?
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
allora non sapendo come sia composto il tuo database ti spiego sommi capie poi nel caso ti aiuto con del codice.
Io in un mio sito l'ho fatto differente nel senso che se non veniva accetta la chekbox non li facevo nemmeno registrare comunque sia:
In sostanza ti basterebbe verificare che sia stata spuntata ed inserirla nel database quando isnerisci l'utente
PHP:
if(!$_POST['privacy']){
      $sqlquery = "INSERT INTOtabella VALUES(.......')
       $result = $db->query($sqlquery);
}

ovviamente nel database ti basta inserire una nuova colonna 1/0 dove 1 quando viene accettata e 0 se non vinee accettata. Poi in fase di controllo verifichis e ha 1 possono fare azioni se da 0 niet.

se ti serve un aiuto con il codice vedo di fare il possibile secondo le mie conoscenze
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
La cosa che mi hai detto sul fatto distinti e separati mi attizza parecchio io ho nel mio db il segunete campo creato a posta per attivare gli utenti:

Codice:
create table utenti (
   
id             INT(11) NOT NULL AUTO_INCREMENT,
cognome         VARCHAR(80) NOT NULL,
nome                VARCHAR(80) NOT NULL,
nascita                VARCHAR(80) NOT NULL,
nazionalita                VARCHAR(80) NOT NULL,
citta                VARCHAR(80) NOT NULL,
prov                VARCHAR(2) NOT NULL, 
username            VARCHAR(80) NOT NULL,
email                   VARCHAR(80) NOT NULL,
password            VARCHAR(12) NOT NULL,
attivo                  ENUM('1', '0') DEFAULT '0',
PRIMARY KEY (id)
);

Questo è il mio db con tutti i cami dove attivo è quello che mi dicevi tu
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
allora come già detto a me se nona ccettano non li fa nemmeno registrare, il campo per l'attivazione la usavo epr l'attivazione via email, quindi dipende da come hai impostato l'attivazione. se ti basta ttivarli con l'accettazione del regolamento e della privacy se è in fase di registrazione usi 1 nell'insert se è successivo ti basta un update
PHP:
if(!$_POST['privacy']){
      $sqlquery = "UPDATE utenti SET attivo='1'
       $result = $db->query($sqlquery);
}

poi dipende da cosa tis erve ad esempio se è per mandare i messaggi aggiungi il controllo
PHP:
if($row['attivo']==1){
//scrivi il messaggio
}

se invece il campo attivo lo usi già per una conferma tramite email o quant altro dovrai creare una ltro campo ad esempio privacy identico al campo attivo.

insomma te la puoi giocare in diversi modi tutto dipende da come hai impostato lo script e per quale uso
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Dunque io pensavo come in un mio vecchi progetto ma ora non più funzionante di mettere il check sempre sulla privacy e sul regolamento e poi se ci riuscivo, anche un'invio dell'email per la conferma e attivazione dell'account (forse così ci potrebbero essere meno spam spero). Però per l'invio email avrei già tutto pronto se funzionasse mi manca di sapere se c'è una nuova versione di phpmailer in quanto lavoro tutto sul nas prima di metterlo online
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
non ho idea di cosa sia questo nas comunque per l'invio dell'attivazione ho questo in uno dei miei progetti

PHP:
        $intestazioni  = "MIME-Version: 1.0\r\n";
            $intestazioni .= "Content-type: text/html; charset=iso-8859-1\r\n";
            /* intestazioni addizionali */
            $intestazioni .= "From: <".$mail_info.">\r\n";
            $url="http://".URL_TO_SITE."/index.php?action=active&cod=".md5($email);
            $oggetto="BLABLA"; //"Iscrizione";
            $testo=$nome." Benvenuto su BLABLA . Clicca sul seguente link per attivare l'account <a href=".$url.">LINK</a> oppure copia ed incolla il seguente link sul tuo browser<br>
            http://".URL_TO_SITE."/index.php?action=active&cod=".md5($email).""; //Clicca sul link per attivare l'account ;
            mail($email, $oggetto, $testo,$intestazioni);

nell'index poi ho emsso una condiziene se trova active e cod verifico la variabile cod che sia uguale al md5($email) che ho inserito nel database e a verifica avvenuta inserisco il nr 1 nel campo attiva

la funzione mail ha sempre funzionato correttamente

magari ci sono metodi migliori ma è parecchio tempo che uso questa ed ha sempre funzionato a dovere
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Il nas ossia viene conosciuto anche come synolgy o qnap dei piccoli server casarecci dove sono formati da due hdd in raid 1 in modo tale che se si rompe uno dei due viene sostituito e poi c'è la ricostruzione dei dati che avviene durante la notte (esperienza personale). In genere sono sempre collegati alla rete di casa e quindi nessuno vi può entrare tranne che te. E hanno la simulazione delle pagine web
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao Monital,

Oggi sperimenterò il pezzo di codice che mi hai passato e ti saprò dire se funziona o meno. Vorrei Chiederti un'altra cosa che fa sempre parte di questa discussione penso. Ho il tastino "invio dati" sempre abilitato e vorrei fare in modo che affinchè non accettano i termini suddetti non si abilita. Questo è lo spezzone di codice che attualmente adopero:

<input type="submit" name="reg" value="Invio dati" id="submit" class="centering" />

Mi puo dare una mano anche in questo ??? Grazie.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Aggiornamento:

Ho aggiunto questa voce qua, visto che è in fase di registrazione e non in fase di aggiornamento del db:

$query = "INSERT INTO utenti (cognome, nome, nascita, nazionalita, citta, prov, username, email, password, attivo) "
. "VALUES('$cognome','$nome','$nascita','$nazionalita','$citta', '$prov', '$username' ,'$email', '$password', '$attivo')";
$result = mysqli_query($con,$query);

Però il risultato andando a vedere s phpmyadmin risulta vuoto, ne zero e ne 1 dove sbaglio ????? Grazie.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
se te lo dà vuoto solo $attivo dovresti provare a fare un var_dump della variabile $attivo e vedere se te lo restitusice vuoto. come hai chiamato la input checkbox?

al riguardo del tasto una volta risolsi mettendo all'interno una cosa del genere
PHP:
<?php if(!$_POST['privacy']) echo 'disabled';?>
penso che là ti possa aiutare solo qualche funzione di js provoa vedere un pò se ho qualcosa
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ciao Monital,

Grazie dell'indicazione della conversazione del tasto. Oggi lo provo e ti dico com'è andata. Rispondento al tuo quesito eccola qua:

<input name="html" type="checkbox" value="html"> Accetto il regolamento sulla <a href="http://www.privacy.php/">privacy </a> e il regolamento di <a href="http://www.comportamento.php/">comportamento</a>

Mi sembra di averla chiamata semplicemente checkbox, l'ho presa da un esempio su internet, invece mi sa tanto che deve essere chiamata attivo o sbaglio ???? E questo è quello che ho inserito nell'insert che sicuramente è sbagliato:

$query = "INSERT INTO utenti (cognome, nome, nascita, nazionalita, citta, prov, username, email, password, attivo) "
. "VALUES('$cognome','$nome','$nascita','$nazionalita','$citta', '$prov', '$username' ,'$email', '$password', '$attivo')";
$result = mysqli_query($con,$query);

Se ci sono correzioni ben vengano. Grazie.
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
non ha importanza come la chiami la variabile basta che quando la richiami la richiami nella stessa maniera nel tuo caso la checkbox l'hai chiamata
HTML:
name="html"
e la variabile l'hai chiamata
PHP:
$attivo
quindi verifica che quando la richiami lo fai in maniera corretta quindi
PHP:
$attivo=$_POST['html']
o semplicemente per praticità chiami la checkbox
HTML:
<input name="attivo" type="checkbox" value="html"> Accetto il regolamento sulla <a href="http://www.privacy.php/">privacy </a> e il regolamento di <a href="http://www.comportamento.php/">comportamento</a>
e quando la richiami
PHP:
$attivo=$_POST['attivo']

poi prima di fare l'inserimento fai un var_dump cosi da accertarti che abbia preso tute le variabili

PHP:
$query = "INSERT INTO utenti (cognome, nome, nascita, nazionalita, citta, prov, username, email, password, attivo) "
. "VALUES('".$cognome."','".$nome."','".$nascita."','".$nazionalita."','".$citta."', '".$prov."', '".$username."' ,'".$email."', '".$password."', '".$attivo."')";
var_dump($query);
//$result = mysqli_query($con,$query);

spero di aver reso l'idea

modifica: ho modificato al query che mancavano gli apici corretti.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Ah ok grazie. Nel pome ti farò sapere com'è andata. In caso ti richiedo il tuo sito.

P.s.: in qualche post precedente ti ho spiegato cos'era un nas (nel mio caso synoligy), spero che le mie spiegazioni siano state chiare e esaudito. Qualche altra spiegazione se ti serve puoi chiedermi senza problemi. Il costo del "giocattolini" si aggira sui 400€ con due hdd da 4tb l'uno per un totale di 8 tb che messi in raid 1 diventano in pratica 4tb
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
io ormai sono troppo abituato a fare tutto in tempo reale. poi faccio quasi tutto a livello amatoriale ed il grosso è già salvato.
 

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
Capito. Ma ti può sempre ritornare utile. Ovviamente non sto facendo pubblicità al synology. Era solo un mio apprezzamento sull'apparecchio dovuta alla mia esperienza assolutamente positiva.
 
Discussioni simili
Autore Titolo Forum Risposte Data
S [PHP] Come mantenere selezionato checkbox dopo aver cliccato submit PHP 7
P [PHP] Controllo al checkbox privacy PHP 6
C [PHP] Checkbox in tabella PHP 7
L [PHP] CHECKBOX DA SELEZIONARE IN UNA TABELLA PHP 4
T [PHP] Checkbox E Valori Multipli In Una Colonna PHP 1
M Inserimento dati checkbox multipli in db da ajax a php PHP 1
M PHP - Checkbox - Mysql PHP 2
M [PHP] Far rimanere biffata checkbox dopo aggiornamento pagina PHP 24
ientii [PHP] Gestione CheckBox PHP 1
bubino8 [PHP] Variabile da multipla Checkbox PHP 2
E [PHP] valore checkbox PHP 1
M PHP/SQL Inserire più valori in una colonna di tipo integer - Checkbox - PHP 3
M [PHP] Checkbox e valori multipli in una colonna PHP 10
U [PHP - RISOLTO] Tabella dinamica: colonne selezionate da checkbox PHP 40
giancadeejay [PHP] INSERT into tabella tramite scelta checkbox PHP 0
giancadeejay [PHP] checkbox ad ogni riga estratta dal db PHP 13
Fede72 Controllare le checkbox con PHP PHP 6
L [PHP] selezionare righe di una tabella con le checkbox e cancellarle PHP 2
M [PHP] Checkbox: inserimento nel db e lettura dal db PHP 20
M form php con checkbox PHP 4
A Aiutino su PHP e MySQL [Checkbox] PHP 2
L dati da checkbox passati a script php via json jQuery 5
M visualizzazione checkbox con PHP PHP 3
N [RISOLTO] Mostrare a video le checkbox selezionate con PHP e MySQL PHP 4
P Controllo php su checkbox PHP 2
Sargon php _ checkbox mysql _ PHP 3
unkus_nob valori checkbox di form html in file php senza submit PHP 1
A Problema PHP e checkbox! PHP 10
Athene Come nascondere i dati della checkbox in php PHP 2
D query con mysql, checkbox e php PHP 8
M Leggere valori da checkbox e richiamarli in php Javascript 1
M selezione con checkbox php mysql PHP 14
T checkbox e PHP PHP 12
P [PHP] problema script con checkbox! PHP 0
W php e checkbox PHP 3
S ComboBox, radioButton, CheckBox...passagio dati FLASH-PHP!!! Flash 0
G Colorare menu select attraverso ricerca php PHP 0
L PHP motore di ricerca nel sito PHP 1
S PHP e Mysqli PHP 0
Y Stampare da php su un foglio A6 attraverso una stampante esterna PHP 1
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4

Discussioni simili