PDA

View Full Version : Inserimento Utenti in rubrica PHP


trediman
21-07-2009, 10:23
buongiorno a tutti. dopo vari tentativi e consulti vani come al solito mi rivolgo alla vostra saggezza.. Sto cercando di imparare il php xkè sono un webmaster novizio.. Per spratichirmi un pò con Mysql e php sto creando una rubrica... Ora la tabella nel database mysq su altervista l'ho creata credo perfettamente xkè qndo inserisco i dati da li me li ritrovo.. Ora vi chiedo se li inserisco con php dovrei vederli nella tabella qndo vado su altervista???? (ancora devo vedere come si estraggono i dati in php quindi sto verificando visivamente sul database di altervista)...

I codici da me compilati sono questi :

il form in html con nome index.html come vuole altervista:

<html>
<head><center><h2>Rubrica Telefonica on line</h2></center></head>
<body>
<br></br><h3>Inserisci un contatto:</h3><br></br>
<form action="inserisci2.php" method="get">
Nome ***** <input type="text" name="nome"><br></br>
Cognome *<input type="text" name="cognome"><br></br>
E-mail ***** <input type="text" name="email"><br></br>
Tel ********* <input type="text" name="tel"><br></br>
<input type="submit" name="bInvia" value="Inserisci i dati">
</form>
</body>
</html>


e lo script php col nome inserisci2.php:

<html>
<head><title>inserisci</title> </head>
<body>
<?

$connessione = mysql_connect("localhost","server","password");

mysql_select_db("agenda", $connessione);

$sql = " insert into agenda
(

nome,
cognome,
email,
tel,
)values(

’".$HTTP_GET_VARS["nome"]."’,
’".$HTTP_GET_VARS["cognome"]."’,
’".$HTTP_GET_VARS["email"]."’,
’".$HTTP_GET_VARS["tel"]."’,
)
";
mysql_close($connessione);
?>

</body>
</html>

P.s. anke in uno script cosi devo mettere i tag body e html ??

vabbè aspetto ansioso le vs risposte continuando a provare grazie in anticipo

vizzz
21-07-2009, 10:38
nella pagina di inserimento se vuoi far visualizzare qualcosa vanno bene i tag html ecc.. altrimenti potresti mettere a fine pagina un redirect ad un'altra pagina usando il comando php "header".

ad occhio ti mancano i comandi:
mysql_connect per connetterti al database
mysql_db_query per eseguire la query che hai creato

trediman
21-07-2009, 10:59
scusa mysql connect devo averlo cancellato mentre lo copiavo... ma il query mi mancava ora vedo come inserirlo precisamente e dove o se me lo dici tu facciamo prima grazie cmq

vizzz
21-07-2009, 11:04
http://www.php.net/function.mysql-db-query

qui c'è anche un esempio completo su come effettuare una query, è per una SELECT, ma il discorso è lo stesso.

while ($row = mysql_fetch_assoc($result)) {
echo $row['foo'];
}

questa parte a te non serve, visto che serve per visualizzare il risultato della SELECT

trediman
21-07-2009, 12:01
diciamo che dal tuo esempio nonho capito molto, ma da altri link ho modificato il codice cosi:

<html>
<head><title>inserisci</title> </head>
<body>
<?
$connessione = mysql_connect("localhost","user","password");

mysql_select_db("agenda", $connessione);

$sql = " insert into agenda (nome,cognome,email,tel,)values(".$HTTP_GET_VARS["nome"].", ".$HTTP_GET_VARS["cognome"].",".$HTTP_GET_VARS["email"].", ".$HTTP_GET_VARS["tel"].", )";
if (mysql_query($sql, $connessione)) {
header("location: ok.html");
} else {
print "Errore durante l'inserimento";
}
mysql_close($connessione);
?>

</body>
</html>

e indovinate un pò?? mi esce Errore durante la connessione..
Dove cavolo sto sbagliando???:muro: :muro:

malocchio
21-07-2009, 12:26
e indovinate un pò?? mi esce Errore durante la connessione..
Dove cavolo sto sbagliando???:muro: :muro:

Controlla la riga di codice con mysql_connect.

In ordine i parametri sono:
host, utente, password.
volendo puoi anche fare
host, utente, password, database
così ti risparmi la chiamata a mysql_select_db

trediman
21-07-2009, 13:34
qsto è il codice della pagina php

<html>
<head><title>inserisci</title> </head>
<body>
<?
$connessione = mysql_connect("localhost","user","passwd");

if ($connessione == FALSE)
die ("Errore nella connessione");

$db = mysql_select_db("my_db", $connessione);

if ($db == FALSE)
die ("Errore nella selezione");



$query = "INSERT INTO 'Agenda' (nome, cognome, email, tel) VALUES ('’".$HTTP_GET_VARS["nome"]."’, ’".$HTTP_GET_VARS["cognome"]."’, ’".$HTTP_GET_VARS["email"]."’, ’".$HTTP_GET_VARS["tel"]."’)";

if (mysql_query($query, $connessione))
die ("Errore nella query");


mysql_close($connessione);
?>

</body>
</html>

ok allora ho risolto il problema della selezione perchè come un pollo selezionavo la tabella invece del database.. ora non mi da errori ma resta il fatto che non si memorizzano i dati o meglio non trovo niente qndo vado a controllare nel db.. mi sa che l'errore sta nella
query INSERT INTO ma sarà qstione di apici forse.. solo che ogni sito mi da la gestione degli apici in modo diverso ..per favore aiutatemiiiiiiiiiiiiiiiiiiiii se no non ne esco sono sicuro che è una scioccheza

trediman
21-07-2009, 14:55
Riuppetetete:mc:

vizzz
21-07-2009, 15:13
usa questo apice '
$query = "INSERT INTO 'Agenda' (nome, cognome, email, tel) VALUES ('".$HTTP_GET_VARS["nome"]."', '".$HTTP_GET_VARS["cognome"]."', '".$HTTP_GET_VARS["email"]."', '".$HTTP_GET_VARS["tel"]."')";

puoi anche provare a fare un:

echo $query;

per vedere come viene composta la query e come prova del 9, eseguila da altervista.

malocchio
21-07-2009, 15:45
Allora per le query è consigliato usare le backquote (non sicuro che si chiamino così) `` per gli oggetti database, come tabelle, database, colonne eccetera.
Le inserisci copiandole dalla mappa caratteri oppure premento ALT+096 sul tastierino numerico. Su linux è ALTGR+apice_singolo (').

Sei sicuro di dover/poter utilizzare le variabili $HTTP_GET_VARS piuttosto che $_GET ??

trediman
21-07-2009, 19:03
e dopo 3h di vani tentativi siamo di nuovo qui...

dopo aver fatto tutto ciò che mi avete consigliato e aver verificato il tutto senza errori, ma con l'unica pecca che aggiungendo i dati da php non ritrovo nulla nel database,
mi sorgono 2 dubbi:

1. Non è che altervista ha delle limitazioni e qndi ora anke se c'azzecco non mi carica niente?? (ma non mi avrebbe avvisato con qlke messaggio??)

2. Mi conviene postarvi la tabella se riesco ad esportarla?? forse non l'ho creata bene in mysql??

nel frattempo vi riposto l'ultimo stadio del listato php

con relativi user e passwd tanto che me frega le userò solo per sta stronzata

questo è l'index:

<html>
<head><center><h2>Rubrica Telefonica on line</h2></center></head>
<body>
<br></br><h3>Inserisci un contatto:</h3><br></br>
<form action="inserisci2.php" method="get">
Nome       <input type="text" name="nome"><br></br>
Cognome  <input type="text" name="cognome"><br></br>
E-mail       <input type="text" name="e-mail"><br></br>
Tel           <input type="text" name="tel"><br></br>
<input type="submit" name="bInvia" value="Inserisci i dati">
</form>
</body>
</html>


e questo è il php:

<html>
<head><title>inserisci</title> </head>
<body>
<?
$connessione = mysql_connect("localhost","provephp3","settembrina");

if ($connessione == FALSE)
die ("Errore nella connessione");

$db = mysql_select_db("my_provephp3", $connessione);

if ($db == FALSE)
die ("Errore nella selezione");



$query = "INSERT INTO `Agenda` (`nome`, `cognome`, `e-mail`, `tel`) VALUES ('".$_GET["nome"]."', '".$_GET["cognome"]."', '".$GET_["e-mail"]."', '".$GET_["tel"]."')";


if ($query == FALSE)
die ("Errore nel caricamento");


mysql_close($connessione);
?>

</body>
</html>

Visto che la mia vodafone key fa schifo (devo fare dei reclami appena torno dalla vacanza), vi prego siate il + chiari e risolutivi possibili, non ne posso + di navigare su siti per ore solo per un'informazione.. grazie ancora per tutto

trediman
22-07-2009, 10:24
Buongiorno sto ancora cercando di risolvere... nessun aiuto???

malocchio
22-07-2009, 11:16
echo $query;

per vedere come viene composta la query e come prova del 9, eseguila da altervista.

Hai provato a fare questo?