Inserire dati in un database Mysql

Napster

Nuovo Utente
26 Apr 2012
25
0
0
Salve ragazzi, stò studiando da poco il php per la creazione di un piccolo sito web ma sono incappato in un dilemma del quale non ho trovato soluzione.
Vorrei capire come poter inserire in un database mysql quello che un utente scrive nella textbox; mi spiego meglio, in pratica un utente si iscrive inserendo il suo nickname in un form formato da un campo di testo e un pulsante, al clic del pulsante il valore della textbox deve essere inserito nel database mysql e dal database il dato deve essere preso e visualizzato in una tabella nel sito in cui compare tutta la lista degli iscritti.

Spero di essermi spiegato, attendo risposta

P.S. se non avete capito ditemelo :)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
è abbastanza semplice.
1. per prima cosa devi avere una tabella chiamata (es) utenti (oltre al nick metterei anche una password) fatta schematicamente
Codice:
id int(12) not null autoincrement primarykey
username varchar (50) not nul
password varchar (50) not nul
2. poi nel form metterai anche il campo per la pass
3. puoi fare il tutto in una stessa pagina php
4. alla pressione del tasto submit raccogli i dati (ti schematizzo usando le clssiche query, quando saria più avanti userai le pdo)
PHP:
<?php
//qui i dati di connessione
if(isset($_POST['submit'])){//premuro il submit, dovrai mettere il suo name
	$user=$_POST['username'];
	$pass=$_POST['password'];
	//qui ci vorranno vari controlli su uanto immesso compresi la verifica dell'esistenza quindi user e/o pass da cambiare (poi la pass dovrà essere codificata)
	//e se tutto è OK inserisci il nuovo iscritto nel db
	$query=("INSERT INTO utenti(username, password) VALUES('$user','$pass')";
	if(mysql_query($query)){
		echo "grazie di esserti iscritto";
	}else{
		echo "c'è stato un errore, riprova";
	}
	// e qui un link per uscire e/o tornare al form
}
?>
<!-- e qui puoi scrivere il tuo form in html -->
prova a buttare giù qualcosa e provo, poi se hai dei problemi posta
 

Napster

Nuovo Utente
26 Apr 2012
25
0
0
ciao
è abbastanza semplice.
1. per prima cosa devi avere una tabella chiamata (es) utenti (oltre al nick metterei anche una password) fatta schematicamente
Codice:
id int(12) not null autoincrement primarykey
username varchar (50) not nul
password varchar (50) not nul
2. poi nel form metterai anche il campo per la pass
3. puoi fare il tutto in una stessa pagina php
4. alla pressione del tasto submit raccogli i dati (ti schematizzo usando le clssiche query, quando saria più avanti userai le pdo)
PHP:
<?php
//qui i dati di connessione
if(isset($_POST['submit'])){//premuro il submit, dovrai mettere il suo name
	$user=$_POST['username'];
	$pass=$_POST['password'];
	//qui ci vorranno vari controlli su uanto immesso compresi la verifica dell'esistenza quindi user e/o pass da cambiare (poi la pass dovrà essere codificata)
	//e se tutto è OK inserisci il nuovo iscritto nel db
	$query=("INSERT INTO utenti(username, password) VALUES('$user','$pass')";
	if(mysql_query($query)){
		echo "grazie di esserti iscritto";
	}else{
		echo "c'è stato un errore, riprova";
	}
	// e qui un link per uscire e/o tornare al form
}
?>
<!-- e qui puoi scrivere il tuo form in html -->
prova a buttare giù qualcosa e provo, poi se hai dei problemi posta

Ho fatto, però quando mi esegue il codice php mi da una pagina bianca senza visualizzare alcun messaggio (di errore registrazione o avvenuta registrazione)
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
non devi postare quello che ho scritto io (è solo uno schema), ma per vedere dove è l'errore devi postare lo script che hai fatto tu
 

Napster

Nuovo Utente
26 Apr 2012
25
0
0
ciao
non devi postare quello che ho scritto io (è solo uno schema), ma per vedere dove è l'errore devi postare lo script che hai fatto tu

Questo è il codice che ho fatto, sostanzialmente errori di sintassi non ne ho trovati ma continuo a non capire dove sia il problema:

PHP:
<?php

$db_host = "localhost";
$db_user = "nome utente";
$db_password = "pass";
$db_name = "nomedb";

$db = mysql_connect($db_host, $db_user, $db_password) or die ('Errore durante la connessione');
mysql_select_db($db_name, $db) or die ('Errore durante la selezione del db');

//qui ho iserito il codice che mi hai dato
if(isset($_POST['submit'])){ 
    $user=$_POST['username'];
    $pass=$_POST['password'];
    // I controlli per la password li aggiungo dopo 
   
    $query=("INSERT INTO utenti(username, password) VALUES('$user','$pass')");
    if(mysql_query($query)){
        echo "grazie di esserti iscritto";
    }else{
        echo "c'è stato un errore, riprova";
    }
   
} 

?>
<html>
<head>
<title>Modulo registrazione
</title>
</head>
<body>
<form action='inviook' method='POST'>

<b>Nickname:</b><br>
<input type='text' name='username'><br>

<b>Password:</b><br>
<input type='password' name='password'><br>

<input type='submit' value='submit'><br>

</form>

</body>
</html>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
L'errore è che devi assegnare l'attributo name al bottone di submit. Comunque, in modo più elegante:
PHP:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=nomedb', 'nome utente', 'pass');

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $stm = $pdo->prepare('INSERT INTO utenti (username, password) VALUES (?, ?');
    $stm->execute(array($_POST['username'], $_POST['password']));

    echo 'Grazie di esserti iscritto.';
} else {
    echo <<<EOF
<!DOCTYPE html>
<html>
    <head>
        <title>Registrazione</title>
        <meta charset="utf-8" />
    </head>

    <body>
        <form action="{$_SERVER['REQUEST_URI']}" method="post">
            <div>
                <label for="username">Username:</label>
                <input type="text" id="username" name="username" />
            </div>

            <div>
                <label for="password">Password:</label>
                <input type="password" id="password" name="password" />
            </div>

            <div>
                <button type="submit">Registrati</button>
            </div>
        </form>
    </body>
</html>
EOF;
}
?>
Visto che ti stai avvicinando ora al PHP, inizia da subito a seguire delle buone pratiche di programmazione.
 

Napster

Nuovo Utente
26 Apr 2012
25
0
0
L'errore è che devi assegnare l'attributo name al bottone di submit. Comunque, in modo più elegante:
PHP:
<?php
$pdo = new PDO('mysql:host=localhost;dbname=nomedb', 'nome utente', 'pass');

if ('POST' === $_SERVER['REQUEST_METHOD']) {
    $stm = $pdo->prepare('INSERT INTO utenti (username, password) VALUES (?, ?');
    $stm->execute(array($_POST['username'], $_POST['password']));

    echo 'Grazie di esserti iscritto.';
} else {
    echo <<<EOF
<!DOCTYPE html>
<html>
    <head>
        <title>Registrazione</title>
        <meta charset="utf-8" />
    </head>

    <body>
        <form action="{$_SERVER['REQUEST_URI']}" method="post">
            <div>
                <label for="username">Username:</label>
                <input type="text" id="username" name="username" />
            </div>

            <div>
                <label for="password">Password:</label>
                <input type="password" id="password" name="password" />
            </div>

            <div>
                <button type="submit">Registrati</button>
            </div>
        </form>
    </body>
</html>
EOF;
}
?>
Visto che ti stai avvicinando ora al PHP, inizia da subito a seguire delle buone pratiche di programmazione.

Ti ringrazio! Ho inserito anche l'istruzione per criptare le password ecc... ed è tutto ok!

Ora però per completare il tutto riusciresti a darmi una base di php per un'istruzione che effettua il login?
 
Discussioni simili
Autore Titolo Forum Risposte Data
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
A [ASP] Inserire dati in un database Classic ASP 1
M creare una tabella dove inserire i dati del database Database 1
F [RISOLTO]inserire dati nel database jQuery 14
M Semplice pagina per inserire/leggere dati su database PHP 5
Emix Inserire Array di dati in database.... PHP 21
L classe per inserire dati al database PHP 2
T Inserire i dati da un .txt ad un database PHP 1
I Inserire più dati in database PHP 43
I Inserire dati in database PHP 7
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
L inserire dati multi livello PHP 8
G inserire dati automaticamente in mysql PHP 0
Monital [Javascript] inserire dati estratti dal db in html fisso Javascript 1
M inserire i dati ottenuti da una jquery in una tabella già esistente jQuery 1
spider81man Connettersi ad un DB ed inserire dati con Javascript Javascript 3
C Inserire dati tabella leggendo parte di altra tabella con php PHP 13
B INSERIRE DATI CON IMMAGINE DA FORM IN MYSQL MySQL 7
B Inserire dati su DB da mail Classic ASP 6
C Inserire i dati in un vettore senza ammettere duplicati C/C++ 0
C Inserire dati da input PHP 5
M Inserire nel DB i dati provenienti da checkbox e recuperarli poi dal DB per la pagina di edit PHP 20
F Inserire tanti dati in una tabella MySQL 2
C Pagina HTM connessa al DB access (non è possibile modificare/inserire dati) MS Access 0
C Inserire dei dati di una tabella dinamica in un file esterno js Javascript 17
nim inserire dati in tabella con ajax (ciclo foreach) Ajax 10
asevenx inserire dati da form con nome variabile PHP 0
T inserire un url su dati richiamati da mysql PHP 4
D php e maschera per inserire dati in mysql PHP 4
M inserire da remoto dati in una tabella PHP 21
D [Access] Come inserire i dati in una tabella secondaria? MS Access 0
I inserire dati in tabella in base all'if PHP 11
L Inserire dati in una tabella PHP 6
E inserire dati del DB nel sito PHP 5
D Inserire su un file alcuni dati presi da vari form PHP 2
M Aiuto come inserire dati tramite php? PHP 1
A Inserire in una pagina dei dati presi da una popup Javascript 3
§ inserire dati in form già fatti PHP 20
C Sql per inserire dati in una tabella Classic ASP 1
Elisacau [Contact form 7] Inserire Numero auto incrementante WordPress 1
gara1 inserire immagine di sfondo in canvas Javascript 0
FDF182 Inserire pdf in db PHP 3
otto9due Inserire o aggiornare tabella my sql controllando una coppia di valori PHP 7
D Inserire link PHP 0
P inserire due voci in un titolo post wp WordPress 1
R inserire video nel sito HTML e CSS 15
J Inserire blog wordpress in angular CMS (Content Management System) 0
A inserire variabile php colore in div html PHP 2
G Inserire una scritta Java 1
M Inserire variabile nella value di una hidden PHP 3

Discussioni simili