Halo zusammen
habe ein Prooblem mit der Datenbank.
Was bedeutet diese Meldung:
Es ist ein shoutbox script und ich habe nachträglich die Captcha eingebaut aber irgendwie läuft nicht richtig.
Das shout_code.php Script:
und hier die rechen_captcha.php
Wenn ich etwas hinein schreibe kommt immer die Meldung mit dem mysql_query oder mysql_fetch_object.
Wenn ich aber die Zeile 84 und 88 deaktiviere wird nur falsche Datum und Zeit angezeigt!!!
Kann mir jemand helfen???
Gruss
angeber
habe ein Prooblem mit der Datenbank.
Was bedeutet diese Meldung:
PHP-Code:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in
/home/www/web414/html/shoutbox/shout_code.php on line 84
Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in
/home/www/web414/html/shoutbox/shout_code.php on line 88
Das shout_code.php Script:
PHP-Code:
<?php session_start();
function encrypt($string, $key) { $result = '';
for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i,1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char; } return base64_encode($result); }
$sicherheits_eingabe = encrypt($_POST["captcha"], "D56sj87Ni");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe); if(isset($_SESSION['rechen_captcha_spam']) AND
$sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){ unset($_SESSION['rechen_captcha_spam']);
include("shout_config.php");
$status = 0;
$switch = 0;
if($_POST[name])
{
if($_POST[name] == "Ime" or ""){ $status = 1;}
elseif($_POST[nachricht] == "Poruka" or ""){ $status = 2;}
if($status == 0){
$sbuser = htmlentities($_POST[name], ENT_QUOTES);
$sbtext = htmlentities($_POST[nachricht], ENT_QUOTES);
mysql_real_escape_string($sbtext);
mysql_real_escape_string($sbuser);
$sbtime = mktime();
$sqlin = "INSERT INTO shout (sbtime,sbuser,sbtext) VALUES ('$sbtime','$sbuser','$sbtext')";
$sbsave = mysql_query($sqlin,$vp);
}
}
}
?>
<link rel="stylesheet" type="text/css" href="shout_style.css">
<div id="content" name="content" class="content" style="width:150px; overflow:auto; text-align:left;">
<?php
if($status == 1){echo "Upišite jedno ime<br>";}
if($status == 2){echo "Upišite jednu poruku<br>";}
if($status == 0){
$sqlin = "SELECT * FROM shout ORDER BY sbtime DESC LIMIT $text_anzahl";
$shout = mysql_query($sqlin, $vp);
echo mysql_error();
while($shout = mysql_fetch_object($shout))
{
if($switch == 0){
echo '<font class="textone">';
echo date("d.m.y/H:i", $shout->sbtime);
echo " <br><b>".$shout->sbuser.'</b><br>';
echo $shout->sbtext;
echo '</font><br><hr style="border: none 0;border-top: 1px dashed;color: #999999;">';
$switch = 1;
}else{
echo '<font class="texttwo">';
echo date("d.m.y/H:i", $shout->sbtime);
echo " <br><b>".$shout->sbuser.'</b><br>';
echo $shout->sbtext;
echo '</font><br><hr style="border: none 0;border-top: 1px dashed;color: #999999;">';
$switch = 0;
}
}
}
?>
</div>
<div style="width:150px; height:100%;">
<form method="post" action="<?PHP echo $_SERVER['PHP_SELF']; ?>">
<div height="19" align="center" style="width:145px;">
<input type="text" name="name" id="name" class="txtfeld" value="Ime" width="120" onfocus="if(this.value == 'Ime') this.value='';"
onblur="if (this.value=='') this.value='Ime';"/>
</div>
<div height="19" align="center" style="width:145px;">
<input name="nachricht" type="text" class="txtfeld" id="nachricht" width="120" onfocus="if(this.value == 'Poruka') this.value='';"
onblur="if (this.value=='') this.value='Poruka';" value="Poruka" />
</div>
<div id="captcha" style="width:145px; height:25px;"><img src="shoutbox/rechen_captcha.php">
<input type="text" class="txtfeld" width="60" name="captcha" size="5" onfocus="if(this.value == 'Zbir') this.value='';"
onblur="if (this.value=='') this.value='Zbir';" value="Zbir" /></div>
<div id="dugmad" height="19" align="center" style="width:145px;">
<input type="submit" name="absenden" id="absenden" value="Pošalji" class="button" width="60" />
<input type="reset" name="reset" id="reset" value="Poništi" class="button" width="60" /></div>
</form>
</div>
PHP-Code:
<?php session_start(); unset($_SESSION['rechen_captcha_spam']); $zahl1 = rand(10,20); //Erste Zahl 10-20
$zahl2 = rand(1,10); //Zweite Zahl 1-10
$operator = rand(1,2); // + oder - if($operator == "1"){ $operatorzeichen = " + ";
$ergebnis = $zahl1 + $zahl2; }else{
$operatorzeichen = " - ";
$ergebnis = $zahl1 - $zahl2; } function encrypt($string, $key) {
$result = ''; for($i=0; $i<strlen($string); $i++) { $char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1); $char = chr(ord($char)+ord($keychar));
$result.=$char; } return base64_encode($result); }
$_SESSION['rechen_captcha_spam'] = encrypt($ergebnis, "D56sj87Ni"); //Key
$_SESSION['rechen_captcha_spam'] = str_replace("=", "",
$_SESSION['rechen_captcha_spam']);
$rechnung =
$zahl1.$operatorzeichen.$zahl2." =";
$img = imagecreatetruecolor(80,15); $schriftfarbe = imagecolorallocate($img,255,0,0);
$hintergrund = imagecolorallocate($img,255,255,255); imagefill($img,0,0,$hintergrund); imagestring($img, 3, 2, 0,
$rechnung, $schriftfarbe); header("Content-type: image/png");
imagepng($img); imagedestroy($img); ?>
Wenn ich aber die Zeile 84 und 88 deaktiviere wird nur falsche Datum und Zeit angezeigt!!!
Kann mir jemand helfen???
Gruss
angeber
Kommentar