| Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
| Autor |
Nachricht |
TheGear
Anmeldedatum: 10.12.2007 Beiträge: 7
|
|
| Nach oben |
|
 |
frameguard
Anmeldedatum: 05.03.2007 Beiträge: 117 Wohnort: Wien
|
Verfasst am: 12.12.2007, 18:44 Titel: |
|
|
Mit einer Fehlermeldung könnten wir mehr anfangen.
Also, das .PNG-Hintergrundbild ist vorhanden (hab ich gecheckt). Den Schriftpfad findet er auch, sonst käme eine Fehlermeldung.
Tja.
Im Script finde ich keinen Fipptehler, ich muß gestehen, ich bin überfragt, wo der Fehler sein könnte.  |
|
| Nach oben |
|
 |
TheGear
Anmeldedatum: 10.12.2007 Beiträge: 7
|
Verfasst am: 12.12.2007, 20:15 Titel: |
|
|
Ich gehe davon aus das, dass problem an den eigenen Schriftarten liegt.
Aber trotzdem danke für deine bemühungen, finde es echt klasse das wenigstens einer noch hilft hier ^^ |
|
| Nach oben |
|
 |
frameguard
Anmeldedatum: 05.03.2007 Beiträge: 117 Wohnort: Wien
|
Verfasst am: 12.12.2007, 20:43 Titel: |
|
|
Tja, ich hab die Zeit nicht mehr so, sonst würde ich mich mehr drum kümmern, immerhin bin ich mod. Aber gottlob dauert dieser ****-Kurs nur noch ungefähr eine Woche (einen EDV-Pro in einen ECDL-Kurs stecken, nur damit ich mich nicht selbständig machen kann, DAS fällt nur dem Arbeitsamt ein...). Nach Weihnachten sollte ich eigentlich wieder voll da sein - sofern die Ski Challenge '08 das zuläßt, that is.  |
|
| Nach oben |
|
 |
