inserimento data nascita e codice random

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Buonasera, ho un problema che non riesco a capire come risolvere. Nella mia pagina di registrazione creo un codice random con questo codice
PHP:
$codiceconferma = $mysqli->real_escape_string(md5(uniqid(rand(),true)));
e fin qui ok, solamente che quando vado a richiamare la variabile per inviarla via mail e inserirla nel database mi ritrovo che la mail ha il codice corretto mentre nel database mi appaiono solo i primi due valori, ed esattamente solo numeri, mentre il codice è alfanumerico.

Inoltre sempre con lo stesso form il cliente inserisce la sua data di nascita che si completa automaticaamente con gli "/" e con un var_dump vedo questo
PHP:
object(mysqli_stmt)#3 (10) { ["affected_rows"]=> int(0) ["insert_id"]=> int(0) ["num_rows"]=> int(0)
 ["param_count"]=> int(8) ["field_count"]=> int(0) ["errno"]=> int(0) ["error"]=> string(0) "" ["error_list"]=> array(0)
 { } ["sqlstate"]=> string(5) "00000" ["id"]=> int(2) } string(10) "05/06/2013"
mentre questo è iol codice che ho scritto per preparare i dati
PHP:
$stmt = $mysqli->prepare("INSERT INTO utenti_temp (codiceconferma, nome, cognome, eta, interessi, username, password, email) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
      			$stmt->bind_param ('ississss', $codiceconferma, $nome, $cognome, $eta, $interessi, $username, $password, $email);
				$stmt->execute();
      			if($stmt->execute()){
      				$inviautentitemp = $stmt;
da qui se tutto è ok inizio a creare la mail.

Qualche suggerimento?
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.054
6
38
53
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
ciao, il codice generato con md5 è un alfanumerico come dici e se in db memorizza solo le prime due cifre o lettere devi cambiare l'impostazione (TIPO) della colonna "codiceconferma" metti VARCHAR 255, per la data probabilmente anche qui devi cambiare impostazione (TIPO).

Saluti
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Ho risolto il mio problema, ho messo utf8_bin come charset in tutte le tabelle e per completezza metto qua il codice corretto. Magari non sarà il massimo e si potrà fare di meglio ma per ora va bene.
qua inserisco i valori in tabella temporanea
PHP:
      			$stmt = $mysqli->prepare("INSERT INTO utenti_temp (codiceconferma, nome, cognome, eta, interessi, username, password, email) VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
      			$stmt->bind_param ('ssssssss', $codiceconferma, $nome, $cognome, $eta, $interessi, $username, $password, $email);
      			var_dump($stmt);
				$stmt->execute();
      			if($stmt->execute()){
      				$inviautentitemp = $stmt;
Per inserire invece la data e il codice random ho messo
PHP:
	$stmt->bind_param ('sssssssss')
come stringa e non come intero o double, e magicamente è apparso il codice.

L'unica cosa che mi rimane è che l'inserimento sia in tabella temporanea sia in quella definitiva le voci che vengono messe sono doppie. E non capisco come mai.
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
della colonna "codiceconferma" metti VARCHAR 255i
Un md5 in un varchar 255 è uno spreco di risorse: la configurazione più appropriata per quella colonna è CHAR(32).

Ho risolto il mio problema, ho messo utf8_bin come charset in tutte le tabelle
La codifica più appropriata da associare alle tabelle sul db se i tuoi files in php sono codificati in utf-8 è utf8mb4_general_ci.


Quanto al record duplicato è perché invochi il metodo execute() due volte di seguito:
PHP:
$stmt->execute();
if($stmt->execute()){

Di conseguenza esegui due volte la query, ti basta insomma eliminare l'istruzione al di fuori dell'if per risolvere.
 

Paperino78

Utente Attivo
30 Giu 2012
409
0
16
Milano
Grazie flameseeker!! Corretti i valori, ora inserisce solo una stringa, invece di due e corretti anche la codifica ed il VARCHAR.
 
Discussioni simili
Autore Titolo Forum Risposte Data
elpirata Impedire inserimento data di oggi e date passate jQuery 39
P Access Inserimento data. MS Access 4
paloppa Inserimento data su database MYSQL PHP 2
S Javascript Inserimento Data. Javascript 7
I inserimento data in tabelle da visual basic MySQL 0
V (cerco retribuito lavoro) - inserimento dati/data entry lavoro a cottimo Offerte e Richieste di Lavoro e/o Collaborazione 0
L controllo input di inserimento per data PHP 9
asevenx errore in inserimento dati in Data Base PHP 13
G Form di inserimento con data e select PHP 3
X Inserimento data dd/mm/yyyy PHP 3
M Inserimento della Data nei records MS Access 4
K Inserimento query Errore 1366 PHP 4
K form Inserimento record mysql PHP 2
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
C inserimento gestionale sotto Word Press WordPress 0
D Inserimento video mp4 HTML e CSS 0
L inserimento form dati multipli ? PHP 0
G Appicazione HTML per inserimento dai in Database Access Microsoft HTML e CSS 0
J Form inserimento dati in database Ajax 1
D modificare questo codice per inserimento in text e non in tabella jQuery 1
R [C#] Automatizzare un inserimento di un Post su un Gruppo Facebook .NET Framework 0
M Aiuto con inserimento immagini WordPress 6
A Inserimento dati nel database tramite form + altre operazioni PHP 18
W Email conferma inserimento Classic ASP 0
S Inserimento multiplo non richiesto PHP 2
P inserimento icone social tramite html HTML e CSS 1
L form multipla php sql,errore in inserimento MySQL 0
Alex_70 Inserimento dati a cascata PHP 204
T Da xsd a xml ed inserimento dati in excel XML 0
M Problema inserimento parole con apostrofo nel db PHP 5
C [RISOLTO]Inserimento variabile php in input html PHP 20
L Inserimento dettagli in una maglia Photoshop 2
S [PHP] email con inserimento dati nel database PHP 23
beatle [Photoshop] problema inserimento immagini Photoshop 1
G [Javascript] Errore inserimento dati Backend Node.js e workbench Javascript 1
B [PHP] Creare PDF dopo inserimento dati form PHP 4
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
C [PHP] Form inserimento più menù a discesa PHP 9
M [PHP] Problemi su inserimento array nel db PHP 7
gandalf1959 [PHP] Inserimento di più righe non funziona come mi aspetto... PHP 2
E Inserimento dati da PHP in tabella MySQL PHP 5
E Form inserimento dati con JavaScript Javascript 0
D [MS Access] problemi con inserimento campo in una maschera MS Access 6
G inserimento csv in tabella mysql; problema con struttura PHP 11
M [Joomla] Inserimento wow.js in template Joomla 4
K [PHP] Inserimento dati database con postgres PHP 2
K [PHP + MYSQL ] Inserimento dati in database da form dinamico PHP 13
A [PHP] Inserimento url dinamici in pagina html PHP 3
spider81man [PHP] Alert Box per confermare Inserimento o Cancellazione dato. PHP 4
gandalf1959 [MySQL] Inserimento multiplo da form multirighe MySQL 22

Discussioni simili