Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema login/registrazione

    Ciao, ho una pagina in php che contiene due form, uno per il login e l'altro per la registrazione. I due form richiamano (nell'action) due funzioni. Il login mi funziona ma la registrazione non lo so perchè non mi mostra nemmeno il form. Mi spiego meglio: se associo la funzione registrazione() nell'action del form della registrazione, non mi mostra nessun form, mentre se toglio qualsiasi attributo al form, allora quest'ultimo mi viene mostrato. Non capisco dove sia l'errore..

    codice:
    <div id="login">
    	<p>Login</p>
    
    
    	<form action="<?php session_start(); require_once("funzioni.php"); echo login();?>" method="post">
    		<table>
    			<tr>
    				<td>Username:</td>
    				<td><input type="text" name="username"/></td>
    			</tr> 
    			<tr>
    				<td>Password:</td>
    				<td><input type="password" name="password"/></td>
    			</tr> 
    			<tr>
    				<td><input type="submit" value="Login" name="Login"/></td>
    			</tr>
    		</table>
    	</form>
    </div>
    
    
    <div id="registrazione">
    	<p>Registrazione</p>
    
    
    	<form action="<?php session_start(); require_once("funzioni.php"); echo registrazione();?>" method="post">
    		<table>
    			<tr>
    				<td>Nome:</td>
    				<td><input type="text" name="reg-nome"/></td>
    			</tr> 
    			<tr>
    				<td>Cognome:</td>
    				<td><input type="password" name="reg-cognome"/></td>
    			</tr> 
    			<tr>
    				<td>Username:</td>
    				<td><input type="text" name="reg-username"/></td>
    			</tr> 
    			<tr>
    				<td>Password:</td>
    				<td><input type="password" name="reg-password"/></td>
    			</tr> 									
    			<tr>
    				<td><input type="submit" value="Registrami" name="Registrami"/></td>
    			</tr>
    		</table>
    	</form>
    </div>
    codice:
    function login() {
    	if(isset($_POST['Login'])) {
    		$conn = dbConnect();
    		$table = mysql_query("CREATE TABLE IF NOT EXISTS users(
    					user VARCHAR(50),
    					password VARCHAR(100),
    					nome VARCHAR(50),
    					cognome VARCHAR(50),
    					primary key(user, password)
    				)") 
    				or die(mysql_error());
    		mysql_query($table, $conn);
    		$query = "replace INTO users(user, password, nome, cognome) VALUES('admin', 'admin', 'admin', 'admin')"; 
    		$result = mysql_query($query) OR die(mysql_error());  
    		if(!isset($_POST['username']) OR $_POST['username'] == "" OR !isset($_POST['password']) OR $_POST['password'] == "") {
    			die("Non hai inserito i dati.");
    		} 
    		else {
    			$username = $_POST['username'];
    			$password = $_POST['password'];
    			$result = mysql_query("SELECT * FROM users WHERE user='$username' AND password='$password'");
    			if(mysql_num_rows($result) == 0)
    				return die("Username e/o password errati");
    			else {
    				$_SESSION['loggedin'] = 1;
    				$_SESSION['username'] = $username;
    				$user = mysql_fetch_array($result);
    				header("refresh: 1; url = index.php");
    				exit();
    			}
    		}          
    	}
    }
    
    
    function registrazione() {
    	$conn = dbConnect();
    	$table = mysql_query("CREATE TABLE IF NOT EXISTS users(
    				user VARCHAR(50),
    				password VARCHAR(100),
    				nome VARCHAR(50),
    				cognome VARCHAR(50),
    				primary key(user, password)
    			)") 
    			or die(mysql_error());
    	mysql_query($table, $conn);
    	$nome = $_POST['reg-nome'];
    	$cognome = $_POST['reg-cognome'];			
    	$username = $_POST['reg-username'];
    	$password = $_POST['reg-password'];
    	$result = mysql_query("SELECT * FROM users WHERE user='$username'");
    	if(mysql_num_rows($result) == 1) //se esiste già un utente con quel nome
    		return die("Username già utilizzato.");
    	else {
    		$nuovoUtente = "INSERT into users(user, password, nome, cognome) VALUES($username, $password, $nome, $cognome)";
    		if(mysql_query($nuovoUtente) == FALSE) 
    			echo "Record non inserito " . mysql_error());
    		else
    			echo "Registrazione effettuata con successo. Ora puoi effettuare il login.";
    	}
    }
    Dov'è l'errore?

    Grazie mille

  2. #2
    Ho trovato l'errore, c'era una parentesi in più. Ora però quando vado ad inserire un nuovo utente, al memento del submit mi dice:

    Accesso negato!

    Non disponi dei permessi necessari per accedere all'oggetto richiesto, oppure l'oggetto non può essere letto dal server.
    Se pensi che questo sia un errore del server, per favore contatta il webmaster.
    Error 403

    localhost
    Apache/2.4.4 (Win32) OpenSSL/0.9.8y PHP/5.4.19

  3. #3
    Consigli?

  4. #4
    Up

  5. #5
    Ho provato a modificare il file httpd-xampp.conf che si trova in xampp/apache/conf/extra cambiando (in fondo al file) da Deny from all a Allow from all ma niente, sempre lo stesso errore.
    Eppure è strano perchè questo errore non mi esce all'apertura della pagina ma quando clicco su un bottone di submit di un form.. L'azione associata al submit è una semplice insert nel database.. Ne ho fatte molte altre e non mi ha mai dato questo errore..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.