creazione modulo e pagina invio php per invio dati al db

zehena

Nuovo Utente
29 Mar 2015
7
0
0
ciao, scusate se sbaglio qualcosa ho letto il regolamento ma non ho ben compreso cosa siano i tag bbcode per il codice dunque abbiate pieta se erro qualcosa, sto imparando il codice php seguendo video su youtube e documenti vari su internet, vorrei trasformare il mio sito aggiungendo pagine interattive con il database. Ho inserito phpmyadmin nel server dove ho il sito, riesco a collegarmi tramite browser e ho anche creato una pagina che legge i contenuti del db che funziona perfettamente. Il problema è inviare i dati nel db, ho creato 2 pagine php 1 per il modulo da compilare, l'altra da collegamento per inviare i dati inseriti al db. Ne la pagina del modulo e ne quella di invio mi danno errori a video però i dati non arrivano al db, ho provato a testare la connessione (anche aggiungendo un piccolo errore per vedere se rispondeva), e tutto funziona, dunque il problema sta in qualche parte del codice di invio. I dati di connessione per ovvi motivi li ho sostituiti con quelli del localhost. Vorrei inserire i le 2 pagine create perche si possano visionare e spero di non trasgredire nessun regolamento altrimenti attendo istruzioni.

pagina modulo da compilare

PHP:
<?php

$con =mysql_connect("localhost", "root", "");

if (!$con)
{
 die ("connessione fallita!" .mysql_error());
}
$db =mysql_select_db("negozio", $con);

if (!$db)
{
 die ("connessione al db fallita!" .mysql_error());
}

?>
<HTML>
<HEAD>
<TITLE>PHP e MySQL</TITLE>
</HEAD>
<BODY>
Raccolta dati del cliente: <BR />
<FORM ID="clie" NAME=clie" METHOD="POST"
ACTION="clie.php">
<LABEL>Nome cliente:
<INPUT TYPE="TEXT" NAME="Nomeclie" ID="Nomeclie" />
</LABEL>
<P><LABEL>Indirizzo:
<INPUT TYPE="TEXT" NAME="indclie" ID="indclie" />
</LABEL>
<P><LABEL>CF:
<INPUT TYPE="TEXT" NAME="CFclie" ID="CFclie" />
</LABEL></P>
<P>
<INPUT TYPE="SUBMIT" NAME="Submit" ID="Submit"
VALUE="Invia" />
<INPUT TYPE="RESET" NAME="cancel" ID="cancel"
VALUE="Azzera" />
</P>
</FORM>
</BODY>
</HTML>
<?php mysql_close($con); ?

pagina invio al db


PHP:
<?php

$con =mysql_connect("localhost", "root", "");

if (!$con)
{
 die ("connessione fallita!" .mysql_error());
}
$db =mysql_select_db("negozio", $con);

if (!$db)
{
 die ("connessione al db fallita!" .mysql_error());
}

?>

<?php

 $Nomeclie=$_POST['Nome'];
 $Indclie=$_POST['Indirizzo'];
 $CFclie=$_POST['CF'];

 $query="INSERT INTO clienti (Nome, Indirizzo, CF,)";
 $query.="VALUES ('".$Nomeclie."','".$Indclie."','".$CFclie."')";

 mysql_query ($query, $con);

?>

<?php Mysql_close($con); ?>
se qualcuno puo darmi qualche dritta lo ringrazio molto anticipatamente, ciao Antonella
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, la connessione al db nella pagina del modulo non ti serve.
Se hai dato name = "Nomeclie" all'input non lo puoi recuperare con
PHP:
$_POST['Nome'];
ma con
PHP:
$_POST['Nomeclie'];
stessa cosa per gli altri campi
E' consigliato verificare sempre che il POST sia settato prima di utilizzarlo
PHP:
if(isset($_POST['Nomeclie']) {
   $Nomeclie = $_POST['Nomeclie'];
}
Appena hai un po di pratica studiati le SQL Injection
Ti converrebbe inoltre utilizzare la libreria mysqli al posto della vecchia e deprecata mysql
Per quanto riguarda i BBCODE e le regole del forum ...... :fonzie: Benvenuta !
 

zehena

Nuovo Utente
29 Mar 2015
7
0
0
grazie e mille per l'aiuto sono riuscita a risolvere, sono appena alle prime armi, seguirò il tuo consiglio di conoscere il nuovo linguaggio, ho notato che in giro ci sono comandi più snelli e semplici ma ora, per non fare confusione, vorrei concludere il lavoro con quello che ho intrapreso, grazie di tutto cioa Antonella