Hallo an alle. Habe ein Problem und weiß nach 7 Std. grübeln einfach nicht mehr weiter. Im folgenden Skript möchte ich es den usern ermöglichen, ihre Beiträge wieder zu löschen nachdem sie ein Username und Passwort eingegeben haben. Um zu verhindern,dass user mmit mehreren Beiträgen gleich alle ihre Beiträge löschen erfolgt die WHERE Bedingung in der in der DELETE - Anweisung mit Hilfe der wg_id und nicht mit dem user_name. Die wg_id wird mittels URL von der vorigen Seite mitgeliefert. Leider kann in der DELETE Anweisung die Variable $wg_id nicht mehr erkannt werden (ist wie nicht vorhanden). Über die URL wir sie aber korrekt geliefert (hab sie mal probeweise mit echo ausgegeben - hat funktioniert). Erst nach der Zeile
if ( isset( $aktion ) && $aktion == "login" )
ist sie wie vom Erdboden verschwunden???????????????
Da ich wirklich nicht mehr weiter weiß, hoffe ich das einer von euch mir helfen kann.
Ich wäre euch riesig dankbar!!!!!!!!!!!!!!
<?php
global $wg_id;
$link;
connectToDB();
function connectToDB()
{
global $link;
global $wg_id;
$link = mysql_connect( "localhost", "root", "data#14" );
if ( ! $link )
die( "Keine Verbindung zu MySQL" );
mysql_select_db( "wohnung", $link )
or die ( "Konnte wginserate nicht öffnen: ".mysql_error() );
}
if ( isset( $aktion ) && $aktion == "login" )
{
if ( empty( $form[user_name] ) || empty( $form[passwort] ) )
$nachricht .= "Sie müssen alle Felder ausfüllen<br>\n";
elseif ( ! ( $ds = ueberpruefePasswort( $form[user_name], $form[passwort] ) ) )
$nachricht .= "Falsches Passwort, versuchen Sie es nochmal<br>\n";
if ( $nachricht == "" ) // kein Fehler
{
mysql_query( "DELETE FROM wginserate WHERE wg_id='$wg_id'",
$link );
echo "<font color='#000099'>$wg_id</font>";
exit;
}
}
function ueberpruefePasswort( $user_name, $passwort )
{
global $link;
$ergebnis = mysql_query( "SELECT user_name, passwort
FROM wginserate
WHERE user_name='$user_name' and passwort='$passwort'",
$link );
if ( ! $ergebnis )
die ( "ueberpruefePasswort fatal error: ".mysql_error() );
if ( mysql_num_rows( $ergebnis ) )
return mysql_fetch_array( $ergebnis );
return false;
}
?>
<html>
<head>
<title>Anmeldung</title>
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<?php
include("publicnav.inc");
?>
<h1>Anmeldung</h1>
<?php
if ( $nachricht != "" )
{
print "<p><b>$nachricht</b></P>";
}
?>
<p>
<form action="<?php print $PHP_SELF;?>">
<input type="hidden" name="aktion" value="login">
</p><p>
Login: <br>
<input type="text" name="form[user_name]"
value="<?php print $form[user_name]?>">
</p><p>
Passwort: <br>
<input type="passwort" name="form[passwort]" value="">
</p><p>
<input type="submit" value="Anmelden">
</form>
</body>
</html>
if ( isset( $aktion ) && $aktion == "login" )
ist sie wie vom Erdboden verschwunden???????????????
Da ich wirklich nicht mehr weiter weiß, hoffe ich das einer von euch mir helfen kann.
Ich wäre euch riesig dankbar!!!!!!!!!!!!!!
<?php
global $wg_id;
$link;
connectToDB();
function connectToDB()
{
global $link;
global $wg_id;
$link = mysql_connect( "localhost", "root", "data#14" );
if ( ! $link )
die( "Keine Verbindung zu MySQL" );
mysql_select_db( "wohnung", $link )
or die ( "Konnte wginserate nicht öffnen: ".mysql_error() );
}
if ( isset( $aktion ) && $aktion == "login" )
{
if ( empty( $form[user_name] ) || empty( $form[passwort] ) )
$nachricht .= "Sie müssen alle Felder ausfüllen<br>\n";
elseif ( ! ( $ds = ueberpruefePasswort( $form[user_name], $form[passwort] ) ) )
$nachricht .= "Falsches Passwort, versuchen Sie es nochmal<br>\n";
if ( $nachricht == "" ) // kein Fehler
{
mysql_query( "DELETE FROM wginserate WHERE wg_id='$wg_id'",
$link );
echo "<font color='#000099'>$wg_id</font>";
exit;
}
}
function ueberpruefePasswort( $user_name, $passwort )
{
global $link;
$ergebnis = mysql_query( "SELECT user_name, passwort
FROM wginserate
WHERE user_name='$user_name' and passwort='$passwort'",
$link );
if ( ! $ergebnis )
die ( "ueberpruefePasswort fatal error: ".mysql_error() );
if ( mysql_num_rows( $ergebnis ) )
return mysql_fetch_array( $ergebnis );
return false;
}
?>
<html>
<head>
<title>Anmeldung</title>
</head>
<BODY BGCOLOR="#FFFFFF" style="font-family: verdana, helvetica, arial" topmargin="0" leftmargin="0" vlink="#0000FF" alink="#0000FF" link="#0000FF">
<?php
include("publicnav.inc");
?>
<h1>Anmeldung</h1>
<?php
if ( $nachricht != "" )
{
print "<p><b>$nachricht</b></P>";
}
?>
<p>
<form action="<?php print $PHP_SELF;?>">
<input type="hidden" name="aktion" value="login">
</p><p>
Login: <br>
<input type="text" name="form[user_name]"
value="<?php print $form[user_name]?>">
</p><p>
Passwort: <br>
<input type="passwort" name="form[passwort]" value="">
</p><p>
<input type="submit" value="Anmelden">
</form>
</body>
</html>
Kommentar