Campi obbligatori e chiavi primarie

turipazzo

Nuovo Utente
2 Mar 2011
3
0
0
ciao ragazzi, piacere di conoscervi..
Cercando nel forum non ho trovato nulla che potesse aiutarmi.. no per pigrizia ma semplicemente non so adattare gli esempi di altri post col mio codice..

Ho questo codice:
Codice:
<?php
$con = mysql_connect("xxxxxxxx","xxxxxxxxxxx","xxxxxxxx");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("barcollo_office", $con);



$sql="INSERT INTO librosoci (Cognome, Nome, Sesso, ViaPiazza, Indirizzo, N, Localita, Provincia, CAP, Datadinascita, Datadirichiesta, Email, Cellulare,Nazionalita, Inviata)
VALUES
('$_POST[Cognome]','$_POST[Nome]','$_POST[Sesso]','$_POST[ViaPiazza]','$_POST[Indirizzo]','$_POST[N]','$_POST[Localita]','$_POST[Provincia]','$_POST[CAP]','$_POST[Datadinascita]','$_POST[Datadirichiesta]','$_POST[Email]','$_POST[Cellulare]','$_POST[Nazionalita]','$_POST[Inviata]')";

if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }
echo "Richiesta inviata";

mysql_close($con)

?>

Come faccio a fare in modo che tutti i campi siano obbligatori?? e soprattutto, come faccio a dire che: Se cognome, nome e data di nscita coincidono con un record nel database dice che l'utente è già iscritto???

Ringrazio di cuore anticipatamente tutti coloro che mi aiuteranno :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
prima di chiederti come fare che i campi siano obbligatori dovresti verificare la validità dei campi inputati. inserire cosi "brutalmente" i $_POST nel db può essere molto pericoloso o perlomeno avere dei dati non indicativi o errati
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Come faccio a fare in modo che tutti i campi siano obbligatori??

PHP:
if( ($_POST[Cognome]=="") || ($_POST[Nome]=="")...)
 {
  echo "Attenzione! Tutti i campo sono obbligatori.";
 }else{
 $sql="INSERT INTO librosoci (Cognome, Nome, Sesso...
 }

Se cognome, nome e data di nscita coincidono con un record nel database dice che l'utente è già iscritto???

PHP:
$Cognome = $_POST['Cognome'];
$Nome = $_POST['Nome'];
$Datadinascita = $_POST['Datadinascita'];

$query = mysql_query("Select * from librosoci Where Cognome = '$Cognome' And Nome = '$Nome' And Datadinascita = '$Datadinascita'");
$rows = mysql_num_rows($query);
if($rows !=0)
{
  echo "Attenzione! Dati già registrati.";
 }else{
 $sql="INSERT INTO librosoci (Cognome, Nome, Sesso...
 }
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
vedo che ti ha già risposto eliox, ma ribadisco l'importanza della verifica E PULIZIA degli invii.
a titolo di esempio
1. se ti inviano email pincoAApallo.it non deve essere inserita
2. se inserisci il nome/cognome Pinco Pallo e la seconda volta pinco pallo si iscrive di nuovo
3. come metti la data? 10.01.46 o 10 gen 1946 o 10/1/19... o in tutti gli altri modi possibili
ecc...
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
24
Roma
alessandro1997.netsons.org
Comunque non capisco perché nel tuo sito non ci possano essere due utenti che si chiamano Pinco Palla e che sono nati il 1 gennaio 1970... Il controllo che fai è assurdo e non viene effettuato da alcuna applicazione. Al massimo puoi controllare che non esista un altro utente con lo stesso codice fiscale.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
@alex se aggiungi anche la provincia in pratica hai quasi ottenuto il codice fiscale

e quindi è molto improbabile che ci sia un ononimo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
quando le probabilità raggiungono valori minimi es 10E-14 si considera impossibile.
basta che tu calcoli:
probabilità che uno si chiami alessandro (facciamo che in italia ne esistano 200.000) probabilità =200.000/60.000.000=3,3E-3
probabilità che si sia desantis (facciamo come sopra)= 3,3E-3
probabilità che sia nato a roma =2.000.000/60.000.000=3,3E-2
probabilità che sia nato il 1.1.1997 = 10.000/60.000.000 = 1,7E-4

per cui:
che si chiami alex E desn E sia nato a roma E il 1.197 le probabilità che ve ne siano due uguali è=
3,3E-3 x 3,3E-3 x 3,3E-2 x 1,7E-4= 6,3E-14

