Ho un problema che hanno tutti arrivati a questo punto.
Ho creato una pagina per modificare il proprio profilo, e quindi le password uguali per modificare nel database mysql.
Ho 2 problemi:
1) sta nel fatto che se le password sono diverse, e modifico un campo me lo cambia lo stesso.
2) sta nel fatto che nonostante ci sia il controllo dell'email non lo legga e quindi salva nel db anche se è scritto "123".
codice:
<?
session_start();
if(!isset($_SESSION["username"])){
include("error.htm");
die();
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<SCRIPT language="JavaScript">
function ControllaMail()
{
EmailAddr = document.modulo.email.value;
Filtro = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-]{2,})+\.)+([a-zA-Z0-9]{2,})+$/;
if (Filtro.test(EmailAddr))
return true;
else
{
alert("Controlla l'indirizzo di e-mail inserito");
document.modulo.email.focus();
return false;
}
}
</SCRIPT>
<SCRIPT LANGUAGE="JavaScript">
function verifForm(formulaire)
{
if(formulaire.password.value == "")
alert('Non hai compilato tutti i campi richiesti!');
else
formulaire.submit();
}
function verifForm(formulaire)
{
if(formulaire.password2.value == "")
alert('Non hai compilato tutti i campi richiesti!');
else
formulaire.submit();
}
function verifForm(formulaire)
{
if(formulaire.email.value == "")
alert('Non hai compilato tutti i campi richiesti!');
else
formulaire.submit();
}
</SCRIPT>
<script language="Javascript" type="text/javascript">
function controllapassword(modulo) {
if (modulo.password.value == "") {
alert("Errore: inserire una password!")
modulo.password.focus()
return false
}
if (modulo.password.value != modulo.password2.value) {
alert("La passord inserita non coincide con la prima!")
modulo.password.focus()
modulo.password.select()
return false
}
return true
}
</script>
<style>
body { background-image:URL(images/sfondocn.JPG);
background-attachment:fixed; }
</style>
<style type="text/css">
A{text-decoration:none}
</style>
<title>Profilo <?
echo "".$_SESSION["username"]."";
?> - Forix Forum</title>
</head>
<body background="images/sfondocn.JPG" text="red" vlink="white" link="white">
<?
$host="miohost";
$user="miouser";
$password="miapass";
$database="miodb";
mysql_connect($host,$user,$password)or die("connessione non riusciuta");
mysql_select_db($database)or die("Database non trovato");
$user = $_SESSION["username"];
$querystr = "SELECT * FROM pannellomod WHERE username = '".$user."'";
if ($_GET['azione'] == "esegui"){
mysql_query("
UPDATE pannellomod
SET nome = '" . $_POST['nome'] . "', cognome = '" . $_POST['cognome'] . "', email = '" . $_POST['email'] . "',
annonascita = '" . $_POST['annonascita'] . "',
genere = '" . $_POST['genere'] . "', skype = '" . $_POST['skype'] . "'
WHERE username = '".$user."'
");
if (mysql_error()){ echo mysql_error();}
}
?>
<form name="modulo" id="test" action="profilo.php?azione=esegui" method="post" onsubmit="return controllapassword(this)" onSubmit="return ControllaMail()">
<input type="hidden" name="done" />
<font size="5">Modifica Profilo</font></p>
<font size="3">Nickname:</font></p>
<input name="nickname" readonly value=<?
echo "".$_SESSION["username"]."";
?>>
Password: *</p>
<input type="password" name="password"value=<?
echo "".$_SESSION["password"]."";
?>></p>
Inserisci nuovamente password: *</p>
<input type="password" name="password2"></p>
Nuova Password:</p>
<input type="password" name="newpasword"></p>
E-mail:</p>
<input name="email" value="<?
$querymail=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'");
$res=mysql_fetch_assoc($querymail);
echo $res['email'];
?>"></p>
<input type="submit" value=" OK " onClick="verifForm(this.form)">
<input type="button" value="Annulla" onclick="document.location = 'java-script:history.back()';">
</p>
Altre informazioni:</p>
Nome:</p>
<input name="nome" value="<?
$query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'");
$res=mysql_fetch_assoc($query);
echo $res['nome'];
?>"></p>
Cognome:</p>
<input name="cognome" value="<?
$query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'");
$res=mysql_fetch_assoc($query);
echo $res['cognome'];
?>"></p>
<?php
$result = mysql_query("
select *
from pannellomod
WHERE username = '".$user."'
LIMIT 1") or die(mysql_error());
$righi = mysql_fetch_array($result);
$ciao=$righi['annonascita'];
$data_di_nascita_utente = $ciao;
echo '<select name="annonascita">';
echo '<option>Data di nascita</option>';
for($i=1910; $i<=date('Y'); $i++)
{
$select = '';
if($i == $data_di_nascita_utente)
{
$select = ' selected';
}
echo '
<option value="'.$i.'"'.$select.'>'.$i.'</option>';
}
echo '</select>'
?>
Tuo Genere:</p>
Maschile:<input type="radio" name="Sex" value="1">
Femminile:<input type="radio" name="Sex" value="2">
Indirizzo MSN:</p>
<input name="messenger" value="<?
$query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'");
$res=mysql_fetch_assoc($query);
echo $res['messenger'];
?>"></p>
Indirizzo Skype:</p>
<input name="skype" value="<?
$query=mysql_query("SELECT * FROM pannellomod WHERE username = '".$user."'");
$res=mysql_fetch_assoc($query);
echo $res['skype'];
?>"></p>
<font size="1"><input type="submit" value=" OK " onClick="verifForm(this.form)"></font>
<input type="button" value="Annulla" onclick="document.location = 'java-script:history.back()';">
<font size="2">Dov'e' scritto * il campo e' obbligatorio.</font></p></form>
<div>
</div>
<div>
</div>
<div>
</div>
<div>
</div><div>
</div><div>
</div>
</center>
<div align="center">
</div>
<p align="center"><font color="red">Copyright © 2010 <a href="contattaci.php">Luigi
Parziale (ixol)</a> & DarkLeo - Forix Creations</font></p>
</body>
</html>
Grazie a chi riuscirà ad aiutarmi