2010-12-03 9 views
0

ich den folgenden PHP-Code bin mit Informationen in einer Datenbank zu aktualisieren, aber bevor das Update auftreten kann, bin ich aufgefordert, alle fiels selbst zu vervollständigen, obwohl alle Felder hav bereits abgeschlossenValidierung Problem Update verhindert Datenbank mit PHP

Kann jemand sehen, warum das passiert?

Hier ist mein Code

<?php 

$update = strip_tags($_POST['update']); 

$username = strtolower(strip_tags($_POST['username'])); 

$olspassword = strip_tags($_POST['oldpassword']); 

$newpassword = strip_tags($_POST['newpassword']); 

$firstname = strip_tags($_POST['first']); 

$lastname = strip_tags($_POST['last']); 

$gender = strip_tags($_POST['gender']); 

$address = strip_tags($_POST['address']); 

$zipcode = strip_tags($_POST['zip']); 

$contact = strip_tags($_POST['con']); 

$email = strip_tags($_POST['mail']); 

error_reporting(0); 



if($update) 
{ 




if($username&&$oldpassword&&$newpassword&&$firstname&&$lastname&&$address&&$zipcode&&$contact&&$email) 
{ 

$connect = mysql_connect("localhost","root","") or die(mysql_error()); 
mysql_select_db(brightlights) or die(mysql_error()); 

$updatecheck = mysql_query("SELECT username FROM tb_user WHERE username='$username'"); 
$count = mysql_num_rows($updatecheck); 
if($count<=1) 
{ 

if($_SESSION['password']==($oldpassword)) 
{ 

mysql_query("UPDATE tb_user SET 
    username = '$username', 
    password = '$newpassword', 
    Firstname = '$firstname', 
    Lastname = '$lastname', 
    gender = '$gender', 
    address = '$address', 
    zipcode = '$zipcode', 
    contact = '$contact', 
    email = '$email' 
    WHERE username='".$_SESSION['username']."'"); 
    $_SESSION['username'] = $username; 
    $_SESSION['password'] = $newpassword; 
    $_SESSION['Firstname'] = $firstname; 
    $_SESSION['Lastname'] = $lastname; 
    $_SESSION['gender'] = $gender; 
    $_SESSION['address'] = $address; 
    $_SESSION['zipcode'] = $zipcode; 
    $_SESSION['contact'] = $contact; 
    $_SESSION['email'] = $email; 
    session_write_close(); 
    echo "Succesfully Updated!"; 

    }else 
    echo "Password not match!"; 
    }else 
    echo "Username already Taken!"; 
    }else 
    echo "Please fill up all form!"; 
} 
?> 
+0

Sehr schlecht korrekte Formatierung der ersten –

+1

Es brennt meine Augen :( – RobertPitt

+0

Thansk, Alin Sie es bearbeitet –

Antwort

1

Dies ist der Grund:

$olspassword = strip_tags($_POST['oldpassword']); 
/// code 
if($_SESSION['password']==($oldpassword)) { 

Der Codeblock

if($_SESSION['password']==($oldpassword)) 

wird immer falsch sein, weil oldpassword $ wird nie gesetzt. Sie haben einen Tippfehler hier:

$olspassword = strip_tags($_POST['oldpassword']); 

Siehe die Variable $ olpassword?

+0

oh sorry für meine Unwissenheit sehen, dass didnt, ich schon jetzt haben ändern, dass es jetzt immer sagen Passwort stimmt nicht überein, – emjhay

0
if($username&&$oldpassword&&$newpassword&&$firstname&&$lastname&&$address&&$zipcode&&$contact&`&$email) 

es machen wie

if(isset($username) && isset($oldpassword) and so on