Ich bin grad echt am verzeifeln. Ich habe folgendes Script
Leider liefert mir dieses, nur den Wert 0 in die Variable kndNr
WEnn ich oben bei der Definition, den Wert 0 weglassen, setzt er gar nichts
Kann mir jemand helfen?
PHP:
<?php
class kunde
{
public $kndNr=0;
public $dbh;
public function __construct(&$dbh)
{
if(is_object($dbh) && ($dbh instanceof PDO))
$this->dbh=$dbh;
else
$this->kndNr=time();
if(isset($_SESSION['kunde']))
{
$this->kndNr=$_SESSION['kunde'];
}
}
public function __destruct()
{
#print "Im Deskrutor";
$_SESSION['kunde'] = $this->kndNr;
}
public function getKundenNummer()
{
return $this->kndNr=$_SESSION['kunde'];
}
public function setKundenNummer($kennung, $passwort)
{
$this->kndNr=0;
if(!empty($kennung) && !empty($passwort))
{
try
{
$sql="SELECT k_kundennummer
FROM ws_kunden
WHERE k_kennung=:kennung
AND k_passwort=:passwort";
$result=$this->dbh->prepare($sql);
$result->bindParam(':kennung', $kennung, PDO::PARAM_STR, 20);
$result->bindParam(':passwort', $passwort, PDO::PARAM_STR, 32);
$result->execute();
$tmp=$result->fetchAll();
if(isset($tmp[0]['k_kundennummer']) && !empty($tmp[0]['k_kundennummer']))
{
$this->kndNr=(integer)$tmp[0]['k_kundennummer'];
}
$_SESSION['kunde']=$this->kndNr;
return $this->kndNr;
}
catch (Exception $e)
{
echo $e->getMessage();
}
}
}
public function setKundenDaten($daten)
{
if(!is_array($daten)) return false;
try
{
$sql="INSERT INTO ws_kunden (k_name, k_vorname, k_plz, k_ort, k_strasse, k_email, k_passwort, k_kennung)
VALUES(:name,:vorname,:plz,:ort,:strasse,:email,:passwort,:kennung)";
$result=$this->dbh->prepare($sql);
$result->bindParam(':name', $daten['name'], PDO::PARAM_STR,30);
$result->bindParam(':vorname', $daten['vorname'], PDO::PARAM_STR,30);
$result->bindParam(':plz', $daten['plz'], PDO::PARAM_STR,6);
$result->bindParam(':ort', $daten['ort'], PDO::PARAM_STR,20);
$result->bindParam(':strasse', $daten['strasse'], PDO::PARAM_STR,30);
$result->bindParam(':email', $daten['email'], PDO::PARAM_STR,30);
$result->bindParam(':passwort', $daten['passwort'], PDO::PARAM_STR,32);
$result->bindParam(':kennung', $daten['kennung'], PDO::PARAM_STR,20);
$result->execute();
if($result->rowCount()==1)
{
print"Datensatz wurde eingetragen";
return true;
}
else
return false;
}
catch (PDOException $e)
{
echo $e->getMessage();
}
}
}
?>
Leider liefert mir dieses, nur den Wert 0 in die Variable kndNr
WEnn ich oben bei der Definition, den Wert 0 weglassen, setzt er gar nichts
Kann mir jemand helfen?