• Home
  • Forum
  • Fare Web
  • PHP

Php problema su inserimento dati mysql

  • Creatore Discussione Creatore Discussione EffeElle
  • Data di inizio Data di inizio 1 Ott 2012
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 1 Ott 2012
  • #21
posta l'errore
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #22
Mi da questo:
Deprecated: Function ereg() is deprecated in C:\wamp\www\accademia-del-sacro\admin\insert_data.php on line 60, 66, 72
come risolvo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 1 Ott 2012
  • #23
E' la prima risposta che ti ho dato
Mi sembra che ereg si puo sostitutire con preg_match() dai un occhiata alla documentazione

o meglio cambia controllo
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #24
Se io non stampo la query mi da tutto ok e indirizzo l'utente in una pagina che la compilazione è avvenuta con successo ma io posso modificare il mio codice e adottare il tuo metodo descritto a inizio discussione?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 1 Ott 2012
  • #25
certo che puoi

per il controllo sui campi ti basta usare una delle funzioni di php per ripulire da caratteri indesiderati o per verificarne la lungezza ,ma dare in pasto tutte le stringhe ad un espressione regolare mi pare troppo dispendioso
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #26
Mi puoi dare un dritta per adottarlo nel mio codice non saprei propio come fare
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #27
Criric come posso modificare
PHP:
$NamePattern = "^[a-zA-Z]{3,20}$";
per avere lo spazio nel nome o cognome ad esempio La Pira, Maria Grazia non mi accetta lo spazio e le parole accendate òàèùì o l'apostrofo
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 1 Ott 2012
  • #28
Non sono bravo con le espressioni regolari

cmq ripeto secondo me non servono puoi semplicemente fare cosi
PHP:
// se non è settato o se è vuoto
if (!isset($_POST['cognome']) || empty($_POST['cognome'])) {
    //reindirizzi
    header("Location: insert.php?alert=2");
    die();
} else {
    // altrimenti ripulisci il valore
    $_POST['cognome'] = mysql_real_escape_string($_POST['cognome']);
}

ti rimando ad un post di Alessandro se vuoi crearti una funzione piu accurata per ripulire le stringhe prima di inserirle nel database
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #29
Adesso do un occhiata al post di alessandro mentre se vorrei completare la registrazione che ovviamente ci saranno altri campi non solo questi 5, se vorrei completarla con un email di converma che arrivi all'utente e lui cliccando sul link arriva in una pagina dove ci sarà il testo che ad esampio l'iscrizione è avvenuto con successo
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #30
Ho seguito il tuo consiglio sullo script da te postato in effetti non serve a nulla avere ogni campo un alert e poi viene difficile gestirli, mentre per quan riguarda un email di conferma sapreste darmi un aiuto?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 1 Ott 2012
  • #31
non è semplicissimo, alcuni passaggi li ignoro anchio
in linea di massima dovrebbe funzionare cosi
aggiungi un campo alla tabella confermato int 1 ( sara 1 o 0 ) oppure enum('1','0') io preferisco int 1
subito dopo la insert che imposterai a 0 invii una mail con un link ad una pagina di conferma
dove devi verificare se la mail corrisponde al record 0 che hai nel database ( sicuramente ci andra qualche altro controllo )
se tutto va a buon fine imposti il campo confermato a 1 con un update
nel login dovrai verificare che il campo sia settato a 1
prova a buttar giu qualcosa e apri una nuova discussione se trovi qualche problema
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 1 Ott 2012
  • #32
Provo a buttare qualcosa e apro una nuova discussione alla prossima grazie per il tuo aiuto..
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 3 Ott 2012
  • #33
Criric non so se è il caso di aprire una nuova discussione vorrei ultimare lo script prima di inserire la conferma iscrizione via email con una verifica del campo codicefiscale e email o sola email presenti sul database ti posto il codice con il suo relativo messaggio di errore che mi da
PHP:
<?php

$EmailPattern = "^([a-zA-Z0-9])+([a-zA-Z0-9]+[-_\.]?)*([a-zA-Z0-9])+(@)([a-zA-Z0-9])+([a-zA-Z0-9]+[-_\.]?)*([a-zA-Z0-9])+(\.[a-z]{2,4})$";


if (empty($_POST['cognome']) OR empty($_POST['nome']) OR empty($_POST['codicefiscale']) OR empty($_POST['sesso']) OR empty($_POST['statocivile']) OR empty($_POST['titolostudio']) OR empty($_POST['datanascita']) OR empty($_POST['paesenascita']) OR empty($_POST['comunenascita']) OR empty($_POST['provincianascita']) OR empty($_POST['comuneresidenza']) OR empty($_POST['provinciaresidenza']) OR empty($_POST['indirizzo']) OR empty($_POST['numerocivico']) OR empty($_POST['telefono']) OR empty($_POST['cellulare']) OR empty($_POST['email']))
{
	header("Location: preiscrizione-step1.php?alert=1");
	die;
}
 