Steef389
Anmeldedatum: 20.06.2007 Beiträge: 57
|
Verfasst am: 16.12.2007, 13:35 Titel: |
|
|
Also, die Fehlermeldung auf diesem Server (http://thegear.de/cap/) ist:
Code:Warning: imagettftext(): Could not find/open font in /var/www/s23b224/html/cap/captcha/captcha.php on line 32
Meiner Meinung nach solltest du mal den Schriftpfad überprüfen und auf Groß- und Kleinschreibung achten. |
|
| Nach oben |
|
 |
TheGear
Anmeldedatum: 10.12.2007 Beiträge: 7
|
Verfasst am: 29.12.2007, 21:00 Titel: |
|
|
Danke, aber das ist alles korrekt, sonst würde es ja auch Lokal nicht laufen  |
|
| Nach oben |
|
 |
patEwing
Anmeldedatum: 04.02.2008 Beiträge: 9
|
Verfasst am: 04.02.2008, 00:52 Titel: |
|
|
Ich hätte mal eine Frage zum Script-Einbau im (gemischt)-Tutorial: Was habe ich mir unter "ursprüngliches Script" vorzustellen. Ich habe noch nicht so viel Ahnung von php, aber was ich weiß ist doch, das ich immer erst ein tag zumachen muss, bevor ich das nächste aufmachen kann. wo genaui trage ich den ersten Teil ein, was folgt dann und wann schließe ich es? Die Farben im Tutorial deuten ja bereits darauf hin, das
Code:<?php
nicht aktiv ist. Dann wird mir aber immer eine Fehlermeldung ausgewurfen. Was muss ich am "ursprünglichen Script" noch verändern? Bis zum Einbau ins Script lief alles bestens, aber jetzt komme ich nicht weiter. Vielleicht hilft ja ein-Code-Sample:
Code:
<?php
function url2link($text, $target = "_blank", $maxchars = 25, $leftchars = 20, $rightchars = 5, $fill = "...") {
return preg_replace("!((http|https|ftp)://[\w\.]{2,}[/\w\-\.\?\&\=\#\:]*[/\w\-\?\&\=\#\:]{1,})!e",
"'<a href=\"\\1\" target=\"$target\" title=\"\\1\">'
.(strlen('\\1')>=$maxchars ? substr('\\1',0,$leftchars).'$fill'.substr('\\1',strlen('\\1')-$rightchars,$rightchars):'\\1').'</a>'", $text);
}
echo url2link($thetext)
?>
<?php require_once('../../Connections/testverbindung.php'); ?>
<?php
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
mysql_select_db($database_testverbindung, $testverbindung);
$Result1 = mysql_query($insertSQL, $testverbindung) or die(mysql_error());
$insertGoTo = "../the_blogs/stefan.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_testverbindung, $testverbindung);
$query_stefan_guestbook = "SELECT * FROM guestbook ORDER BY ID DESC";
$stefan_guestbook = mysql_query($query_stefan_guestbook, $testverbindung) or die(mysql_error());
$row_stefan_guestbook = mysql_fetch_assoc($stefan_guestbook);
$totalRows_stefan_guestbook = mysql_num_rows($stefan_guestbook);
mysql_select_db($database_testverbindung, $testverbindung);
$query_links = "SELECT * FROM links ORDER BY links ASC";
$links = mysql_query($query_links, $testverbindung) or die(mysql_error());
$row_links = mysql_fetch_assoc($links);
$totalRows_links = mysql_num_rows($links);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><!-- InstanceBegin template="/Templates/master.dwt" codeOutsideHTMLIsLocked="false" -->
<head><meta name="Keywords" content="blogs deR_onny Halle/Saale Halle (Saale) Webdesign Web Design Academic Texts Papers " />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>slick visual poetry</title>
<script type="text/javascript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>
<meta name="Keywords" content="Halle Saale Halle/Saale (Saale) Webdesign Web Design Blog" />
<link href="../../svp.css" rel="stylesheet" type="text/css" />
<style type="text/css">
<!--
#blende_links {
position:absolute;
left:848px;
top:557px;
width:221px;
height:17px;
z-index:501;
background-color: #FFFFFF;
}
.Stil4 {font-size: 12}
.Stil5 {font-size: 12px}
-->
</style>
</head>
<body onload="MM_preloadImages('../pics/blogs_hover.png')">
<div id="navigation">
<p class="Stil5"><span class="Stil2"><a href="../../index.php" target="_self" class="Stil17" onmouseover="MM_swapImage('Image12','','../pics/blogs_hover.png',1)" onmouseout="MM_swapImgRestore()">home<br />
</a><a href="../academic/academic_texts.php" target="_self" class="Stil17" onmouseover="MM_swapImage('Image7','','../pics/studies_hover.png',1)" onmouseout="MM_swapImgRestore()">academic texts<br />
</a><a href="../admin_surface/log_in.php" target="_self" onmouseover="MM_swapImage('Image11','','../pics/member_hover.png',1)" onmouseout="MM_swapImgRestore()">members' login<br />
</a><a href="../portfolio.html" target="_blank">portfolio <br />
</a><a href="../youtubes.php" target="_self">favourite youTubes<br />
</a></span><a href="../music/slick-visual-music.html" target="_self" class="Stil2">music<br />
</a><a href="../disclaimer.php" target="_self" class="Stil2">disclaimer</a></p>
</div>
<div id="blende_links"></div>
<p> </p>
<div class="Stil23" id="link_header">
<p class="Stil25">hyperlinks 2 love <br />
<span class="Stil4"><br />
We hope you will like he following links: </span></p>
</div>
<p> </p>
<div id="nfo"><!-- InstanceBeginEditable name="entry" --><a href="#" onmouseout="MM_swapImgRestore()" onmouseover="MM_swapImage('Image13','','../pics/ronnys_blog_hover.png',1)"></a>
<p style="font-size: 14px; font-family: Geneva, Arial, Helvetica, sans-serif; color: #E0DFE3"><a href="../the_blogs/ronny.php" target="_self" style="font-weight: bold">ronny's blog</a></p>
<p style="font-size: 14px; font-family: Geneva, Arial, Helvetica, sans-serif; color: #E0DFE3"><a href="../the_blogs/stefan.php" target="_self" style="font-weight: bold">stefan's blog</a></p>
<!-- InstanceEndEditable -->
<p><span class="Stil17"><span class="Stil25 Stil20"><strong>designed for:</strong></span><br />
</span><a href="http://www.opera.com/download/" target="_blank"><img src="../pics/opera.png" alt="opera" width="30" height="30" /></a><a href="http://filehippo.com/download_firefox/" target="_blank"> <img src="../pics/firefox.png" alt="firefox" width="30" height="30" /><br />
</a><span class="Stil17"><span class="Stil18"><span class="Stil22"><br />
<span class="Stil25"><strong>visitors:</strong></span></span><br />
</span><a href="http://www.blogcounter.de/" id="bclink" title="kostenloser Counter fuer Weblogs"><span id="bccount" style="font-size:8px">kostenloser Counter</span></a></span>
<script type="text/javascript" src="http://track.blogcounter.de/js.php?user=bloggin_till_infinity&style=1"></script>
</p>
</div>
<div id="header"><!-- InstanceBeginEditable name="what" --><span style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 36px; font-weight: bold"><span style="color: #996633">l</span>eave <span style="color: #996633">a</span> <span style="color: #996633">r</span>emark </span><!-- InstanceEndEditable --></div>
<div id="content"><!-- InstanceBeginEditable name="content" -->
<div id="in_content">
<p> </p>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table align="left">
<tr valign="baseline">
<td nowrap="nowrap" align="right">name:</td>
<td><input type="text" name="name" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="top">entry:</td>
<td><textarea name="entry" cols="30" rows="5"></textarea> </td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">email:</td>
<td><input type="text" name="email" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">hompage:</td>
<td><input type="text" name="hompage" value="http://" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">password</td>
<td><input type="text" name="sicherheitscode" size="5"></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><img src="../../captcha/captcha.php" alt="captcha" border="0" title="Sicherheitscode" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><input name="submit" type="submit" value="Datensatz einfügen" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>
<p> </p>
</div>
<!-- InstanceEndEditable --></div>
<div id="what"><!-- InstanceBeginEditable name="what_is_it?" --><span style="font-family: Geneva, Arial, Helvetica, sans-serif; font-size: 16px; font-weight: bold; color: #666666">back to:</span> <!-- InstanceEndEditable --></div>
<div id="hyperlinks"><!-- InstanceBeginEditable name="gals" -->
<table border="0">
<?php do { ?>
<tr>
<td><?php echo url2link ($row_links['links']); ?></td>
</tr>
<?php } while ($row_links = mysql_fetch_assoc($links)); ?>
</table>
<!-- InstanceEndEditable --></div>
</body>
<!-- InstanceEnd --></html>
<?php
mysql_free_result($stefan_guestbook);
mysql_free_result($links);
?>
Wo sollte ich die beiden Teile hinsetzen? |
|
| Nach oben |
|
 |
frameguard
Anmeldedatum: 05.03.2007 Beiträge: 117 Wohnort: Wien
|
Verfasst am: 04.02.2008, 01:07 Titel: |
|
|
Der eine Script, captcha.php, ist eigenständig und wird als <img src="..."> eingebunden. Du hast den, so weit ich sehe, vollkommen korrekt eingebunden.
Schwieriger wird die Auswertung, also der zweite Teil.
Dein Script beginnt mit <? php.
An die Zeile hängst Du ein session_start(); an:
Code:
<? php session_start();
Dann folgt (direkt danach):
Code: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["sicherheitscode"], '8t3479u97'); // key sollte ident sein mit captcha.php
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
Und jetzt gerate ich in Schwierigkeiten, weil ich bei MySQL zusammen mit PHP immer ins Schwimmen gerate. Du solltest den Teil suchen, in dem die Eingabe ins Formular verarbeitet wird, und dort fügst Du die Zeilen ein:
Code:if(isset($_SESSION['captcha_spam']) && $sicherheits_eingabe == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);
}
else
{
die("Falscher Sicherheitscode!");
}
Information ohne Gewähr, erstens ist 2 Uhr früh , und zweitens - wie gesagt, mit der Verbindung von MySQL und PHP habe ich nach wie vor so meine Schwierigkeiten.  |
|
| Nach oben |
|
 |
