I.I.S.S. Alessandro Volta - Palermo
0 voti

Sto sviluppando un sito web in locale utilizzando MySQL tramite Xampp. Il problema che riscontro è che non riesco a far funzionare i controlli nei form della registrazione, di fatto inseriti i controlli, i form rimangono comunque invariati, e, provando a effettuare la registrazione  lasciando qualche campo vuoto, essa avviene comunque salvando nel database anche i campi vuoti? come posso risolvere? Lascio qui di seguito la parte di codice interessata.

___________________________________________________________________________________________________________
                                                                                             [Inserisci.php]

<?php
include ("connp.php");?>

<?php

$idutente="";
$username=$_POST['username'];
$email=$_POST['email'];
$data=$_POST['data'];
$password=$_POST['password'];

$query="Insert into datiu (username, email, data, password)";
$query.= "values ('".$username."','".$email."','".$data."','".$password."')";
$inserimento=mysql_query ($query, $connp);
if($inserimento){
header("location:effettuata.html");
}
else{
header("location:noneffettuata.html");
}
mysql_close ($connp);
?>

___________________________________________________________________________________________________________          
                                                                                                       [connp.php]

<?php
include ("connp.php");?>

<?php

$idutente="";
$username=$_POST['username'];
$email=$_POST['email'];
$data=$_POST['data'];
$password=$_POST['password'];

$query="Insert into datiu (username, email, data, password)";
$query.= "values ('".$username."','".$email."','".$data."','".$password."')";
$inserimento=mysql_query ($query, $connp);
if($inserimento){
header("location:effettuata.html");
}
else{
header("location:noneffettuata.html");
}
mysql_close ($connp);
?>

QUI DI SEGUITO LA PARTE DI HTML:

____________________________________________________________________________________________________________
                                                                              [registrazione.html]

<!DOCTYPE html>
<html>
<head>
 <title>Ambiguous-Gallery</title>
 <meta charset="utf-8">
 <link href="css/style.css" rel="stylesheet" type="text/css">
 </head>
<body>
 <div id="background">
  <div class="page">
   <div id="header">
    <ul class="navigation">
  </ul>
    <a id="logo"><img src="images/logo2.png" width="276" height="203" alt="" title="Ambigous-Gallery"></a>
    <ul id="navigation">
    </ul>
   </div>
   <div id="body">
    <div class="content">
     <div class="body">
      <ul>
       </ul>
      <div id="contact">
       <div>
    <div >
<h3>REGISTRATI </h3>
 <div class="registrati">
    <form name="registrazione" action="Inserisci.php" method="post">
    <table>
    <tr>
    <td><font style="font-family: Verdana; color: black">Username</font></td>
    <td><input name="username" type="text" ></td>
    </tr>
    <tr>
    <td><font style="font-family: Verdana; color: black">Email</font></td>
    <td><input name="email" type="text"></td>
    </tr>
    <tr>
    <td><font style="font-family: Verdana; color: black">Data di nascita</font></td>
    <td><input name="data" type="date"></td>
    </tr>
    <tr>
    <td><font style="font-family: Verdana; color: black">Password*</font></td>
    <td><input name="password" type="password" maxlength=18></td>
    </tr>
    <tr>
    <td><font style="font-family: Verdana; color: black">Conferma Password*</font></td>
    <td><input name="confpassword" type="password" maxlength=18></td>
    </tr>
    </table>
    <button class="firma">Registrati</button>
    </div>
<h3 align="center ">Se sei già registrato accedi cliccando <a href="contact.html">qui</a></h3>
</div>
      </div>
     </div>
    </div>
   </div>
   <div id="footer">
    <ul>
     <li class="first">
     </li>
     <li>
      <span>Seguici su:</span> <a href="" class="facebook">&nbsp;</a> <a href="" class="twitter">&nbsp;</a> <a href="" class="googleplus">&nbsp;</a>
     </li>
     <li class="last">
     </li>
    </ul>
   </div>
  </div>
 </div>
</body>
</html>

quesito posto 9 Giugno 2017 in Tecnologie e Prog. di Sistemi Informatici e Tlc da Cutropi Corsista (57 punti)
  

1 Risposta

0 voti
Questo frammento di codice di fatto da un valore, anche se nullo, alle variabili alla sx dell'uguale:

$username=$_POST['username'];
$email=$_POST['email'];
$data=$_POST['data'];
$password=$_POST['password'];

io metterei un controllo almeno del tipo:

if (isset($_POST['password']) && $_POST['password']!="")

{

$password=$_POST['password'];

$controllo_password = false;

}

else

{

$controllo_password = false;

}

e così via anche per gli altri campi.

poi potresti aggiungere anche controlli sulla lunghezza, ed anche sulla esistenza sul sistema dello stesso username
risposta inviata 9 Giugno 2017 da tonins Corsista (123 punti)

Domande correlate

+3 voti
1 risposta
quesito posto 12 Novembre 2014 in Classe quinta da Marco Scarpaci Corsista (94 punti) | 91 visite
+1 voto
1 risposta
684 domande
1,334 risposte
631 commenti
1,570 utenti