Salve a tutti, so di certo di trovare persone più esperte di me nel settore qui, perciò vi chiedo aiuto perché ne ho un disperato bisogno. Sono un "novizio" in php e ho appena sviluppato questo codice per la registrazione ad un sito, solo che quando lo lancio in locale mi da questo:
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
127.0.0.1
Apache/2.4.4 (Win32) PHP/5.4.14
il codice è :
<?php
include('conn.php');
if(isset($_POST ['submit']))
{
$username = isset($_POST['username']) ? clear($_POST['username']) : false;
$password = isset($_POST['password']) ? clear($_POST['password']) : false;
$email = isset($_POST['email']) ? clear($POST['email']) :false;
if (empty ($username) || empty($password) || empty ($email))
{
echo 'tutti i campi sono obbligatori<br><br>
<a href="javascript:history.back();">indietro</a>';
}
elseif(strlen($username) > 16 )
{
echo 'nome utente non valido max 16 caratteri<br><br>
<a href="javascript:history.back();">indietro</a>';
}
elseif(strlen($password) < 6 || strlen($password) > 20 )
{
echo 'password non valida, max 6 caratteri e minimo 20<br><br>
<a href="javascript:history.back();">indietro</a>';
}
elseif (!filter_var($emai , FILTER_VALIDATE_EMAIL))
{
echo 'indirizzo email non valido';
}
elseif(strlen($password) < 60 )
{
echo 'email non valida, max 60 caratteri<br><br>
<a href="javascript:history.back();">indietro</a>';
}
elseif (mysql_num_rows (mysql_query("SELECT * FROM utenti WERE username LIKE '$username'")) > 0)
{
echo 'username già in uso, usane un altro.<br><br>
<a href="javascript:history.back();">indietro</a>';
}
elseif (mysql_num_rows (mysql_query("SELECT * FROM utenti WERE email LIKE '$email'")) > 0)
{
echo 'email già in uso, usane un altro.<br><br>
<a href="javascript:history.back();">indietro</a>';
}
else
{
$password = md5 ($password);
if (mysql_query ("INSERT INTO utenti (username, password, email) VALUES ('$username', '$password', '$email')"))
{
echo '<h1>Dati inviati correttamente, utente reggistrato, controlla la tua e-mail</h1><br /><br />';
}
else
{
echo 'ERRORE' . mysql_error();
}
//PHP MAILER
require_once('../class.phpmailer.php');
$mail = new PHPMailer(); // defaults to using php "mail()"
$utenza = mysql_query ("SELECT id utente, username, password FROM utenti WHERE email LIKE '$email' ");
$row = mysql_fetch_array ($utenza);
$id_utente = $row ['id_utente'];
$url = "benvenuto nel portale, clicca sul link per completare la registrazione.";
$body = file_get_contents($url);
$body = eregi_replace("[\]",'',$body);
$mail->AddReplyTo("daniloo91@hotmail.it","First Last");
$mail->SetFrom('daniloo91@hotmail.it', 'First Last');
$mail->AddReplyTo("daniloo91@hotmail.it","First Last");
$address = ($email);
$mail->AddAddress($address, "John Doe");
$mail->Subject = "PHPMailer Test Subject via mail(), basic";
$mail->AltBody = "To view the message, please use an HTML compatible email viewer!aaaaaaaa"; // optional, comment out and test
$mail->MsgHTML($body);
$mail->AddAttachment("images/phpmailer.gif"); // attachment
$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
}
}
else{
?>
<center>
<div id="modulo login">
<form action="<?php echo $SERVER['PHP SELF'];?> " method="POST">
<label>username: <input type="text" name="username" autofocus required maxlength="16"
placeholder="inserire nome utente"> </label><br>
<label>password: <input type="password" name="password" required maxlength="20"
placeholder="inserire la password"></label><br>
<label>email: <input type="email" name="email" required maxlength="60"
placeholder="inserire l' email" </label></ br>
<input type="submit" name="sumbit" value="registrati" />
<input type="reset" id="reset" value="azzera" />
</form></div></center>
<?php
}
?>
Più quello di conn.php :
<?php
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "cv";
$con = mysql_connect( $dbhost , $dbuser , $dbpass, $dbname );
mysql_select_db ("cv" , mysql_connect ($dbhost, $dbuser, $dbpass));
if (!$con)
{
die ('impossibile connettersi al db' . mysql_error());
}
mysql_query ("CREATE TABLE IF NOT EXIST utenti (id utente INT NOT NULL AUTO INCREMENT PRIMARY KEY, id candidato INT NOT NULL, username VARCHAR(16) NOT NULL, password VARCHAR(32) NOT NULL, email VARCHAR (60) NOT NULL)");
function clear($var)
{
return addslashes(htmlspecialchars(trim($var)));
}
?>
Spero tanto qualcuno di voi mi possa dare una mano.![]()