patEwing
Anmeldedatum: 04.02.2008 Beiträge: 9
|
Verfasst am: 04.02.2008, 21:17 Titel: |
|
|
Ich habe jetzt den Code oben eingebunden und bekomme schon mal keine Fehlermeldung, was ich als erfolg werte. Nun habe ich versucht den "if ... else"-Teil an diversen Stellen einzubinden und habe dabei drei möglichen Effekte erzielt.
1.) Gleich nur die Anzeige "falscher Sicherheitscode"
2.)kein Unterschied egal ob Code eingegeben wird oder nicht (Eintrag ins GB erfolgt immer)
3.) Anzeige "falscher Sicherheitscode" auch wenn der korrekte Code eingegeben wurde. EDIT: Eintrag erfolgt trotzdem.
Ich reiß mir bald die Haare aus. |
|
| Nach oben |
|
 |
frameguard
Anmeldedatum: 05.03.2007 Beiträge: 117 Wohnort: Wien
|
Verfasst am: 04.02.2008, 22:02 Titel: |
|
|
| Welche Stellen waren das genau, und welche Variante führte zu welcher Fehlermeldung? |
|
| Nach oben |
|
 |
patEwing
Anmeldedatum: 04.02.2008 Beiträge: 9
|
Verfasst am: 05.02.2008, 11:20 Titel: |
|
|
"session_start();" habe ich an das <? php ; nach dem Verbidungaufbau anghängt. Und nun zu den Fehlern:
Ich stelle mal den gesamten Code ein und schreibe den jeweils auftretenden Effekt (nach und nach) als Kommentar an der jeweiligen Stelle daneben.
<?php
function url2link($text, $target = "_blank", $maxchars = 25, $leftchars = 20, $rightchars = 5, $fill = "...") {
return preg_replace("!((http|https|ftp)://[\w\.]{2,}[/\w\-\.\?\&\=\#\:]*[/\w\-\?\&\=\#\:]{1,})!e",
"'<a href=\"\\1\" target=\"$target\" title=\"\\1\">'
.(strlen('\\1')>=$maxchars ? substr('\\1',0,$leftchars).'$fill'.substr('\\1',strlen('\\1')-$rightchars,$rightchars):'\\1').'</a>'", $text);
}
echo url2link($thetext)
?>
<?php require_once('../../Connections/testverbindung.php'); ?>
<?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["sicherheitscode"], '8t3479u97'); // key sollte ident sein mit captcha.php
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
// nach Eingabe von richtigem/falschen Sicherheitscode stets Anzeige "falscher Sicherheitscode", kein Eintrag ins GB
return $theValue;
}
//"falscher Sicherheitscode" läd sofort
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}// sofortige Meldung: falscher Sicherheitscode bei Seitenvorschau
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
mysql_select_db($database_testverbindung, $testverbindung);
$Result1 = mysql_query($insertSQL, $testverbindung) or die(mysql_error());
$insertGoTo = "../the_blogs/stefan.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
// "falscher Sicherheitscode" wird angezeigt, aber Eintragung erfolgt trotzdem (auch ohne code)
header(sprintf("Location: %s", $insertGoTo));
}
//"falscher Sicherheitscode" läd als erstes bei Seitenvorschau
mysql_select_db($database_testverbindung, $testverbindung);
$query_stefan_guestbook = "SELECT * FROM guestbook ORDER BY ID DESC";
$stefan_guestbook = mysql_query($query_stefan_guestbook, $testverbindung) or die(mysql_error());
$row_stefan_guestbook = mysql_fetch_assoc($stefan_guestbook);
$totalRows_stefan_guestbook = mysql_num_rows($stefan_guestbook);
// auch wenn es unwahrscheinlich schien habe ich es auch mal hier versucht. Auch ohne Erfolg:es wurde gleich bei Voschau "falscher Sicherheitscode" angezeigt.
mysql_select_db($database_testverbindung, $testverbindung);
$query_links = "SELECT * FROM links ORDER BY links ASC";
$links = mysql_query($query_links, $testverbindung) or die(mysql_error());
$row_links = mysql_fetch_assoc($links);
$totalRows_links = mysql_num_rows($links);
?>
Zuletzt bearbeitet von patEwing am 05.02.2008, 14:28, insgesamt 3-mal bearbeitet |
|
| Nach oben |
|
 |
