Mandare dati form nel database

  • Creatore Discussione Creatore Discussione Shyson
  • Data di inizio Data di inizio

Shyson

Utente Attivo
19 Ago 2012
1.179
1
38
Inviando un form ho bisogno che vanno nel database, ho già preparato tutto, mi manca di sistemare un codice funzionante.

Questa è la parte iniziale

PHP:
<?php
//Richiama i parametri di connessione al db
require_once "connessione.php";
include ("funzioni1.php");  
 
//Estraggo i messaggi dall'alto verso il basso, in ordine crescente
$q="SELECT * FROM formG ORDER BY id DESC"; 
//Lancio la query
$ris=mysql_query($q); 

if(isset($_POST['inviaG'])) {
$data_localeG = time(); //Stampa nel db la data numerica es. 1360585588 
$nomeG = htmlspecialchars(addslashes(ucfirst(trim($_POST['nomeG']))));
$cognome = htmlspecialchars(addslashes(ucfirst(trim($_POST['cognome']))));
$via = htmlspecialchars(addslashes(ucwords(trim($_POST['via']))));
$n = htmlspecialchars(addslashes(ucfirst(trim($_POST['n']))));
$loc = htmlspecialchars(addslashes(ucfirst(trim($_POST['loc']))));
$pro = htmlspecialchars(addslashes(ucfirst(trim($_POST['pro']))));
$cap = htmlspecialchars(addslashes(trim($_POST['cap'])));
$naz = htmlspecialchars(addslashes(ucfirst(trim($_POST['naz']))));
$email = htmlspecialchars(strtolower($_POST['email']));
$email = str_replace(" ","",$email); // Toglie gli spazi interni nell'email
$tel = htmlspecialchars(addslashes(trim($_POST['tel'])));
$messaggioG = htmlspecialchars(addslashes(ucfirst(trim($_POST['messaggioG'])))); 
$validatorG = htmlspecialchars(trim($_POST['validatorG']));

...

$q="INSERT INTO formG(data_localeG,dataGmt,cliente,ip,carrello)
       VALUES('$data_locale','$dataGmt','$nome','$cognome','$via','$n','$loc','$pro','$cap','$email','$tel','$ip','$messaggioG','$carrello')"; 
// Lancio la query         
$ris=mysql_query($q);  
      
// Controllo l'esito
if (!$ris) {
die("Errore nella query $query: " . mysql_error());
}
 
Ultima modifica:
PHP:
$q="INSERT INTO formG(data_localeG,dataGmt,cliente,ip,carrello)
       VALUES('$data_locale','$dataGmt','$nome','$cognome','$via','$n','$loc','$pro','$cap','$email','$tel','$ip','$messaggioG','$carrello')";
ho guardato solo la "insert", i campi che devi aggiornare sono in numero inferiore rispetto ai valori che passi
ciao
Marino
 
Il punto è proprio questo: io nel campo cliente devo inserire tutti i campi del VALUES tranne $ip e $carrello
 
Alle volte non tutto è così chiaro .... se ho capito, potresti legare tra loro le variabili,
mettendo un identificatore tra loro (ho scelto "#-#") perchè volendole estrarre puoi comunque separarle
ma ho capito ?
ciao
Marino
PHP:
$cliente = $nome."#-#".$cognome."#-#".$via."#-#".$n."#-#".$loc."#-#".$pro."#-#".$cap."#-#".$email."#-#".$tel."#-#".$messaggioG

$q="INSERT INTO formG(data_localeG,dataGmt,cliente,ip,carrello)
    VALUES('$data_locale','$dataGmt','$cliente','$ip','$carrello')";
 
Ho messo così e i dati entrano correttamente nel DB, l'unica cosa che non entra è il contenuto del carrello

HTML:
$q="INSERT INTO ordine(data_localeG,dataGmt,destinazione_libri,email,telefono,note,carrello,ip)
       VALUES('$data_localeG','$dataGmt','$nomeG $cognome Via $via $n $cap $loc ($pro) $naz','$email','$tel','$messaggioG','$carrello','$ip')";

Questo è il codice che fa da echo dei prodotti messi nel carrello

HTML:
<div class="ListaProdotti">
<div id="contenutoCarrello"></div>
<div id="carrello">
<ul>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
</div>
 
Scrivendo tutte le informazioni nel campo cliente, come hai scelto, credo ti sarà molto difficile separare le informazioni in fase di lettura del db, considera che può inviarti le sue info la signora "Maria Rosaria Lepore Rossi Stuart" che abita in "calle della Vecchia Filanda" ... come potrai ottenere le info solo basandoti sullo spazio ?
sarai costretto ad utilizzare quelle info solo come stringa intera.
potrai avere anche situazioni con "Via Piazza della Vittoria" ...
ma tu sai cosa devi fare con quei dati .... e se ti vanno bene ... è tutto perfetto

per il secondo quesito, non sono espertissimo ma dubito che tu possa inserire una "echo" (link) nel db ritrovando i dati del carrello, sarei più dell'idea di inserire una tabella apposita con tutte le righe d'ordine
ad una tua precedente discussione sullo stesso argomento, mi sembra, non ci siano stati interventi ....
ciao
Marino
 
Come dati inseriti nel DB, così va bene, anche se non capisco perché "taglia" l'indirizzo, è impostato su varcar 1000

286sme0.jpg


Riguardo al secondo quesito, non riesco ad inserire i dati del carrello
 
L'indirizzo non te lo taglia. Non te lo mostra tutto... se premi modifica lo vedi tutto.

Inviato con Tapatalk Free da Android
 

Discussioni simili