Ciao ragazzi questo è il mio 2 post su questo forum spero mi sapete dare anche qui un aiuto, mi trovo in difficoltà per inserire dati su un database. Non riesco in particolare a inserire i dati presi da una select o da input radio, ho fatto una prova precedente senza avere dei campi select è tutto funziona corettamente successivamente ho inserito due campi select uno di nome sesso e uno di nome statocivile il primo problema è nel controllo dei campi che l'ho messo come SessoPattern ma non me lo accetta mentre quello NamePattern per il cognome il nome e il codice fiscale me lo accetta e poi non so se per la creazione della tabella mysql si devono dare dei valori specifici per i campi di tipo select io ho inserito tutti i campi di tipo text o varchar ad esclusione del campo id di tipo int AU. Vi posto i 2 file di script spero qualcuno riesce ad aiutarmi...
insert.php
insert_data.php
strutturatabella
insert.php
PHP:
<?php
// richiamo il file di configurazione
require 'connessione.php';
// richiamo lo script responsabile della connessione a MySQL
require 'config.inc';
$message = "";
if (isset($_GET['alert']))
{
if ($_GET['alert'] == 0)
{
$message = "Dati scritti correttamente nel database";
}
if ($_GET['alert'] == 1)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Tutti i campi devono essere completati!";
}
if ($_GET['alert'] == 2)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Campo
cognome non nel formato corretto!";
}
if ($_GET['alert'] == 3)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Campo nome non nel formato corretto!";
}
if ($_GET['alert'] == 4)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Campo codice fiscale non nel formato corretto!";
}
if ($_GET['alert'] == 5)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Campo sesso non nel formato corretto!";
}
if ($_GET['alert'] == 6)
{
$message = "ERRORE: Nessun dato scritto nel database.<br>Campo stato civile non nel formato corretto!";
}
}
echo "<br><br>";
echo $message;
?>
HTML:
<form name="form1" method="POST" action="insert_data.php">
<table>
<tr>
<td colspan="2"><H3><B>Anagrafica</B></H3></TD>
</tr>
<tr>
<td><label>Cognome:</label></td>
<td><input type="text" name="cognome" size="20"></td>
</tr>
<tr>
<td><label>Nome:</label></td>
<td><input type="text" name="nome" size="20"></td>
</tr>
<tr>
<td><label>Codice Fiscale: </label></td>
<td><input type="text" name="codicefiscale" size="30"></td>
</tr>
<tr>
<td><label>Sesso:</label></td>
<td><select name="sesso">
<option value="M"> Maschile</option><br>
<option value="F"> Femminile</option><br>
</select></td>
</tr>
<tr>
<td><label>Stato Civile:</label></td>
<td><select name="statocivile">
<option>CELIBE/NUBILE</option>
<option>CONIUGATO/A</option>
<option>VEDOVO/A</option>
<option>SEPARATO/A</option>
</select>
</td>
</tr>
</table>
<input type="submit" value="inserisci" />
</form>
insert_data.php
PHP:
<?php
$NamePattern = "^[a-zA-Z]{3,20}$";
$CodicePattern = "^[a-zA-Z0-9]{3,30}$";
$SessoPattern = "^[a-zA-Z]{3,15}$";
if (empty($_POST['cognome']) OR empty($_POST['nome']) OR empty($_POST['codicefiscale']) OR empty($_POST['sesso']) OR empty($_POST['statocivile']))
{
header("Location: insert.php?alert=1");
die;
}
if (!ereg($NamePattern, $_POST['cognome']))
{
header("Location: insert.php?alert=2");
die;
}
if (!ereg($NamePattern, $_POST['nome']))
{
header("Location: insert.php?alert=3");
die;
}
if (!ereg($CodicePattern, $_POST['codicefiscale']))
{
header("Location: insert.php?alert=4");
die;
}
if (!ereg($SessoPattern, $_POST['sesso']))
{
header("Location: insert.php?alert=5");
die;
}
if (!ereg($SessoPattern, $_POST['statocivile']))
{
header("Location: insert.php?alert=6");
die;
}
// richiamo il file di configurazione
require 'connessione.php';
// richiamo lo script responsabile della connessione a MySQL
require 'config.inc';
mysql_select_db("accademiadelsacro");
$query = "INSERT INTO `accademiadelsacro`.`preiscrizione-utenti` (cognome, nome, coficefiscale, sesso, statocivile) VALUES ('$_POST[cognome]','$_POST[nome]','$_POST[codicefiscale]','$_POST[sesso]','$_POST[statocivile]')";
// invio la query
$result = mysql_query($query);
header("Location: insert.php?alert=0");
?>
strutturatabella
PHP:
CREATE TABLE IF NOT EXISTS `preiscrizione-utenti` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`cognome` text NOT NULL,
`nome` text NOT NULL,
`codicefiscale` text NOT NULL,
`sesso` text NOT NULL,
`statocivile` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Ultima modifica: