-
andrex_93.
User deleted
Salve a tutti quanti, su una pagina web, ho creato un form per far inserire al visitatore il proprio nome.. Questo nome deve essere salvato nel database, perchè poi mi servirà per calcolare il punteggio realizzato da questo utente e stamparlo a video.
ESEMPIO:
nella index, inserisco il mio nome ( andrea ).
Finito di fare quello che devo fare, mi verrà stampato il punteggio, del tipo: ("andrea = XXX punti.")
il problema e': come cavolo posso farlo? Non mi viene in mente niente, e col php non sono una cima... Potreste aiutarmi?. -
andrex_93.
User deleted
up . -
~Andrey™.
User deleted
Posta il codice inerente al form. . -
andrex_93.
User deleted
HTML<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css">
<title>Quiz Online</title>
</head>
<body>
<!-- immagine centrale -->
<center>
<img src="http://quiz1online.altervista.org/images/Senza-titolo-6.gif" />
</center>
<!-- menu' -->
<div id="testata" align="center">
<a href="http://quiz1online.altervista.org/">Home</a> -
<a href="http://quiz1online.altervista.org/Guestbook.html">Guestbook</a> -
<a href="http://quiz1online.altervista.org/Credits.html">Credits</a>
</div>
<center>
<div id="box" align="center">
<p>Inserisci il tuo nome:</p><br>
<form action="file.php">
<input type="text" name="nome">
<input type="submit" name="invio">
</form>
</div>
</center>
</body>
</html>
e' l'intero codice della pagina... -
.
In file.php preleva il nome dell'utente con $_POST['name'], dopodichè effettua una connessione al database e effettua una query del tipo `INSERT INTO nomeTabella(name) VALUES('$name')`.
Infine chiudi la connessione e aggiungi le dovute protezioni.
Consulta il manuale se hai bisogno. -
~Andrey™.
User deleted
In file.php preleva il nome dell'utente con $_POST['name'], dopodichè effettua una connessione al database e effettua una query del tipo `INSERT INTO nomeTabella(name) VALUES('$name')`.
Infine chiudi la connessione e aggiungi le dovute protezioni.
Consulta il manuale se hai bisogno
La variabile sarà $_POST['nome'] solo dopo che avrà aggiunto al form l'attributo method="post" (il valore di default è get), e nella query, che scritta in quel modo in PHP va racchiusa tra doppi apici, ci va uno spazio dopo nomeTabella.. -
.In file.php preleva il nome dell'utente con $_POST['name'], dopodichè effettua una connessione al database e effettua una query del tipo `INSERT INTO nomeTabella(name) VALUES('$name')`.
Infine chiudi la connessione e aggiungi le dovute protezioni.
Consulta il manuale se hai bisogno
La variabile sarà $_POST['nome'] solo dopo che avrà aggiunto al form l'attributo method="post" (il valore di default è get), e nella query, che scritta in quel modo in PHP va racchiusa tra doppi apici, ci va uno spazio dopo nomeTabella.
Lo spazio e il tipo di apice è indifferente, tu fai
mysql_query('INSERT INTO nomeTabella(name) VALUES(\'$name\')');
o
mysql_query("INSERT INTO nomeTabella(name) VALUES('$name')");
Io nella risposta precedente ho usato quell'apice per mettere in risalto la query, è ovvio che il parser darà un errore.
Per il form hai ragione, non avevo notato la mancanza del suddetto attributo.. -
~Andrey™.
User deleted
Lo spazio e il tipo di apice è indifferente, tu fai
mysql_query('INSERT INTO nomeTabella(name) VALUES(\'$name\')');
o
mysql_query("INSERT INTO nomeTabella(name) VALUES('$name')")
Certo, ma hai cambiato la stringa. Io dicevo che per usare quella che hai postato all'inizio bisogna usare i doppi apici, perché con gli apici singoli PHP avrebbe dato errore, dato che quelli in VALUES() non erano 'backslashati'. Era solo per evitare un errore all'utente, che molto probabilmente non conosce la differenza tra apici doppi e singoli.
Per lo spazio sinceramente non ho provato, mi rifacevo semplicemente alla reference di MySQL (http://dev.mysql.com/doc/refman/5.5/en/insert.html), ma probabilmente non è obbligatorio.. -
miticgio.
User deleted
Se vuoi che il nome e i punti siano solo visualizzati e non salvati (quindi una volta chiuso il browser non sono più disponibili) allora ti consiglio di creare una sessione. Il codice sarà il seguente: CODICE<?php
session_start();
if(!isset($_POST['submit'])) {
echo '<form method="post" action="#">
<input type="text" name="nome">
<input type="submit" name="submit" value="Invia">
</form>';
} else {
$nome = $_POST['nome'];
$_SESSION['nome'] = $nome;
$_SESSION['punti'] = $punti;
echo $nome.' = '.$punti;
}
?>. -
.Salve a tutti quanti, su una pagina web, ho creato un form per far inserire al visitatore il proprio nome.. Questo nome deve essere salvato nel database, perchè poi mi servirà per calcolare il punteggio realizzato da questo utente e stamparlo a video.
ESEMPIO:
nella index, inserisco il mio nome ( andrea ).
Finito di fare quello che devo fare, mi verrà stampato il punteggio, del tipo: ("andrea = XXX punti.")
il problema e': come cavolo posso farlo? Non mi viene in mente niente, e col php non sono una cima... Potreste aiutarmi?
. -
miticgio.
User deleted
Ok... Ho capito. Allora, per prima cosa devi creare una tabella (nel database ovviamente) con i campi: "Nome" e "Punti". Nella index inserisci questo piccolo script: CODICE<?php
if(!isset($_POST['submit'])) {
echo '<form method="post" action="#">
Nome: <input type="text" name="nome"><br>
<input type="submit" name="submit" value="Partecipa!">
</form>';
} else {
if($_POST['nome']!= "") {
$nome = $_POST['nome'];
$tabella_db = "Nome della Tabella";
$query = "INSERT INTO '{$tabella_db}' ('Nome') VALUES ('{$nome}');";
$query_result = mysql_query($query);
if(!$query_result) {
echo 'Messaggio di Errore: Errore nella query!';
} else {
echo 'Codici QUIZ ecc...
........................';
}
} else {
echo 'Devi immettere il tuo nome<br>
<form method="post" action="#">
Nome: <input type="text" name="nome"><br>
<input type="submit" name="submit" value="Partecipa!">
</form>';
}
}
?>
Se hai qualche dubbio o domanda scrivili nella risposta. Spero di esserti stato di aiuto, ciao..