DOMANDA Aiutino DB Mysql?

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.
Ad ogni modo, ti rispondo ugualmente, perché potresti avere comunque un campo (che non sarà l'ID) dove l'utente dovrà inserire un valore puramente numerico.
Vale lo stesso discorso di prima, ossia puoi prevenire il problema da HTML o gestirlo con JavaScript. Con una non sottile differenza però: la prevenzione da HTML funziona solo nei browser che supportano HTML5.
Va da sé che, in quest'altro caso, è dunque preferibile lasciare l'input libero e gestire eventuali errori tramite JavaScript nel momento in cui l'utente prova ad effettuare il salvataggio dei dati.

Puoi fare così:

HTML
Codice:
<input type="text" id="camponumerico" name="iltuocamponumerico">

JavaScript
Codice:
function isNumeric(n) {
return !isNaN(parseFloat(n)) && isFinite(n);
}
function validaIlTuoCampoNumerico() {
if (!isNumeric(document.getElementById("camponumerico").value)) {
// Scrivi qui il comportamento che vuoi che l'applicazione abbia se l'utente inserisce un valore non numerico
}
}

Nel tuo codice HTML, dovrai assegnare al bottone che scatena il salvataggio dei dati il codice onclick="validaIlTuoCampoNumerico()".
come ti ha suggerito Javaprogrammer... l'id essendo autoincrement non viene visualizzato dall'utente...
tu dovrai solo inserire i campi che ti servono

Ok questo form quindi dovrebbe solo avere 3 campi?

Riparazione effettuata dal Tecnico: (e si scrivi il nome e cognome del tecnico, o magari meglio ancora lo si seleziona con un select)
Riparazione al cliente: (qui si scrive il nome del cliente al quale è stata effettuata la riparazione)
Info riparazione: (qui si scrive con un semplice campo di testo cosa è stato fatto, punterei appunto a valore massimo varchar 255 onde evitare intoppi)

L'id della riparazione auto incrementerà quindi.
L'id del tecnico verrà assegnato automaticamente nel caso i tecnici siano già precaricati nel database per un ipotetico log-in all'area del form
 
Ok questo form quindi dovrebbe solo avere 3 campi?

Riparazione effettuata dal Tecnico: (e si scrivi il nome e cognome del tecnico, o magari meglio ancora lo si seleziona con un select)
Riparazione al cliente: (qui si scrive il nome del cliente al quale è stata effettuata la riparazione)
Info riparazione: (qui si scrive con un semplice campo di testo cosa è stato fatto, punterei appunto a valore massimo varchar 255 onde evitare intoppi)

L'id della riparazione auto incrementerà quindi.
L'id del tecnico verrà assegnato automaticamente nel caso i tecnici siano già precaricati nel database per un ipotetico log-in all'area del form

concettualmente ci sta...
o ti fai una pagina di registrazione tecnico dove metti solo nome e cognome oppure te li precarichi tu manualmente
 
concettualmente ci sta...
o ti fai una pagina di registrazione tecnico dove metti solo nome e cognome oppure te li precarichi tu manualmente

Php

PHP:
<php?
mysql_connect("127.0.0.1","root","");//database connection
mysql_select_db("progdb");

$ID_Riparazione = $_POST['id_riparazione'];
$Riparato_Da = $_POST['riparato_da'];
$Riparato_A = $_POST['riparato_a'];
$Descrizione = $_POST['decrizione'];

$toinsert = "INSERT INTO riparazione
	(id_riparazione, riparato_da, riparato_a, decrizione) 
	VALUES ('$ID_Riparazione','$Riparato_Da','$Riparato_A','$Descrizione')";

$result = mysql_query($toinsert);
if($result){
	echo("<br>Inserimento avvenuto correttamente");
} else{
	echo("<br>Inserimento non eseguito");
}
?>

Html

Codice:
<!DOCTYPE HTML>
<html>

<head>
<title>Login - Area Riservata</title>
</head>

<body>
<table border="0">
  <tr>
    <td align="center">Inserisci i dati richiesti</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="post" action="input.php">
        <tr>
          <td>Username</td>
          <td><input type="text" name="T_Username" size="20">
          </td>
        </tr>
        <tr>
          <td>Password</td>
          <td><input type="text" name="T_Password" size="40">
          </td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" 
          name="submit" value="Sent"></td>
        </tr>
        </form>
        </table>
      </td>
    </tr>
</table>
</body>
</html>

Va bene una cosa del genere? O meglio implementare tutto nel file php?
 
Php

PHP:
<php?
mysql_connect("127.0.0.1","root","");//database connection
mysql_select_db("progdb");

$ID_Riparazione = $_POST['id_riparazione'];
$Riparato_Da = $_POST['riparato_da'];
$Riparato_A = $_POST['riparato_a'];
$Descrizione = $_POST['decrizione'];

$toinsert = "INSERT INTO riparazione
    (id_riparazione, riparato_da, riparato_a, decrizione) 
    VALUES ('$ID_Riparazione','$Riparato_Da','$Riparato_A','$Descrizione')";

$result = mysql_query($toinsert);
if($result){
    echo("<br>Inserimento avvenuto correttamente");
} else{
    echo("<br>Inserimento non eseguito");
}
?>

Html

Codice:
<!DOCTYPE HTML>
<html>

<head>
<title>Login - Area Riservata</title>
</head>

<body>
<table border="0">
  <tr>
    <td align="center">Inserisci i dati richiesti</td>
  </tr>
  <tr>
    <td>
      <table>
        <form method="post" action="http://www.tomshw.it/forum/input.php">
        <tr>
          <td>Username</td>
          <td><input type="text" name="T_Username" size="20">
          </td>
        </tr>
        <tr>
          <td>Password</td>
          <td><input type="text" name="T_Password" size="40">
          </td>
        </tr>
        <tr>
          <td></td>
          <td align="right"><input type="submit" 
          name="submit" value="Sent"></td>
        </tr>
        </form>
        </table>
      </td>
    </tr>
</table>
</body>
</html>

Va bene una cosa del genere? O meglio implementare tutto nel file php?

io per abitudine separo sempre l'html dal codice implementativo
 
ti ho detto che va bene separare le cose cos altro vuoi sapere?
 
ti ho detto che va bene separare le cose cos altro vuoi sapere?

È un progetto che devo finire entro la fine di questo mese e oltre ad avere form pronti e il DB manca ancora qualcosa..

Ricapitolando il DB ha 3 tabelle,
Tecnico, riparazione e cliente.

Userò max 2 chiavi esterne, attualmente ne uso solo una nella tabella riparazione relativa al tecnico che l'ha svolta.

Per quanto riguarda i form, saranno 2 o 3 se prevediamo che il cliente possa loggare in un area dove possa controllare lo stato e i dettagli della riparazione.

1- form login area riservata per il tecnico
Autenticazione sarebbe meglio farla con username e password di un tecnico già precaricati nel database senza dover usar un username e pasw standard specificati nel codice php.

2- una volta che si è autenticati, si viene reindirizzati ad un altra pagine contenente il form per l'inserimento deidati relativi alla riparazione. Voglio fare che il nome del tecnico sia automatica e non selezionabile, ecco perché vorrei fare una autenticate mediante il DB.

3- (opzionale) autenticazione di un cliente dove vede stato e info della propria riparazione, ma qua la cosasi complica e richiederebbe più cambi nelle tabelle.

Il problema? Non so come fare il php che prenda i dati dal db e li confronta per l'autenticazione.

L'accesso al DB però lo so fare, specifizando i dati nel codice php..
 
È un progetto che devo finire entro la fine di questo mese e oltre ad avere form pronti e il DB manca ancora qualcosa..

Ricapitolando il DB ha 3 tabelle,
Tecnico, riparazione e cliente.

Userò max 2 chiavi esterne, attualmente ne uso solo una nella tabella riparazione relativa al tecnico che l'ha svolta.

Per quanto riguarda i form, saranno 2 o 3 se prevediamo che il cliente possa loggare in un area dove possa controllare lo stato e i dettagli della riparazione.

1- form login area riservata per il tecnico
Autenticazione sarebbe meglio farla con username e password di un tecnico già precaricati nel database senza dover usar un username e pasw standard specificati nel codice php.

2- una volta che si è autenticati, si viene reindirizzati ad un altra pagine contenente il form per l'inserimento deidati relativi alla riparazione. Voglio fare che il nome del tecnico sia automatica e non selezionabile, ecco perché vorrei fare una autenticate mediante il DB.

3- (opzionale) autenticazione di un cliente dove vede stato e info della propria riparazione, ma qua la cosasi complica e richiederebbe più cambi nelle tabelle.

Il problema? Non so come fare il php che prenda i dati dal db e li confronta per l'autenticazione.

L'accesso al DB però lo so fare, specifizando i dati nel codice php..

io non uso php mi spiace...
so fare questa cosa in altri linguaggi
 
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top