gli augoro di avere (calcola) tanti iscritti perchè due siano uguali
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
rischiamo di andare OT, ma non so se hai letto da quando il codice fiscale è stato inteodotto gia un paio di volte è capitato che ce ne fossero due di uguali
 

turipazzo

Nuovo Utente
2 Mar 2011
3
0
0
Ragazzi vi chiedo scusa se ho cambiato codice.
Tramite dreamweaver sono riuscito a fare visualizzare un messaggio quando non compilano i campi obbligatori. E' anche molto carino graficamente...

Adesso il codice è:
Codice:
<?php require_once('Connections/Modulo.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}


if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  $insertSQL = sprintf("INSERT INTO librosoci (Cognome, Nome, Sesso, Indirizzo, N, Localita, Provincia, CAP, Datadinascita, Datadirichiesta, Email, Cellulare, Nazionalita, ViaPiazza, Inviata) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       




                      GetSQLValueString(strtoupper($_POST['Cognome']), "text"),
                       GetSQLValueString(strtoupper($_POST['Nome']), "text"),
                       GetSQLValueString(strtoupper($_POST['Sesso']), "text"),
                       GetSQLValueString(strtoupper($_POST['Indirizzo']), "text"),
                       GetSQLValueString(strtoupper($_POST['N']), "text"),
                       GetSQLValueString(strtoupper($_POST['Localita']), "text"),
                       GetSQLValueString(strtoupper($_POST['Provincia']), "text"),
                       GetSQLValueString(strtoupper($_POST['CAP']), "text"),
                       GetSQLValueString(str_replace("-","/", $_POST['Datadinascita']), "text"),
                       GetSQLValueString(str_replace("-","/", $_POST['Datadirichiesta']), "text"),
                       GetSQLValueString(strtoupper($_POST['Email']), "text"),
                       GetSQLValueString(strtoupper($_POST['Cellulare']), "text"),
                       GetSQLValueString(strtoupper($_POST['Nazionalita']), "text"),
                       GetSQLValueString(strtoupper($_POST['ViaPiazza']), "text"),
                       GetSQLValueString($_POST['Inviata'], "text"));







  mysql_select_db($database_Modulo, $Modulo);
  $Result1 = mysql_query($insertSQL, $Modulo)  or die(mysql_error());
  
 $insertGoTo = "http://www.barcollo.net/modulo/ok.html";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}