frameguard
Anmeldedatum: 05.03.2007 Beiträge: 117 Wohnort: Wien
|
Verfasst am: 05.02.2008, 12:58 Titel: |
|
|
Eine Möglichkeit fällt mir dazu noch ein. Im Codeteil:
Zitat:$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
könntest Du das IF vom Captcha direkt zwischen die beiden If's setzen:
Zitat:$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if(isset($_SESSION['captcha_spam']) && $sicherheits_eingabe == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);
}
else
{
die("Falscher Sicherheitscode!");
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
|
|
| Nach oben |
|
 |
patEwing
Anmeldedatum: 04.02.2008 Beiträge: 9
|
Verfasst am: 05.02.2008, 13:36 Titel: |
|
|
frameguard hat Folgendes geschrieben:Eine Möglichkeit fällt mir dazu noch ein. Im Codeteil:
Zitat:$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
könntest Du das IF vom Captcha direkt zwischen die beiden If's setzen:
Zitat:$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if(isset($_SESSION['captcha_spam']) && $sicherheits_eingabe == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);
}
else
{
die("Falscher Sicherheitscode!"); // sofortige Meldung: falscher Sicherheitscode bei Seitenvorschau
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
Leider nicht. Ich gehe mal weiter alle Kombinationen durch und trage die Ergebnisse oberhalb ein. Vielleicht fällt ja noch jemandem etwas auf.
Ich habe auch schon überlegt, ob es daran liegen kann, dass ich die GD-Librarty nicht installiert habe. Aber dann würde das captcha doch erst gar nicht angezeigt werden. Deshalb gehe ich mal davon aus, dass es bei xampp schon mit dabei war. Oder etwa nicht? |
|
| Nach oben |
|
 |
Steef389
Anmeldedatum: 20.06.2007 Beiträge: 57
|
Verfasst am: 07.02.2008, 13:31 Titel: |
|
|
Wenn ich das richtig sehe, ist das eine Datei:
Code:<?php
function url2link($text, $target = "_blank", $maxchars = 25, $leftchars = 20, $rightchars = 5, $fill = "...") {
return preg_replace("!((http|https|ftp)://[\w\.]{2,}[/\w\-\.\?\&\=\#\:]*[/\w\-\?\&\=\#\:]{1,})!e",
"'<a href=\"\\1\" target=\"$target\" title=\"\\1\">'
.(strlen('\\1')>=$maxchars ? substr('\\1',0,$leftchars).'$fill'.substr('\\1',strlen('\\1')-$rightchars,$rightchars):'\\1').'</a>'", $text);
}
echo url2link($thetext)
?>
<?php require_once('../../Connections/testverbindung.php'); ?>
<?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["sicherheitscode"], '8t3479u97'); // key sollte ident sein mit captcha.php
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
// nach Eingabe von richtigem/falschen Sicherheitscode stets Anzeige "falscher Sicherheitscode", kein Eintrag ins GB
return $theValue;
}
//"falscher Sicherheitscode" läd sofort
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}// sofortige Meldung: falscher Sicherheitscode bei Seitenvorschau
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
mysql_select_db($database_testverbindung, $testverbindung);
$Result1 = mysql_query($insertSQL, $testverbindung) or die(mysql_error());
$insertGoTo = "../the_blogs/stefan.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
// "falscher Sicherheitscode" wird angezeigt, aber Eintragung erfolgt trotzdem (auch ohne code)
header(sprintf("Location: %s", $insertGoTo));
}
//"falscher Sicherheitscode" läd als erstes bei Seitenvorschau
mysql_select_db($database_testverbindung, $testverbindung);
$query_stefan_guestbook = "SELECT * FROM guestbook ORDER BY ID DESC";
$stefan_guestbook = mysql_query($query_stefan_guestbook, $testverbindung) or die(mysql_error());
$row_stefan_guestbook = mysql_fetch_assoc($stefan_guestbook);
$totalRows_stefan_guestbook = mysql_num_rows($stefan_guestbook);
// auch wenn es unwahrscheinlich schien habe ich es auch mal hier versucht. Auch ohne Erfolg:es wurde gleich bei Voschau "falscher Sicherheitscode" angezeigt.
mysql_select_db($database_testverbindung, $testverbindung);
$query_links = "SELECT * FROM links ORDER BY links ASC";
$links = mysql_query($query_links, $testverbindung) or die(mysql_error());
$row_links = mysql_fetch_assoc($links);
$totalRows_links = mysql_num_rows($links);
?>
Dann muss aber das session_satrt(); direkt hinter das erste <?php. Da wo du es hast, kann es gar nicht funktionieren, da davor eine Ausgabe ist (echo url2link($thetext) ). Eigentlich müsste sogar der Fehler "headers already sent" kommen.
Was uns auch helfen könnte, wären die (eventuell) vorhanden PHP-Fehler. (mit error_reporting(E_ALL);)
also müsste deine Datei jetzt so anfangen:
Code:<?php
session_start();
error_reporting(E_ALL);
function [...]
Schreib mal, ob PHP irgenwelche fehler ausgibt. |
|
| Nach oben |
|
 |
