phpBB Italia chiude!
phpBB Italia ringrazia tutti gli utenti che hanno dato fiducia al nostro progetto per ben 9 anni, e che, grazie al grande lavoro fatto da tutto lo Staff (rigorosamente a titolo gratuito), hanno portato il portale a diventare il principale punto di riferimento italiano alla piattaforma phpBB.

Purtroppo, causa motivi personali, non ho più modo di gestirlo e portarlo avanti. Il forum viene ora posto in uno stato di sola lettura, nonché un archivio storico per permettere a chiunque di fruire di tutte le discussioni trattate.

Il nuovo portale di assistenza per l'Italia di phpBB diventa phpBB-Store.it, cui ringrazio per aver deciso di portare avanti questo grande progetto.

Grazie ancora,
Carlo - Amministratore di phpBB Italia

errore scrittura database

Area di discussione relativa al linguaggio di programmazione web più conosciuto. Il forum è dedicato anche a MySQL, la piattaforma di database più utilizzata con il PHP.
Rispondi
Avatar utente
brividorosanero
Utente
Utente
Messaggi: 44
Iscritto il: 17/06/2011, 15:33
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.13
Database: mysql
Località: Danimarca
Contatta:

errore scrittura database

Messaggio da brividorosanero » 23/06/2011, 17:09

Ciao ragazzi. Sto cercando di costruire un guestbook per il mio sito. Premetto che sono alle primissime armi con php e mysql. Ho creato un database con phpadmin (su server locale con easyphp) con i segueni campi

1 contatore (chiave primaria unsigned)
2 utente (varchar size 40)
3 testo (full text)

Non riesco a mandare i dati da un form html al database. Posto il codice:

Codice: Seleziona tutto

<div id="form">
<br />
					
	<form name="guestbook" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
	<span class="form"> Inserisci il tuo nome: </span>
		<div id="casella_nome">
					<input type="text" size="16" name="utente" />
				</div>
				<br /> 
				<p class="form"> Inserisci il tuo commento: </p> 
				<div id="casella_testo">
					<textarea name="messaggio" cols="45" rows="7"></textarea>
				</div>
				<div id="bottone">
					<input type="submit" value="Invia" />
				</div>
			</form>	
			
			</div> 	
			<div id="commenti">
				<?php
					if($_POST)
					{
						$data_server="localhost";
						$data_user="root";
						$data_pass="";
						$connection= mysql_connect("$data_server", "$data_user", "$data_pass") or die(mysql_error());
						mysql_select_db("guestbook", $connection) or die(mysql_error());
						$query="INSERT TO firma (utente, messaggio) VALUES ('$_POST[utente]','$_POST[messaggio]')";
						mysql_query($query, $connection) or die(mysql_error());
						mysql_close();
					}	
					
				?>
		</div>
Il database si chiama guestbook e la tabella firma.
Non riesco a capire l'errore. Ringrazio in anticipo per l'aiuto!
Ultima modifica di Carlo il 23/06/2011, 21:02, modificato 1 volta in totale.
Motivazione: Inserito codice all'interno del BBCode CODE.
Immagine

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: errore scrittura database

Messaggio da Carlo » 23/06/2011, 17:31

Innanzitutto, il codice va racchiuso all'interno del BBCode CODE.

Secondo, il codice contiene alcuni problemi di sicurezza XSS.

Terzo, modifica la query in:

Codice: Seleziona tutto

$query = "INSERT INTO firma (contatore, utente, messaggio) VALUES (NULL, '" . mysql_real_escape_string($_POST['utente']) . "', '" . mysql_real_escape_string($_POST['messaggio']) . "')"; 
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
brividorosanero
Utente
Utente
Messaggi: 44
Iscritto il: 17/06/2011, 15:33
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.13
Database: mysql
Località: Danimarca
Contatta:

Re: errore scrittura database

Messaggio da brividorosanero » 23/06/2011, 17:38

Scusa Carlo non lo sapevo, la prox volta lo farò. Stasera provo il codice e poi ti faccio sapere. Grazie per l'aiuto.
Immagine

Avatar utente
brividorosanero
Utente
Utente
Messaggi: 44
Iscritto il: 17/06/2011, 15:33
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.13
Database: mysql
Località: Danimarca
Contatta:

Re: errore scrittura database

Messaggio da brividorosanero » 23/06/2011, 18:59

Ho provato ma non funziona. Inserendo nel form:
utente: brividorosanero
messaggio: prova

Mi scrive il seguente messaggio d'errore:

Notice: Use of undefined constant utente - assumed 'utente' in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\Sito\Guestbook\guestbook.php on line 132

Notice: Use of undefined constant messaggio - assumed 'messaggio' in C:\Program Files (x86)\EasyPHP-5.3.6.0\www\Sito\Guestbook\guestbook.php on line 133
Unknown column 'messaggio' in 'field list'
Immagine

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: errore scrittura database

Messaggio da Carlo » 23/06/2011, 19:22

Ops, errore mio.

Ho corretto, ricopia.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
brividorosanero
Utente
Utente
Messaggi: 44
Iscritto il: 17/06/2011, 15:33
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.13
Database: mysql
Località: Danimarca
Contatta:

Re: errore scrittura database

Messaggio da brividorosanero » 23/06/2011, 19:53

Grazie mille per la risposta. Ho ricopiato il codice ma i dati non vengono ancora scritti nel database. Mi restituisce questo errore:

Unknown column 'messaggio' in 'field list'
Immagine

Avatar utente
Carlo
Amministratore
Amministratore
Messaggi: 9957
Iscritto il: 19/04/2009, 10:24
Sesso: Maschio
Versione: 3.2.0
Server: UNIX/Linux
PHP: 7.1.0
Database: MySQL(i) 10.0.27-MariaDB-cll-lve
Località: Puglia
Contatta:

Re: errore scrittura database

Messaggio da Carlo » 23/06/2011, 21:02

Tu hai scritto il codice, io l'ho solamente sistemato.

Quell'errore spunta perchè non c'è nessuna colonna chiamata messaggio nella tabella firma.
MODs | Stili | Traduzioni MOD
Ogni MP contenente una richiesta di supporto verrà ignorato.

Avatar utente
brividorosanero
Utente
Utente
Messaggi: 44
Iscritto il: 17/06/2011, 15:33
Sesso: Maschio
Versione: 3.0.9
Server: UNIX/Linux
PHP: 5.2.13
Database: mysql
Località: Danimarca
Contatta:

Re: errore scrittura database

Messaggio da brividorosanero » 23/06/2011, 22:38

Scusa già, hai ragione! Forse sono stato troppo al pc oggi, che errore scemo. L'avevo pure scritto nel primo post che la colonna della tabella "firma" si chiama testo e non messaggio! Forse sono troppo stanco, meglio continuare domani. Naturalmente adesso funziona come deve :). Grazie!
Immagine

Rispondi

Torna a “PHP - MySQL”

Chi c’è in linea

Visitano il forum: Nessuno e 53 ospiti