mysql_select_db($database_Modulo, $Modulo);
$query_mysql = "SELECT Cognome, Nome, Sesso, Indirizzo, N, Localita, Provincia, CAP, Datadinascita, Datadirichiesta, Email, Cellulare, Nazionalita, ViaPiazza, Inviata FROM librosoci";
$mysql = mysql_query($query_mysql, $Modulo) or die(mysql_error());
$row_mysql = mysql_fetch_assoc($mysql);
$totalRows_mysql = mysql_num_rows($mysql);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<script src="SpryAssets/SpryValidationTextField.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationTextField.css" rel="stylesheet" type="text/css" />
<script src="SpryAssets/SpryValidationCheckbox.js" type="text/javascript"></script>
<link href="SpryAssets/SpryValidationCheckbox.css" rel="stylesheet" type="text/css" />
<style type="text/css">
body,td,th {
	font-family: Verdana, Geneva, sans-serif;
	font-weight: bold;
	font-style: italic;
	text-align: left;
}
</style>
<body bgcolor="#000000" text="#FFFFFF"><form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
Arci Barcollo - Modulo Online
<p>&nbsp;</p>
  <table width="976" border="0">
    <tr>
      <td width="142">Cognome</td>
      <td width="824"><span id="sprytextfield2">
        <label for="Cognome"></label>
        <input name="Cognome" type="text" id="Cognome7" size="30" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Nome</td>
      <td><span id="sprytextfield3">
        <label for="Nome"></label>
        <input name="Nome" type="text" id="Nome" size="30" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Sesso</td>
      <td><span id="sprytextfield4">
        <label for="Sesso"></label>
        <input name="Sesso" type="text" id="Sesso" size="1" maxlength="1" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Via/Piazza</td>
      <td><span id="sprytextfield5">
        <label for="ViaPiazza"></label>
        <input name="ViaPiazza" type="text" id="ViaPiazza" value="VIA" size="6" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Indirizzo</td>
      <td><span id="sprytextfield6">
        <label for="Indirizzo"></label>
        <input name="Indirizzo" type="text" id="Indirizzo" size="40" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>N</td>
      <td><span id="sprytextfield7">
        <label for="N"></label>
        <input name="N" type="text" id="N" size="5" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Localita'</td>
      <td><span id="sprytextfield8">
        <label for="Localita"></label>
        <input name="Localita" type="text" id="Localita" value="PALERMO" size="35" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Provincia</td>
      <td><span id="sprytextfield9">
        <label for="Provincia"></label>
        <input name="Provincia" type="text" id="Provincia" value="PA" size="1" maxlength="2" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>C.A.P.</td>
      <td><span id="sprytextfield10">
        <label for="CAP"></label>
        <input name="CAP" type="text" id="CAP" size="3" maxlength="5" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Data di nascita</td>
      <td><span id="sprytextfield11">
        <label for="Datadinascita"></label>
        <input name="Datadinascita" type="text" id="Datadinascita" size="5" maxlength="8" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span>Formato corretto Esempio 07/04/86</td>
    </tr>
    <tr>
      <td>Data di oggi</td>
      <td><span id="sprytextfield12">
        <label for="Datadirichiesta"></label>
        <input name="Datadirichiesta" type="text" id="Datadirichiesta" size="6" maxlength="10" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span>Formato corretto Esempio 01/01/2011</td>
    </tr>
    <tr>
      <td>E-mail</td>
      <td><span id="sprytextfield13">
        <label for="Email"></label>
        <input name="Email" type="text" id="Email" size="30" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Cellulare</td>
      <td><span id="sprytextfield14">
        <label for="Cellulare"></label>
        <input name="Cellulare" type="text" id="Cellulare" size="7" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Nazionalita'</td>
      <td><span id="sprytextfield16">
        <label for="Nazionalita"></label>
        <input name="Nazionalita" type="text" id="Nazionalita" value="ITALIANA" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td>Inviata</td>
      <td><span id="sprytextfield17">
        <label for="Inviata"></label>
        <input name="Inviata" type="text" disabled id="Inviata" value="DCINTERNET" />
      <span class="textfieldRequiredMsg">Campo obbligatorio.</span></span></td>
    </tr>
    <tr>
      <td height="210"><img src="http://www.barcollo.net/immagini/logonero.jpg" width="130" height="167" />&nbsp;</td>
      <td><span id="sprycheckbox1">
    <input type="checkbox" name="aggree" id="aggree" />
    Spuntanto la seguente casella 
di controllo Lei Dichiara di aver preso visione dello<font FACE="Arial,Bold, sans-serif"><b> <a target="_blank" href="statuto.html">statuto</a> </b></font> dell'associazione e di condividerne i contenuti, si impegna altresi' al rispetto dello 
Statuto sociale e della civile convivenza e dichiara di non avere pendenze 
penali e di avere il pieno godimento dei diritti civili. Acconsente inoltre al 
trattamento dei dati personali in relazione all'informativa riportata alla fine 
dello statuto.
<label for="aggree"></label>
  <span class="checkboxRequiredMsg">Devi accettare i termini e le condizioni.</span></span>&nbsp;</td>
    </tr>
  </table>
  <span>  </span>
  <p><span id="sprycheckbox1"><span class="checkboxRequiredMsg">.</span></span>
    <input type="submit" name="Invio" id="Invio" value="Invia" />
  <input type="hidden" name="MM_insert" value="form1" />
</p>
</form>
<script type="text/javascript">
var sprycheckbox1 = new Spry.Widget.ValidationCheckbox("sprycheckbox1");
var sprytextfield2 = new Spry.Widget.ValidationTextField("sprytextfield2");
var sprytextfield3 = new Spry.Widget.ValidationTextField("sprytextfield3");
var sprytextfield4 = new Spry.Widget.ValidationTextField("sprytextfield4");
var sprytextfield5 = new Spry.Widget.ValidationTextField("sprytextfield5");
var sprytextfield6 = new Spry.Widget.ValidationTextField("sprytextfield6");
var sprytextfield7 = new Spry.Widget.ValidationTextField("sprytextfield7");
var sprytextfield8 = new Spry.Widget.ValidationTextField("sprytextfield8");
var sprytextfield9 = new Spry.Widget.ValidationTextField("sprytextfield9");
var sprytextfield10 = new Spry.Widget.ValidationTextField("sprytextfield10");
var sprytextfield11 = new Spry.Widget.ValidationTextField("sprytextfield11");
var sprytextfield12 = new Spry.Widget.ValidationTextField("sprytextfield12");
var sprytextfield13 = new Spry.Widget.ValidationTextField("sprytextfield13");
var sprytextfield14 = new Spry.Widget.ValidationTextField("sprytextfield14");
var sprytextfield16 = new Spry.Widget.ValidationTextField("sprytextfield16");
var sprytextfield17 = new Spry.Widget.ValidationTextField("sprytextfield17");
</script>
</html>

