Mi date una mano ad usare il database Mysql......
dovrei memorizzare dei dati ottenuti via form per ogni dato inviato dovrei creare un id e stamparlo sulla pagina....
sono al inizio con Mysql andateci piano...XD
Mi date una mano ad usare il database Mysql......
dovrei memorizzare dei dati ottenuti via form per ogni dato inviato dovrei creare un id e stamparlo sulla pagina....
sono al inizio con Mysql andateci piano...XD
Capisco il tuo problema,perché anch’io non sono un grosso esperto ma ti consiglio per cominciare di utilizzare un utilissimo editor per i tuoi scritti come Dreamweaver(naturalmente procurati un manuale) che possiede al suo interno molte utilità che fanno al tuo caso.Se vuoi provare ad utilizzare sul tuo pc mysql installati prima sul computer un server di prova tipo xampp o altri,poi creati tramite phpmyadmin un database che nel mio esempio ho chiamato “tempprova”
E dopo prova questo script che adattandolo potrebbe fare al tuo caso
<?php
$hostname_temp = "localhost";
$database_temp = "my_tempprova";
$username_temp = "root";
$password_temp = "";
$temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR);
$query = "CREATE TABLE IF NOT EXISTS `prova` (
`id` int(15) NOT NULL AUTO_INCREMENT,
`data` date NOT NULL,
`dato` varchar(150) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ";
$result = mysql_query($query, $temp)
or die("Errore nella query:".mysql_error());
?><body>
<?php
$inviato=$_POST['invia'];
mysql_select_db($database_temp, $temp);
$query_prova1 = "SELECT id, `data`, dato FROM prova";
$prova1 = mysql_query($query_prova1, $temp) or die(mysql_error());
$row_prova1 = mysql_fetch_assoc($prova1);
$totalRows_prova1 = mysql_num_rows($prova1);
?>
<?php
$query = "INSERT INTO `my_tempprova`.`prova` (
`dato`
)
VALUES (
'".$inviato."'
)";
$result = mysql_query($query, $temp)
or die("Errore nella query:".mysql_error());
?>
<form name="form1" method="post" action="<?php $_SERVER['PHP_SELF']?>">
<p>
<input name="invia" type="text" id="invia">
<input type="submit" name="Submit" value="Invia">
</p>
</form>
<table width="200" border="1">
<tr>
<td>id</td>
<td>data</td>
<td>dato</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_prova1['id']; ?></td>
<td><?php echo $row_prova1['data']; ?></td>
<td><?php echo $row_prova1['dato']; ?></td>
</tr>
<?php } while ($row_prova1 = mysql_fetch_assoc($prova1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($prova1);
?>
non funziona...
se qualcuno mi può dare una mano...
allora vi spiego
questo e il codice....
devo fare che ogni utente deve mettere questi dati come nickname data eccc...Codice PHP:
CREATE TABLE `contatti_msn` (
`id` INT(4) NOT NULL AUTO_INCREMENT,
`nickname` VARCHAR(65) NOT NULL DEFAULT '',
`contatto` VARCHAR(65) NOT NULL DEFAULT '',
`descrizione` VARCHAR(65) NOT NULL DEFAULT '',
`data1` VARCHAR(65) NOT NULL DEFAULT '',
`data2` VARCHAR(65) NOT NULL DEFAULT '',
`data3` VARCHAR(65) NOT NULL DEFAULT '',
`sesso` VARCHAR(65) NOT NULL DEFAULT '',
`regione` VARCHAR(65) NOT NULL DEFAULT '',
`citta` VARCHAR(65) NOT NULL DEFAULT '',
`interessi` VARCHAR(65) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
--
-- Dumping data for table `members`
--
1INSERT INTO `members` VALUES (1, 'admin', 'admin2');
alcuni sono obbligatori alcuni no e giusto il codice....
dovrei fare che non ci devono essere persone ne con lo stesso nickname e ne con lo stessa mail come posso fare....
--
-- Dumping data for table `members`
--
1INSERT INTO `members` VALUES (1, 'admin', 'admin2');
a cosa serve...
Ultima modifica di zappi : 20-08-2009 alle ore 16.05.52
prova così, ho preso un pò di codice da lukio
Codice:<?php $hostname_temp = "localhost"; $database_temp = "my_tempprova"; //my_tuonick $username_temp = "root"; //metti il tuo username $password_temp = ""; //metti la tua password $temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR); ?> <form name="form" method="post" action=" "> <input type="text" name="nickname"><br /> <input type="text" name="contatto"><br /> <input type="text" name="descrizione"><br /> <input name="data1"><br /> <input name="data2"><br /> <input name="data3"><br /> <input type="text" size="2" name="sesso"><br /> <input type="text" name="sesso"><br /> <input type="text" name="città"><br /> <input type="text" name="interessi"><br /> <input type="submit" name="submit" value="invia"> </form> <?php if($_POST[submit]=="invia"){ mysql_select_db($database_temp, $temp); $array=( 'nickname' => $_POST[nickname], 'contatto' => $_POST[contatto], 'descrizione' => $_POST[descrizione], 'data1' => $_POST[data1], 'data2' => $_POST[data2], 'data3' => $_POST[data3], 'sesso' => $_POST[sesso], 'regione' => $_POST[regione], 'citta' => $_POST[citta], 'interessi' => $_POST[interessi] ); $query_prova1 = "INSERT INTO members (nickname, contatto, descrizione, data1, data2, data3, sesso, regione, citta, interessi) VALUES ($_POST[nickname], $_POST[contatto], $_POST[descrizione], $_POST[data1], $_POST[data2], $_POST[data3], $_POST[sesso], $_POST[regione], $_POST[citta], $_POST[interessi]) "; $prova1 = mysql_query($query_prova1, $temp) or die(mysql_error()); $row_prova1 = mysql_fetch_assoc($prova1); $totalRows_prova1 = mysql_num_rows($prova1); } ?>
Se smetti di imparare e evolverti sei morto dentro
lo provato ma ce un errore nel array....^^
Ultima modifica di zappi : 20-08-2009 alle ore 16.17.59
sono un cretino :D togli la parte dell'array che non serve a nulla
Se smetti di imparare e evolverti sei morto dentro
compare scritto
Table 'my_zappi.members' doesn't exist
che vuol dire....;S
sono stato tratto in inganno dal codice postato da lukio
dove c'è "INSERT INTO members" sostituisci members con "contatti_msn"
Se smetti di imparare e evolverti sei morto dentro
hehe....
mi compare una scitta cosi
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'contatti_msn (nickname, contatto, descrizione, data1, data2, data3, sesso, regio' at line 1
testato in localeCodice PHP:
<form name="form" method="post" action=" ">
nickname <input type="text" name="nickname"><br />
contatto <input type="text" name="contatto"><br />
descrizione <input type="text" name="descrizione"><br />
data1 <input name="data1"><br />
data2 <input name="data2"><br />
data3 <input name="data3"><br />
sesso <input type="text" size="2" name="sesso"><br />
regione <input name="regione"><br />
fdgcitta <input type="text" name="citta"><br />
interessi <input type="text" name="interessi"><br />
<input type="submit" name="submit" value="invia">
</form>
<?php
$hostname_temp = "localhost";
$database_temp = "my_prova"; //my_tuonick
$username_temp = "utente"; //metti il tuo username
$password_temp = "password"; //metti la tua password
$temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR);
if($_POST['submit']=="invia"){
mysql_select_db($database_temp, $temp);
$query_prova1 = ("INSERT INTO contatti_msn (nickname, contatto, descrizione, data1, data2, data3, sesso, regione, citta, interessi) VALUES (".$_POST['nickname'].", ".$_POST['contatto'].", ".$_POST['descrizione'].", ".$_POST['data1'].", ".$_POST['data2'].", ".$_POST['data3'].", ".$_POST['sesso'].", ".$_POST['regione'].", ".$_POST['citta'].", ".$_POST['interessi'].") ") or die(mysql_error());
$prova1 = mysql_query($query_prova1, $temp) or die(mysql_error());
//$row_prova1 = mysql_fetch_assoc($prova1);
//$totalRows_prova1 = mysql_num_rows($prova1);
}
?>
naturalmente devi aggiungere dei controlli su ciò che inseriscono e i campi obbligatori
Se smetti di imparare e evolverti sei morto dentro
sei molto gentile ma
mi sta dando errore
Table 'my_zappi.contatti_msn' doesn't exist
Ultima modifica di zappi : 20-08-2009 alle ore 17.27.50
la tabella l'hai creata? l'errore lo dà perchè la tabella non esiste,
Da pannello di Altervista entra in phpmyadmin
seleziona a sinistra my_zappi
in alto trovi "SQL"
copiaci dentro
e dai "esegui"Codice:CREATE TABLE `contatti_msn` ( `id` INT(4) NOT NULL AUTO_INCREMENT, `nickname` VARCHAR(65) NOT NULL DEFAULT '', `contatto` VARCHAR(65) NOT NULL DEFAULT '', `descrizione` VARCHAR(65) NOT NULL DEFAULT '', `data1` VARCHAR(65) NOT NULL DEFAULT '', `data2` VARCHAR(65) NOT NULL DEFAULT '', `data3` VARCHAR(65) NOT NULL DEFAULT '', `sesso` VARCHAR(65) NOT NULL DEFAULT '', `regione` VARCHAR(65) NOT NULL DEFAULT '', `citta` VARCHAR(65) NOT NULL DEFAULT '', `interessi` VARCHAR(65) NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) TYPE=MyISAM AUTO_INCREMENT=1 ;
poi riprova
Se smetti di imparare e evolverti sei morto dentro
questo che non mi funzionava....hehe
funziona
una cosa casomai per leggere i dati....
tutti i dati di tutti gli utenti o selezionando l'utente? o l'elenco di parte dei dati?
così hai l'elenco completo
se vuoi i dati di un utente (nickname) basta una piccola modifica, così:Codice:<? mysql_connect("localhost", "root", "postmaster") or die("Could not connect: " . mysql_error()); mysql_select_db("prova"); $result = mysql_query("SELECT * FROM contatti_msn"); while ($row = mysql_fetch_array($result)) { echo"nickname = $row[nickname]<br />contatto = $row[contatto]<br />descrizione = $row[descrizione]<br /> data1 = $row[data1]<br />data2 = $row[data2]<br />data3 = $row[data3]<br />sesso = $row[sesso]<br /> regione = $row[regione]<br />citta = $row[citta]<br />interessi = $row[interessi]<hr>"; } mysql_free_result($result); ?>
attenzione, non ho messo controlli, se il nickname non esiste darà erroreCodice:<form method="post" action=""> nickname <input name="nickname"> <input type="submit" name="submit" value="cerca"> </form> <? if($_POST[submit]=="cerca"){ mysql_connect("localhost", "root", "postmaster") or die("Could not connect: " . mysql_error()); mysql_select_db("prova"); echo $_POST[nickname]; $result = mysql_query("SELECT * FROM contatti_msn WHERE nickname=".$_POST[nickname].""); while ($row = mysql_fetch_array($result)) { echo"nickname = $row[nickname]<br />contatto = $row[contatto]<br />descrizione = $row[descrizione]<br /> data1 = $row[data1]<br />data2 = $row[data2]<br />data3 = $row[data3]<br />sesso = $row[sesso]<br /> regione = $row[regione]<br />citta = $row[citta]<br />interessi = $row[interessi]<hr>"; } mysql_free_result($result); } ?>
Se smetti di imparare e evolverti sei morto dentro
ho fatto una prova ma mi da errore.....
perché....XD
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '@msn.it, sdaddsa, 01, 01, 565, M, Emilia Romagna, ddas, dasdsa)' at line 1
nell'estrarre la lista? con quale delle 2 versioni? a me in locale mi funziona ...
nell'inserire altri dati?
Se smetti di imparare e evolverti sei morto dentro
Cambia:
con:Codice PHP:
$result = mysql_query("SELECT * FROM contatti_msn WHERE nickname=".$_POST[nickname]."");
Codice PHP:
$result = mysql_query("SELECT * FROM contatti_msn WHERE nickname='" . $_POST[nickname] . "'");
1)ti spiego tutto l'errore me lo da al inserimento dei dati e non so il perché anche se lascio i campi vuoti....
mi da quest'errore
2)quello che dovrebbe leggere tutto rimane vuotoYou have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' , , 01, 01, , , , , )' at line 1
3)quello che dovrebbe cercare i contatti non funziona perché mi visualizza un nick anche se non esiste...^^
ti posto i codici che ho usato io
questo e il codice usato per Mysql
Codice PHP:
CREATE TABLE `contatti_msn` (
`id` INT(4) NOT NULL AUTO_INCREMENT,
`nickname` VARCHAR(65) NOT NULL DEFAULT '',
`contatto` VARCHAR(65) NOT NULL DEFAULT '',
`descrizione` VARCHAR(65) NOT NULL DEFAULT '',
`data1` VARCHAR(65) NOT NULL DEFAULT '',
`data2` VARCHAR(65) NOT NULL DEFAULT '',
`data3` VARCHAR(65) NOT NULL DEFAULT '',
`sesso` VARCHAR(65) NOT NULL DEFAULT '',
`regione` VARCHAR(65) NOT NULL DEFAULT '',
`citta` VARCHAR(65) NOT NULL DEFAULT '',
`interessi` VARCHAR(65) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
questa e la pagina di registrazione
Codice PHP:
<form name="form" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
nickname <input type="text" name="nickname"><br />
contatto <input type="text" name="contatto"><br />
descrizione <input type="text" name="descrizione"><br />
data1 <input name="data1"><br />
data2 <input name="data2"><br />
data3 <input name="data3"><br />
sesso <input type="text" size="2" name="sesso"><br />
regione <input name="regione"><br />
fdgcitta <input type="text" name="citta"><br />
interessi <input type="text" name="interessi"><br />
<input type="submit" name="submit" value="invia">
</form>
<?php
$hostname_temp = "localhost";
$database_temp = "my_zappi"; //my_tuonick
$username_temp = "zappi"; //metti il tuo username
$password_temp = ""; //metti la tua password
$temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR);
if($_POST['submit']=="invia"){
mysql_select_db($database_temp, $temp);
$query_prova1 = ("INSERT INTO contatti_msn (nickname, contatto, descrizione, data1, data2, data3, sesso, regione, citta, interessi) VALUES (".$_POST['nickname'].", ".$_POST['contatto'].", ".$_POST['descrizione'].", ".$_POST['data1'].", ".$_POST['data2'].", ".$_POST['data3'].", ".$_POST['sesso'].", ".$_POST['regione'].", ".$_POST['citta'].", ".$_POST['interessi'].") ") or die(mysql_error());
$prova1 = mysql_query($query_prova1, $temp) or die(mysql_error());
//$row_prova1 = mysql_fetch_assoc($prova1);
//$totalRows_prova1 = mysql_num_rows($prova1);
}?>
Ultima modifica di zappi : 21-08-2009 alle ore 11.07.49
1)ti spiego tutto l'errore me lo da al inserimento dei dati e non so il perché anche se lascio i campi vuoti....
mi da quest'errore
2)quello che dovrebbe leggere tutto rimane vuoto
3)quello che dovrebbe cercare i contatti non funziona perché mi visualizza un nick anche se non esiste...^^
ti posto i codici che ho usato io
questo e il codice usato per Mysql
Codice PHP:
CREATE TABLE `contatti_msn` (
`id` INT(4) NOT NULL AUTO_INCREMENT,
`nickname` VARCHAR(65) NOT NULL DEFAULT '',
`contatto` VARCHAR(65) NOT NULL DEFAULT '',
`descrizione` VARCHAR(65) NOT NULL DEFAULT '',
`data1` VARCHAR(65) NOT NULL DEFAULT '',
`data2` VARCHAR(65) NOT NULL DEFAULT '',
`data3` VARCHAR(65) NOT NULL DEFAULT '',
`sesso` VARCHAR(65) NOT NULL DEFAULT '',
`regione` VARCHAR(65) NOT NULL DEFAULT '',
`citta` VARCHAR(65) NOT NULL DEFAULT '',
`interessi` VARCHAR(65) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) TYPE=MyISAM AUTO_INCREMENT=1 ;
questa e la pagina di registrazione
@bicchedduCodice PHP:
<form name="form" method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
nickname <input type="text" name="nickname"><br />
contatto <input type="text" name="contatto"><br />
descrizione <input type="text" name="descrizione"><br />
data1 <input name="data1"><br />
data2 <input name="data2"><br />
data3 <input name="data3"><br />
sesso <input type="text" size="2" name="sesso"><br />
regione <input name="regione"><br />
fdgcitta <input type="text" name="citta"><br />
interessi <input type="text" name="interessi"><br />
<input type="submit" name="submit" value="invia">
</form>
<?php
$hostname_temp = "localhost";
$database_temp = "my_zappi"; //my_tuonick
$username_temp = "zappi"; //metti il tuo username
$password_temp = ""; //metti la tua password
$temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR);
if($_POST['submit']=="invia"){
mysql_select_db($database_temp, $temp);
$query_prova1 = ("INSERT INTO contatti_msn (nickname, contatto, descrizione, data1, data2, data3, sesso, regione, citta, interessi) VALUES (".$_POST['nickname'].", ".$_POST['contatto'].", ".$_POST['descrizione'].", ".$_POST['data1'].", ".$_POST['data2'].", ".$_POST['data3'].", ".$_POST['sesso'].", ".$_POST['regione'].", ".$_POST['citta'].", ".$_POST['interessi'].") ") or die(mysql_error());
$prova1 = mysql_query($query_prova1, $temp) or die(mysql_error());
//$row_prova1 = mysql_fetch_assoc($prova1);
//$totalRows_prova1 = mysql_num_rows($prova1);
}?>
ho provato ma non funziona....
e non so il perchè.....
cambia:
con:Codice PHP:
if($_POST['submit']=="invia"){
Poi cambia:Codice PHP:
if(!empty($_POST['submit'])){
con:Codice PHP:
$query_prova1 = ("INSERT INTO contatti_msn (nickname, contatto, descrizione, data1, data2, data3, sesso, regione, citta, interessi) VALUES (".$_POST['nickname'].", ".$_POST['contatto'].", ".$_POST['descrizione'].", ".$_POST['data1'].", ".$_POST['data2'].", ".$_POST['data3'].", ".$_POST['sesso'].", ".$_POST['regione'].", ".$_POST['citta'].", ".$_POST['interessi'].") ") or die(mysql_error());
Poi cambia:Codice PHP:
$query_prova1 = "INSERT INTO contatti_msn VALUES ('".$_POST['nickname']."', '".$_POST['contatto']."', '".$_POST['descrizione']."', '".$_POST['data1']."', '".$_POST['data2']."', '".$_POST['data3']."', '".$_POST['sesso']."', '".$_POST['regione']."', '".$_POST['citta']."', '".$_POST['interessi']."'";
con:Codice PHP:
$prova1 = mysql_query($query_prova1, $temp) or die(mysql_error());
Codice PHP:
if(!($prova1 = mysql_query($query_prova1, $temp)))
{
die(mysql_error());
}
tu dici cosi giustoCodice PHP:
<?php
$hostname_temp = "localhost";
$database_temp = "my_zappi"; //my_tuonick
$username_temp = "zappi"; //metti il tuo username
$password_temp = ""; //metti la tua password
$temp = mysql_pconnect($hostname_temp, $username_temp, $password_temp) or trigger_error(mysql_error(),E_USER_ERROR);
if(!empty($_POST['submit'])){
mysql_select_db($database_temp, $temp);
$query_prova1 = "INSERT INTO contatti_msn VALUES ('".$_POST['nickname']."', '".$_POST['contatto']."', '".$_POST['descrizione']."', '".$_POST['data1']."', '".$_POST['data2']."', '".$_POST['data3']."', '".$_POST['sesso']."', '".$_POST['regione']."', '".$_POST['citta']."', '".$_POST['interessi']."'";
if(!($prova1 = mysql_query($query_prova1, $temp))){
die(mysql_error());
}
//$row_prova1 = mysql_fetch_assoc($prova1);
//$totalRows_prova1 = mysql_num_rows($prova1);
}?>
ma e normale che mi da errore o no
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
Certo che è normale, vuol dire che non è possibile eseguire la query.
Ti do un consiglio, usa l'ordine negli script e usa l'indentazione perchè non si capisce molto.
Hai provato ad eseguire la query in phpMyAdmin?
Prova sempre su phpMyAdmin ad inserire i dati tramite il link Inserisci nella pagina della tabella e e copia la query che fa, dopo di che la modifichi con le variabili via POST.
Hai provato ad eseguire la query in phpMyAdmin?
no...perchè non so come si fa...
ma tu stai parlando di questa query
"INSERT INTO contatti_msn VALUES ('".$_POST['nickname']."', '".$_POST['contatto']."', '".$_POST['descrizione']."', '".$_POST['data1']."', '".$_POST['data2']."', '".$_POST['data3']."', '".$_POST['sesso']."', '".$_POST['regione']."', '".$_POST['citta']."', '".$_POST['interessi']."'";
zappi, coasa stai dicendo? Non ti seguo più
La stringa che hai appena postato non puoi eseguirla direttamente perchè contiene delel variabili che poi, eseguendo la query col php, verranno valorizzate.
Fai come ti ho scritto prima, cliccando su Inerisci in phpMyAdmin.
non so se ho capito bene...
mi compare una cosa del genere...
INSERT INTO `my_zappi`.`contatti_msn` (
`id` ,
`nickname` ,
`contatto` ,
`descrizione` ,
`data1` ,
`data2` ,
`data3` ,
`sesso` ,
`regione` ,
`citta` ,
`interessi`
)
VALUES (
'1', 'sa', 'sa', 'sa', 'sa', 'sasa', 'sa', 'sasa', 'sa', 'sa', 'sa'
);
Ecco, quello dovrebbe essere il risultato della query in PHP. Ovviamente i valori sono diversi (sa sasa ecc ecc).
si giusto che intuito....da dove lo hai capito...XD
ma ora che devo fare....
zappi non mi pare sia nella posizione di sfottere sinceramente
Ti è stato detto nei dettagli cosa devi fare...