allora raga io ho creato un form per il login sul mio sito ma non so assolutamente come funzion. una volta creato il form come devo proseguire?
questo e il form login che ho creato http://youacli.altervista.org
grazie in anticipo per l'aiuto
allora raga io ho creato un form per il login sul mio sito ma non so assolutamente come funzion. una volta creato il form come devo proseguire?
questo e il form login che ho creato http://youacli.altervista.org
grazie in anticipo per l'aiuto
Ultima modifica di youacli : 12-03-2011 alle ore 05.51.35
io di solito faccio così... dopo il login metto
se la query ritorna 0 righe vuol dire che i dati inseriti sono sbagliati... altrimenti creo una sessione per l'utenteCodice PHP:
if (!emty($_POST['user']) && (!emty($_POST['pass']) &&)
// user e pass sono i nomi che ho dato agli input text
// quindi se non sono vuoti invoco la class
$obj = new login($_POST[pass],$_POST['user'] )
$obj= login->funzionelogin();
// dove funzione login è una funzione che si connette al db ed esegue una query del tipo
// select * from miaTabella Where username = $_post[user] and password = "_post[pass]
Codice PHP:
session_start();
$_SESSION['utente'] = $_post[user];
spero ti sia utile...
ps la grafica del tuo sito mi piace molto
Ultima modifica di musicanapoli : 13-03-2011 alle ore 00.54.50 Motivo: Codice racchiuso tra i tags
grazie mille dell'aiuto adesso provo ma una volta messo questo codice sotto il login dovrebbe funzionare la registrazione? io so che ci vuole un registrazione.php e un utenti.php...il registrazione.php dovrebbe essere la pagina di registrazione e il utenti.php dovrebbe essere un db..non e cosi?
p.s. sono contento che ti piaccia la grafica
no il database non centra nulla con la la pagina php...
però al database ti ci devi connettere sia per effettuare la registrazione per inserirci e salvare i dati, sia per il login per verificare che nel database esista l'utente pippo con password america....
allora ho messo il codice sotto il login ma non succede nulla forse sbaglio il posto dove metterlo... il mio codice del form login della pagina index e questo
dove devo mettere il codice che mi hai dato tu? e come faccio a fare un collegamento con il db? grazie ancora per il disturboCodice:form action="#" method="post" id="user-login-form"> <div><div class="form-item"> <label for="edit-name">Username: <span class="form-required" title="This field is required.">*</span></label> <input type="text" maxlength="60" name="name" id="edit-name" style="width: 95%;" value="" /> </div> <div class="form-item"> <label for="edit-pass">Password: <span class="form-required" title="This field is required.">*</span></label> <input type="password" name="pass" id="edit-pass" maxlength="60" style="width: 95%;" class="form-text required" /> </div> <span class="art-button-wrapper"> <span class="l"> </span> <span class="r"> </span> <input class="art-button" type="submit" name="login" value="Login"/> </span> <div class="cleared"></div> <div><ul><li><a href="#" title="Create a new user account.">Create new account</a></li><li><a href="#" title="Request new password via e-mail.">Request new password</a></li></ul></div> </div></form>
scusa la domanda...
ma tu conosci un po di php?
cmq se stai usando proprio il codice che ho postato io un paio di avvertimenti:
1) non stai usando gli stessi nomi che ho dato io ai miei form (es $_post[user], mentre da te l'input per lo username si chiama name)
2) quel codice l'ho buttato giu veloce quindi a volte mancano i simboli $ per le variabili, o gli apostrofi $_POST['']
per il resto si dovresti usarlo dopo quel form, e scrivere poi la funzione in php che verifica la correttezza dei dati ed eventualmente crea le sessione...
ps nel primo post non avevo specificato che in tutte le pagine del tuo sito in cui vuoi che l'utente venga riconosciuto come utente registrato dovrai inserire la forma
session_start();
scusami l'ignoranza ma io so moltissimo di html e css ma di php ne se poco e niente... non ti dispiace se posti il codice completo che devo mettere sotto quel form? ti ringrazio infinatemente
allora:
sotto al form...
funzionelogin() è una funzione che ho definito nella classe login...Codice PHP:
if (!emty($_POST['user']) && (!emty($_POST['pass'])) {
// user e pass sono i nomi che ho dato agli input text
// quindi se non sono vuoti invoco la class
$obj = new login($_POST['user'] ,$_POST['pass'])
$obj->funzionelogin();
}
la classe login per farla funzionare devi definirla come:
Codice PHP:
include_once("./php_script/connect_db.php");
// è un'altra classe che includo per gestire la connessione...
// il codice di questa te lo incollo dopo
class login {
// proprietà
// costruttore
public function __construct($nome,$pass) {
$this->name = $nome;
$this->pass = $pass;
}
// metodi
public function funzionelogin() {
/* questa funzione verifica le credenziali inserite dall'utente nei moduli di login, e se sono corrette crea una sessione per l'utente riconosciuto */
$myConn = connectDb::connect();
$myQuery = "SELECT campousername FROM nometabella WHERE campousername = '$this->name' AND campopassword = '$this->pass";
$result=$myConn->query($myQuery);
$row_count = $result->num_rows;
if ($row_count > 0) {
/* le informazioni inserite sono corrette; quindi avvio una sessione con le informazioni dell'utente. */
$_SESSION['utente'] = $this->name;
else {
/* Username o Password sono errati. Effettuo il redirect alla Homepage. */
header("Location: http://www.stepone.altervista.org/");
}
}
}
la classe connectDb è quella che si connette al database... dovrai inserirci le tue credenziali:
Codice PHP:
class connectDb {
// proprietà
private $host, $root, $pw, $dbName;
// metodi
public function connect() {
/* questa funzione effettua la connessione al database */
$host = '';
$root = ''; // in tutti questi ci metti i tuoi dati
$pw = '';
$dbName = '';
$mysqli = new mysqli($host, $root, $pw, $dbName);
if ($mysqli->connect_error) {
die('Connect Error ('.$mysqli->connect_errno.')'.$mysqli->connect_error);
}
else {
return $mysqli;
}
}
}
poi in ogni pagina in cui vuoi che un utente se registrato venga riconosciuto scrivi
<?php session_start(); ?>
questo credo sia tutto...
mi sorge solo una domanda... non conoscendo il php come hai fatto a far registrare gli utenti?
è chiaro che se primi non registri gli utenti, salvando username e password in un db il login non funzionerà mai
Ultima modifica di stepone : 13-03-2011 alle ore 12.21.21
ancora non si e registrato nessuno devo fa funzionare il login per poterlo fare cmq adesso provo il codice che mi hai dato vediamo se va grazie i tutto
registra tu qualche account per fare le prove...
e comunque il funzionamento del form di registrazione è completamente indipendente da quello del login
questo è il codice che uso io... e non dovrebbero esserci problemi perchè a me funziona... cmq se ti serve ancora qualcosa siamo qui
ti ringrazio infitamente dell'aiuto ma non so prorpio come incorporare il tutto ci ho provato in tutti i modi se ti mando per mess privato username e pass del sito mi sistemeresti tu il login? te lo chiedo per favore grazie mille
io ti aiuto volentieri...
ma con username e password non ci faccio nulla... se non funzionano a te
ma tu sei mai entrato con phpmyadmin nel tuo database? hai verificato che la registrazione sia andata come tu ti aspetti...
come hai chiamato la tabella ed i campi?
hai inserito ad inizio pagina
(di tutte le pagine in cui l'utente loggato vuoi venga riconosciuto come tale)
<?php session_start(); ?> ???
per avere conferma dell'avvenuto login io si solito la cosa la gestisco così..
te lo scrivo in pseudo codice
Codice PHP:
if(isset($_SESSION['user'])) {
echo "Benvenuto ". $_SESSION['user'];
}
else {
// con gli echo inserisco tutti i form
// esempio
echo "<form action='..........' ";
........
echo "</form>";
}
comunque nel precedente codice che ho inserito l'unica cosa che c'è da modificare è il nome della tabella, e dei campi... e poi inserire gli include con i percorsi giusti per quelle che sono le tue directory
Ultima modifica di stepone : 15-03-2011 alle ore 08.32.32
<?php session_start(); ?> l'ho messo in tutte le pagine ma il mio problema e nel fare i collegamenti con il form e le pagine in php io tutto il sito l'ho strutturato in html tutte le pagine le ho scritte in html infatti anche per il semplice form dell'e-mail a pagina contatti il codice php l'ho racchiuso tra i tag <table>codice php</table> se hai skype me lo daresti in modo tale che ti chiamo e chiariamo questa cosa? anche perche come dicevo nei messaggi precendenti e un sito molto importante che riguarda tutta la citta e provincia di dove abito. ti ringrazio ulteriormente per tutto l'aiuto
ciao...
scusa ma proprio ora mi è venuta in mente una domanda stupida da porti...
ma le tue pagine, quelle in cui inserisci lo script php, che estensione hanno?
lo sai vero che qui su altervista per poter far girare gli script php li devi inserire per forza in pagine .php