<?php
mysql_free_result($mysql);
?>

Potresti nuovamente (per piacere) postarmi il codice per "l'univocità" adattato per il codice sopra?
Grazie :)
 

turipazzo

Nuovo Utente
2 Mar 2011
3
0
0
Ragazzi non ho letto le regole, ma sicuramente non posso uppare dopo neanche un'ora, ma ho realmente urgenza, alle 19 dovrei avere finito lo script e mi manca solo questo :(:(
qualche anima buona :)
Scusate dinuovo..
 
Discussioni simili
Autore Titolo Forum Risposte Data
R [Javascript] Togliere Campi obbligatori Javascript 7
X [PHP] campi obbligatori multiupload non funziona PHP 6
E [PHP] mail inviata anche con campi obbligatori non compilati PHP 9
S Form con campi obbligatori PHP 41
M Form:convalidare campi obbligatori.... PHP 7
L Form - Tutti i campi obbligatori Javascript 10
F campi obbligatori PHP PHP 18
D campi obbligatori Classic ASP 0
S Come impostare campi non obbligatori php PHP 5
I Campi obbligatori in un form in flash Flash 6
E Window.print() solo se campi obbligatori compilati Javascript 6
sbobby Campi obbligatori! PHP 1
M Campi obbligatori nel form mail PHP 1
S rendere campi form obbligatori Javascript 1
O campi obbligatori in un modulo HTML e CSS 4
M Form: come tornare ai campi già compilati dopo invio PHP 1
M Array associativi php su 2 campi mysql PHP 10
D popolare campi tra th alla select PHP 36
G VBA OpenForm con WhereCondition + LIKE su campi differenti MS Access 5
B Stringa sql per ricerca su più campi Database 1
M Compilazione automatica campi in input stessa pagina PHP 0
MarcoGrazia Gestire lista campi vuoti in fase di autenticazione jQuery 1
M Aggiornare simultaneamente i campi di due tabelle collegate con id PHP 4
L aggiornare 2 campi di una tabella insieme PHP 6
L Estrazione valori max su più campi MySQL 4
T Campi static del Controller generico si azzerano ad ogni richiesta PHP 3
elpirata Popolare campi tabella con totali estratti da database PHP 24
A [Javascript] Scrittura su più campi contemporaneamente Javascript 19
D Salvare in diversi campi mysql con diversi ID PHP 0
R [WordPress] Inserire campi aggiuntivi ad un Submit Form già dato dal template (front-end) WordPress 0
Domenico_Falco1 [Javascript] [HTML] Campi form con sfondo imposto dal browser Javascript 5
M [PHP] Query UPDATE che non mi aggiorna campi seconda tabella PHP 3
L [Javascript] Select option in campi input Javascript 4
D [ASP] Autocomplete cerca su 2 campi del db Classic ASP 1
elpirata [Javascript] Controllo campi required non effettuato Javascript 2
L [PHP] Form da select compilare campi automaticamente PHP 1
E Validazione campi form passati da link Programmazione 0
Cosina [PHP] Preservare i campi del form solo se l'invio non ha successo PHP 5
S [PHP] Selezionare i campi non in comune con le altre colonne della tabella PHP 4
A [MS Access] Somma Campi se in altro campo presente un determinato testo MS Access 1
M [PHP] Compilare campi in automatico con dati presi dal DB PHP 25
C [MySQL] Copiare campi di un record in un nuovo record MySQL 0
N [Java] Piccolo jform per calcolo totale da 2 campi i double Java 0
elpirata [MySQL] Sostituire valori campi con dati casuali MySQL 4
M [PHP] Sommare due campi calcolati PHP 3
P [PHP] Intercettare ed aggiornare campi di un database PHP 5
V [Javascript] [HTML] Attivazione nuovi campi di input Javascript 2
L [MS Access] come popolare automaticamente i campi di una sottomaschera MS Access 8
M [PHP] Escludere campi non valorizzati PHP 22
Q Problema su come far aggiornare i campi su un database Mysql PHP 17

Discussioni simili