patEwing
Anmeldedatum: 04.02.2008 Beiträge: 9
|
Verfasst am: 07.02.2008, 17:50 Titel: |
|
|
Interessante neu Entwicklung. Erst mal danke für den Tipp mit dem der "link-function". Ich habe sie erst mal zur Vereinfachung herausgenommen.
mit dem Code habe ich nun folgendes gemacht:
<?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["sicherheitscode"], '8t3479u97'); // key sollte ident sein mit captcha.php
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
error_reporting(E_ALL);
?>
<?php require_once('../../Connections/testverbindung.php'); ?><?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
if(isset($_SESSION['captcha_spam']) && $sicherheits_eingabe == $_SESSION['captcha_spam'])
{
unset($_SESSION['captcha_spam']);
}
else
{
die("Falscher Sicherheitscode!");
} // Interssanterweise wird nur an dieser Stelle beim Abschicken des Formulars die Fehlermeldung: "Notice: Undefined variable: sicherheits_eingabe in C:\Dokumente und Einstellungen\Stefan\Eigene Dateien\websites\wwwroot\test\guestbook\write_guestbook.php on line 71
+ Falscher Sicherheitscode!" angezeigt Dabei dächte ich doch, dass die Variable "sicherheitsangabe oben definiert wurde??? An allen anderen Stellen bleibt alles beim Alten: Die Anzeige "falscher Sicherheitscode" läd sofort beim Versuch der Seitenvorschau. Hilft das weiter?
return $theValue;}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO guestbook (name, entry, email, hompage) VALUES (%s, %s, %s, %s)",
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['entry'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['hompage'], "text"));
mysql_select_db($database_testverbindung, $testverbindung);
$Result1 = mysql_query($insertSQL, $testverbindung) or die(mysql_error());
$insertGoTo = "../the_blogs/stefan.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
mysql_select_db($database_testverbindung, $testverbindung);
$query_stefan_guestbook = "SELECT * FROM guestbook ORDER BY ID DESC";
$stefan_guestbook = mysql_query($query_stefan_guestbook, $testverbindung) or die(mysql_error());
$row_stefan_guestbook = mysql_fetch_assoc($stefan_guestbook);
$totalRows_stefan_guestbook = mysql_num_rows($stefan_guestbook);
mysql_select_db($database_testverbindung, $testverbindung);
$query_links = "SELECT * FROM links ORDER BY links ASC";
$links = mysql_query($query_links, $testverbindung) or die(mysql_error());
$row_links = mysql_fetch_assoc($links);
$totalRows_links = mysql_num_rows($links);
?>
p.s.: wenn ich die Fehleranzeige herausnehme ist wieder alles beim Alten: Nach Abschicken des Formulars wird "falscher Sicherheitscode" angezeigt. Ich weiss ich habe das schon mal gefragt, aber kann das was mit der GD-Library zu tun haben? |
|
| Nach oben |
|
 |
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. You can attach files in this forum You can download files in this forum
|
|