// se non è settato o se è vuoto
if (!isset($_POST['cognome']) || empty($_POST['cognome'])) {
    //reindirizzi
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    // altrimenti ripulisci il valore
    $_POST['cognome'] = mysql_real_escape_string($_POST['cognome']);
}  

 
if (!isset($_POST['nome']) || empty($_POST['nome'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
   
    $_POST['nome'] = mysql_real_escape_string($_POST['nome']);
}  
 

if (!isset($_POST['codicefiscale']) || empty($_POST['codicefiscale'])) {
    //reindirizzi
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['codicefiscale'] = mysql_real_escape_string($_POST['codicefiscale']);
}  
 if ($_POST['sesso'] != "M" && $_POST['sesso'] != "F") 
 {
    header("Location: preiscrizione-step1.php?alert=1");
    die;
  
}  
	
if ($_POST['statocivile'] != "Celibe/Nubile" && $_POST['statocivile'] != "Coniugato/a" && $_POST['statocivile'] != "Vedovo/a" && $_POST['statocivile'] != "Separato/a") 
{
    header("Location: preiscrizione-step1.php?alert=1");
    die;
}



if ($_POST['titolostudio'] != "Licensa-Media" && $_POST['titolostudio'] != "Diploma" && $_POST['titolostudio'] != "Laurea/1Livello" && $_POST['titolostudio'] != "Laurea/2Livello") 
{
    header("Location: preiscrizione-step1.php?alert=1");
    die;
}

if ($_POST['titolostudio'] != "Licensa-Media" && $_POST['titolostudio'] != "Diploma" && $_POST['titolostudio'] != "Laurea/1Livello" && $_POST['titolostudio'] != "Laurea/2Livello") 
{
    header("Location: preiscrizione-step1.php?alert=1");
    die;
}


if (!isset($_POST['datanascita']) || empty($_POST['datanascita'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['datanascita'] = mysql_real_escape_string($_POST['datanascita']);
}  

if (!isset($_POST['paesenascita']) || empty($_POST['paesenascita'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {

    $_POST['paesenascita'] = mysql_real_escape_string($_POST['paesenascita']);
}  


if (!isset($_POST['comunenascita']) || empty($_POST['comunenascita'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['comunenascita'] = mysql_real_escape_string($_POST['comunenascita']);
}  


if (!isset($_POST['provincianascita']) || empty($_POST['provincianascita'])) {
    
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
   
    $_POST['provincianascita'] = mysql_real_escape_string($_POST['provincianascita']);
}  


if (!isset($_POST['comuneresidenza']) || empty($_POST['comuneresidenza'])) {
    
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['comuneresidenza'] = mysql_real_escape_string($_POST['comuneresidenza']);
}  


if (!isset($_POST['provinciaresidenza']) || empty($_POST['provinciaresidenza'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['provinciaresidenza'] = mysql_real_escape_string($_POST['provinciaresidenza']);
}  


if (!isset($_POST['indirizzo']) || empty($_POST['indirizzo'])) {
    
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['indirizzo'] = mysql_real_escape_string($_POST['indirizzo']);
}  


if (!isset($_POST['numerocivico']) || empty($_POST['numerocivico'])) {
   
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['numerocivico'] = mysql_real_escape_string($_POST['numerocivico']);
}  


if (!isset($_POST['telefono']) || empty($_POST['telefono'])) {
    
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
    
    $_POST['telefono'] = mysql_real_escape_string($_POST['telefono']);
}  


if (!isset($_POST['cellulare']) || empty($_POST['cellulare'])) {
  
    header("Location: preiscrizione-step1.php?alert=1");
    die();
} else {
   
    $_POST['cellulare'] = mysql_real_escape_string($_POST['cellulare']);
}  

if (!ereg($EmailPattern, $_POST['email']))
{
	header("Location: preiscrizione-step1.php?alert=2");
	die;
}  

// richiamo il file di configurazione
     require 'connessione.php'; 
 // richiamo lo script responsabile della connessione a MySQL
     require 'config.inc';
	 
	  mysql_select_db("miodatabase");
	 //Verifico che il codicefiscale e email non siano già presenti sul DataBase
$query = "SELECT * FROM preiscrizione-utenti " .
          "WHERE codicefiscale = '" . $_POST['codicefiscale'] . "'" .
          "OR email = '" . $_POST['email'] . "'";

$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result) != 0)
{
 while ($row = mysql_fetch_array($result))
 {
  //Se il codicefiscale esiste
  if ($row['codicefiscale'] == $codicefiscale)
  {
   header("Location: preiscrizione-step1.php?alert=2");
	die;
}  
  //Se l'email esiste
  if ($row['email'] == $_POST['email'])
  {
   header("Location: preiscrizione-step1.php?alert=2");
	die;
}  
  
 }

}
else
{
$query = "INSERT INTO `miodatabase`.`preiscrizione-utenti`
                  SET cognome = '" . $_POST['cognome'] . "',
                      nome = '" . $_POST['nome'] . "',
                      codicefiscale = '" . $_POST['codicefiscale'] . "',
                      sesso = '" . $_POST['sesso'] . "',
					  statocivile = '" . $_POST['statocivile'] . "',
					  titolostudio = '" . $_POST['titolostudio'] . "',
					  datanascita = '" . $_POST['datanascita'] . "',
					  paesenascita = '" . $_POST['paesenascita'] . "',
					  comunenascita = '" . $_POST['comunenascita'] . "',
					  provincianascita = '" . $_POST['provincianascita'] . "',
					  comuneresidenza = '" . $_POST['comuneresidenza'] . "',
					  provinciaresidenza = '" . $_POST['provinciaresidenza'] . "',
					  indirizzo = '" . $_POST['indirizzo'] . "',
					  numerocivico = '" . $_POST['numerocivico'] . "',
					  telefono = '" . $_POST['telefono'] . "',
					  cellulare = '" . $_POST['cellulare'] . "',
					  email = '" . $_POST['email'] . "'";

// invio la query     
        $result = mysql_query($query);

 
header("Location: preiscrizione-step2.php");
 }
?>
Questa è solo la parte che ho scritto per la verifica
PHP:
	 //Verifico che il codicefiscale e email non siano già presenti sul DataBase
$query = "SELECT * FROM preiscrizione-utenti " .
          "WHERE codicefiscale = '" . $_POST['codicefiscale'] . "'" .
          "OR email = '" . $_POST['email'] . "'";

$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result) != 0)
{
 while ($row = mysql_fetch_array($result))
 {
  //Se il codicefiscale esiste
  if ($row['codicefiscale'] == $codicefiscale)
  {
   header("Location: preiscrizione-step1.php?alert=2");
	die;
}  
  //Se l'email esiste
  if ($row['email'] == $_POST['email'])
  {
   header("Location: preiscrizione-step1.php?alert=2");
	die;
}  
  
 }

}
else
{

Se tolgo quella tutto funziona il controllo dei campi e l'inserimento sul database ma come faccio per la verifica?
il messaggio di errore è questo:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '-utenti WHERE codicefiscale = 'bgdfsgafdgd'OR email = 'io@virgilio.it'' at line 1
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 3 Ott 2012
  • #34
PHP:
$query = "SELECT * FROM preiscrizione-utenti " .
          "WHERE codicefiscale = '" . $_POST['codicefiscale'] . "'" .
          "OR email = '" . $_POST['email'] . "'";

stacca WHERE ed OD dalle virgolette.

Quando da quel tipo di errore è sempre una virgoletta maledetta
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 3 Ott 2012
  • #35
Ho provato a staccare ma non va sarà sbagliata la sintassi che utilizzo
 

Monital

Utente Attivo
15 Apr 2009
778
2
18
  • 3 Ott 2012
  • #36
EffeElle ha scritto:
Ho provato a staccare ma non va sarà sbagliata la sintassi che utilizzo
Clicca per allargare...

non ho testato

prova

PHP:
$query = "SELECT * FROM preiscrizione-utenti WHERE codicefiscale = '" . $_POST['codicefiscale'] . "' OR email = '" . $_POST['email'] . "'";
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 3 Ott 2012
  • #37
Non va niente da fare, non saprei saranno 4 righe di codice ma nn so propio
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 3 Ott 2012
  • #38
ciao,
un altro buon metodo per individuare lgli errore in una query è stampandola
PHP:
echo $query;

e postala
 

EffeElle

Utente Attivo
25 Set 2012
48
0
0
  • 3 Ott 2012
  • #39
dove devo inserire echo questo è il codice che ho scritto ma mi sa che è proprio sbagliato

PHP:
//Verifico che il codicefiscale e email non siano già presenti sul DataBase
$query = "SELECT * FROM preiscrizione-utenti " .
          "WHERE codicefiscale = '" . $_POST['codicefiscale'] . "'" .
          "OR email = '" . $_POST['email'] . "'";

$result = mysql_query($query) or die (mysql_error());

if (mysql_num_rows($result) != 0)
{
 while ($row = mysql_fetch_array($result))
 {
  //Se il codicefiscale esiste
  if ($row['codicefiscale'] == $codicefiscale)
  {
   header("Location: preiscrizione-step1.php?alert=2");
    die;
}  
  //Se l'email esiste
  if ($row['email'] == $_POST['email'])
  {
   header("Location: preiscrizione-step1.php?alert=2");
    die;
}  
  
 }

}
else
{
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 3 Ott 2012
  • #40
dopo la qquery
PHP:
$query = "SELECT * FROM preiscrizione-utenti " .
          "WHERE codicefiscale = '" . $_POST['codicefiscale'] . "'" .
          "OR email = '" . $_POST['email'] . "'"; 

echo $query;

ma non avevi anche il nome del database?
Codice:
SELECT * FROM accademiadelsacro.preiscrizione-utenti
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
[PHP] Problema inserimento nuove chiavi in array
  • pierPHP
  • 18 Mar 2018
  • PHP
Risposte
2
Visite
1K
PHP 18 Mar 2018
pierPHP
P
N
[PHP/MySQL] Problema inserimento stringhe ' or ', ' and '
  • nbiadene
  • 10 Set 2009
  • PHP
Risposte
2
Visite
2K
PHP 10 Set 2009
nbiadene
N
K
[php] Problema con inner join
  • Kiko74b
  • 22 Nov 2022
  • PHP
Risposte
4
Visite
2K
PHP 23 Nov 2022
Kiko74b
K
K
[PHP] Problema con variabili concatenate.
  • Kiko74b
  • 17 Ott 2022
  • PHP
Risposte
1
Visite
1K
PHP 30 Ott 2022
thanatos
T
T
  • Bloccata
ALTRO PROBLEMA CON ARRAY PHP
  • thanatos
  • 30 Mag 2021
  • PHP
Risposte
1
Visite
1K
PHP 30 Mag 2021
Max 1
D
problema php mysql
  • dgianmarco
  • 16 Dic 2020
  • PHP
Risposte
1
Visite
2K
PHP 22 Dic 2020
zorro
D
  • Bloccata
problema php mysql
  • dgianmarco
  • 16 Dic 2020
  • PHP
Risposte
1
Visite
2K
PHP 16 Dic 2020
Max 1
Z
Problema di sincronizzazione PAYPAL con PHP
  • z.cristiano
  • 11 Nov 2020
  • PHP
Risposte
1
Visite
1K
PHP 12 Nov 2020
Max 1
A
Problema checkout carrello php
  • andreagal4s
  • 25 Mag 2020
  • PHP
Risposte
2
Visite
1K
PHP 25 Mag 2020
Max 1
G
Problema caricamento tabelle MySql da PhP
  • Gian72Luca
  • 6 Apr 2020
  • PHP
Risposte
0
Visite
1K
PHP 6 Apr 2020
Gian72Luca
G
M
Problema con php per calcolo costo percentuale
  • Matteoarm99
  • 24 Mar 2020
  • PHP
Risposte
7
Visite
3K
PHP 25 Mar 2020
marino51
O
Problema Formmail in PHP su Aruba
  • onzynet
  • 5 Mar 2020
  • PHP
Risposte
0
Visite
2K
PHP 5 Mar 2020
onzynet
O
Chat e php [problema]
  • WebmasterFioriniAndrea
  • 16 Dic 2019
  • PHP
Risposte
3
Visite
1K
PHP 18 Dic 2019
macus_adi
  • Bloccata
Problema EasyPHP rete locale
  • nicoladag
  • 27 Nov 2019
  • Presentati al Forum
Risposte
1
Visite
921
Presentati al Forum 27 Nov 2019
Max 1
L
[PHP] Problema con Telegram
  • Lorenzo Poggi
  • 26 Nov 2019
  • PHP
Risposte
1
Visite
2K
PHP 26 Nov 2019
Max 1
  • Bloccata
[PHP] Problema che non mi fa vedere niente
  • WebmasterFioriniAndrea
  • 26 Nov 2019
  • PHP
Risposte
2
Visite
1K
PHP 26 Nov 2019
MarcoGrazia
K
Help: problema con uno script di booking in php!
  • kathe
  • 28 Ott 2019
  • PHP
Risposte
0
Visite
705
PHP 28 Ott 2019
kathe
K
A
[PHP] Problema query insert [RISOLTO]
  • Arawan Omacha
  • 10 Ott 2019
  • PHP
Risposte
14
Visite
3K
PHP 17 Apr 2020
Arawan Omacha
A
N
[Apache] problema con estensione php
  • nik04
  • 9 Set 2019
  • Apache
Risposte
0
Visite
2K
Apache 9 Set 2019
nik04
N
C
[PHP] Problema con download file
  • claudiorn
  • 5 Set 2019
  • PHP
Risposte
0
Visite
1K
PHP 5 Set 2019
claudiorn
C
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?