hello i am in need of some dire php help and i was wondering what was wrong with my code? at first it didnt show the middle statement then later i got some Fatal error: Call to a member function fetch() on a non-object? i dont know what could be wrong
[php]<?php
function displayRequired($fieldName) {
echo “Pls fill in “$fieldName”.
\n”;
}
function validateInput($data, $fieldName) {
global $errorCount;
if (empty($data)) {
displayRequired($fieldName);
++$errorCount;
$retval = “”;
}
else {
$retval = trim($data);
$retval = stripslashes($retval);
}
return($retval);
}
function validateDB($id, $password){
$dbh=new PDO(‘mysql:host=localhost;dbname=db1’,‘root’,‘student’);
$sql= “SELECT * FROM members WHERE id=’$id’ AND pw= ‘$password’”;
$result = $dbh->query($sql);
$row = $result->fetch();
if (!empty($row)){
return true;
}
else{
return false;
}
}
function redisplayForm($id, $password) {
$id=$_COOKIE[‘id’];
if ($id==null){$id="";}
?>
<form action = "6-3aa.php" method="post">
ID:<input type="text" name="id" value="<?php echo $id; ?>" /><br />
Password: <input type="password" name="pwd" value="<?php echo $password; ?>" /><br />
Remember Me:<input type="checkbox" name="rm" value="rm" /><br />
<input type="submit" name="Submit"value="Login" />
</form>
<?php
}
if(isset($_POST[“Submit”])){
$errorCount=0;
$id = validateInput($_POST[‘id’], “User name”);
$password = validateInput($_POST[‘pwd’], “Password”);
if($errorCount > 0){
echo "Please re-enter the information";
redisplayform($id, $password );
}else{
validateDB($id, $password);
if($_POST['rm']){
setcookie('id', $id, time()+3600);
echo "Login Valid and Cookie Set. <a href='6-3aa.php'>Back to login page</a>";
}elseif(validateDB($id, $password) && !$_POST['login']){
echo "Login Valid and No Cookie Saved <a href='6-3aa.php'>Back to login page</a>";
}else{
echo "Login Failed and No cookie. <a href='6-3aa.php'>Back to login page</a>";
}
}
}
else {
redisplayform($id, $password);
}
?>[/php]