Problemi di comunicazione con il databse

Ciao a tutti. Sono un neofita di Php e di database, quindi mi scuso subito se non mi esprimerò nel modo corretto.

Ho un problema, ve lo spiego dall'inizio.

Ho creato un form .html in cui è presente un campo di selezione a tendina con degli orari che vanno dalle 09:00 alle 18:00.

<form method="get" action="index.php">
Nome:<input type="text" name="nome" />
<br />
Cognome:<input type="text" name="cognome" />
<br />
Mail:<input type="text" name="mail" />
<br />
Telefono:<input type="text" name="tel" />
<br />
Data:<input type="text" name="data" />
<br />
Ora:<select name="ora">
<option value="9"> 09:00
<option value="10"> 10:00
<option value="11"> 11:00
<option value="12"> 12:00
<option value="14"> 14:00
<option value="15"> 15:00
<option value="16"> 16:00
<option value="17"> 17:00
</select>
<br />
<input type="submit" value="Prenota" />
<input type="reset" value="Modifica" />
</form>

Ho collegato questa pagina alla seguente pagina .php

<?php
include ("connect.php");
if ((!$nome)||(!$cognome)||(!$tel)||(!$mail)) {
echo "No";
exit;
}
$db ="youmarketing_it_jo241";
$tabella="prenotazione";
$connessione=@mysql_connect("hostingmysql68","AM23586_jo4364","prolet") or die ("Impossibile1");
$db = @mysql_select_db($db, $connessione) or die ("Impossibile2");
$sql="INSERT INTO $tabella VALUES ('$memberid','$nome','$cognome','$mail','$tel','$data','$time')";
$risultato=@mysql_query($sql,$connessione)or die ("Impossibile");
?>

Il problema è che quando inserisco i dati, il campo 'ora' ("$time") mi viene letto da database come 0 qualsiasi orario scelga.

Qualcuno può aiutarmi a capire quale errore ho commesso?

Grazie, spero di essere stato chiaro  :bye:

inviato 7 anni fa
youmarketing
X 0 X

Che database usi e come hai impostato il tipo di campo nel tuo database?

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Uso MySql di Register.it, quindi non ho il programma installato sul pc ma lo uso in rete.

Nella tabella ho impostato i campi:

memberid - int (16) - null=no - auto_increment - primary key

nome - varchar (30) - null= no

cognome - varchar(30) - null=no

mail - varchar (60) - null=no

tel - varchar (16) - null=no

data - date - null=no - predefinito (0000-00-00)

time - int (11) - null=no - predefinito (0)

p.s. ho postato anche sulla sezione di php perchè nn sapevo bene in che argomento infilare la mia richiesta d'aiuto.

risposto 7 anni fa
youmarketing
X 0 X

Usi il formato "date" per inserire le date ma tu passi tramite il tuo form (e poi non fai alcun tipo di modifica del formato) dei semplici numeri che per te stanno ad indicare l'orario scelto dall'utente.

Devi o modificare il formato del campo data in modo che risulti un intero o fare la modifica dei dati passati in modo che siano scritti come "date" (forse il meglio sarebbe in timestamp unix).

Mi sono spiegato?

risposto 7 anni fa
Mario Santagiuliana
modificato 7 anni fa
X 0 X

Ciao Mario, scusa se ti rispondo solo ora ma ero fuori città.

Sulla data il problema non ce l'ho. Il problema è, a livello di form, nell'"orario" e, a livello di database, nel "time".

Non capisco dove è il problema.

Help me  :D

p.s. ti ringrazio

risposto 7 anni fa
youmarketing
X 0 X

Cavolo, ho fatto confusione fra data e ora...scusa, correggo la mia risposta:

Usi il formato "date" per inserire le date, tu passi tramite il tuo form (e poi non fai alcun tipo di modifica del formato) dei "semplici numeri" dovresti fare un controllo sulla validità della data inserita dall'utente.

Come fai l'assegnazione delle variabili?

Per il tuo problema prova anche a creare la query così:

$sql="INSERT INTO $tabella VALUES ('$memberid','$nome','$cognome','$mail','$tel','$data', $time)";
risposto 7 anni fa
Mario Santagiuliana
modificato 7 anni fa
X 0 X
$sql="INSERT INTO $tabella VALUES ('$memberid','$nome','$cognome','$mail','$tel','$data', $time)";

l'ho già inserito così. quando compilo il form, il php nn mi da nessun errore. Poi vado sul database e controllo il record inserito e nel "time" c'è sempre il valore "0".

risposto 7 anni fa
youmarketing
X 0 X

Nel mio suggerimento ho eliminato degli apici singoli.

Come fai l'assegnazione delle variabili?

risposto 7 anni fa
Mario Santagiuliana
X 0 X

Li ho eliminati anche io e così mi da un errore.

Cosa intendi con l'assegnazioni delle variabili?

risposto 7 anni fa
youmarketing
X 0 X

Risolto!

Ti ringrazio del tempo che mi hai concesso.

Ciao!

risposto 7 anni fa
youmarketing
X 0 X

Risolto come?

risposto 7 anni fa
Mario Santagiuliana
X 0 X

avevo messo

Ora:<select name="ora">

e invece dovevo mettere

Ora:<select name="time">

risposto 7 anni fa
youmarketing
X 0 X

Ok...comunque non avevi risposto alla mia domanda:

Come fai l'assegnazione delle variabili?

Intendevo come fai ad assegnare il valore a $nome $cognome ecc. ecc., vedendo quel pezzo di codice che assegnava il valore alle variabili avremmo potuto notare l'incongruenza del nome del select.

Ciao

risposto 7 anni fa
Mario Santagiuliana
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda