 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, Deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
23.03.2003, 17:40
|
#1
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
& [MySql] Gästebuch - Problem mit Überprüfung
hi leute!
heute war ein gästebuch skript an der reihe. bis jetzt hat auch alles gut funktioniert. allerdings checkt der nicht ordentlich die email addresse. da scheint es irgenteinen fehler zu geben. könnt ihr mal eben schauen?
danke,
Markus
PHP-Code:
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css" >
</head>
<body>
<?
function email_check($email_addresse)
{
if( ereg
("^[a-zA-Z0-9-]+(\.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+\.([a-zA-Z]{2,3})$",
$email_addresse) )
{
return "true";
}
else
{
return "false";
}
}
// Verbindung wird aufgebaut
include ("../verbind.php");
// Falls schon was im Formular stand
if (isset($_REQUEST['submit']))
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$icq=$_REQUEST['icq'];
$web=$_REQUEST['web'];
$kommentar=$_REQUEST['kommentar'];
$datum=date(d.".".m.".".Y." - ".H.":".i);
// HTML wird verboten, BB Codes
$kommentar = str_replace ("[b]","<b>",$kommentar);
$kommentar = str_replace ("[/b]","</b>",$kommentar);
$kommentar = str_replace ("[i]","<i>",$kommentar);
$kommentar = str_replace ("[/i]","</i>",$kommentar);
$kommentar = str_replace ("[u]","<u>",$kommentar);
$kommentar = str_replace ("[/u]","</u>",$kommentar);
$kommentar = str_replace ("<","<",$kommentar);
$kommentar = str_replace (">",">",$kommentar);
$email_checker=email_check($email);
if($email_checker)
{
$insert=mysql_query("INSERT INTO eintraege (datum,name, email, icq,web,kommentar) VALUES('$datum','$name','$email','$icq','$web','$kommentar')");
if ($insert)
{
echo "<b>Daten erfolgreich hinzugefügt:</b><br>
Name: $name<br>
Email: $email<br>
ICQ: $icq<br>
Web: $web<br>
Kommentar: $kommentar<br>";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
else
{
echo "Fehler beim hinzufügen der Daten.\n<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
}
else
{
echo "Die Email Addresse ist ungültig";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
}
// Wenn noch nichts im Formular stand
else{
$select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
if ($select and mysql_num_rows($select)!=0)
{
while ($row=mysql_fetch_array($select))
{
$kommentar=ereg_replace("(\r\n|\n|\r)", "<br>", $row['kommentar']);
echo "
<center>
<table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
<tr>
<td><a href=\"mailto:".$row['email']."\">".$row['name']."</a></td>
<td><div align=\"right\"><p>".$row['datum']."</div></p></td>
</tr>
<tr>
<td colspan=\"2\"><p>".$kommentar."</p></td>
</tr>
<tr>
<td><p><img src=\"http://wwp.icq.com/scripts/online.dll?icq=".$row['icq']."&img=5\" alt=\"green=online red=offline\">".$row['icq']." | <a href=\"".$row['web']."\" target=\"_blank\">Homepage</a></td>
<td><div align=\"right\"></div></p></td>
</tr>
</table>
<br>
</center>";
}
?>
<?
}
?>
<center>
<form action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr><td>Name:</td><td><input type="text" name="name"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td>Icq:</td><td><input type="text" name="icq"></td></tr>
<tr><td>Web:</td><td><input type="text" name="web"></td></tr>
<tr><td>Message:</td><td><textarea name="kommentar" rows="10" cols="50"></textarea></td></tr>
</table>
<input type="submit" value="Abschicken" name="submit">
</form>
<?
}
?>
<div align="right"><p><a href="admin/gb.php">admin</a></p></div>
</body>
</html>
|
|
|
23.03.2003, 18:10
|
#2
|
|
TP-Junior
Registriert seit: Mar 2003
Ort: Wuppertal
|
Moin Markus!
Bin zwar auch kein PHP-Fachmann, wie du weisst, und finde deswegen auch den Fehler nicht, aber vielleicht kannst du mit einem funktionierenden Code was anfangen.
PHP-Code:
if(eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}$",$email_adresse)) {
return "true";
}
else {
return "false";
}
Hab zwar nur ein Bißchen gegoogelt, aber vielleicht konnte ich dir trotzdem helfen! Vielleicht findest du ja jetzt einen Fehler, oder nimmst einfach das Script!
cu Stefan
|
|
|
23.03.2003, 18:24
|
#3
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
Cool, es funktioniert. Danke!
|
|
|
23.03.2003, 18:32
|
#4
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:23 Uhr).
|
|
|
23.03.2003, 18:33
|
#5
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:23 Uhr).
|
|
|
23.03.2003, 18:46
|
#6
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
ich hab jetzt dein regex übernommen.
ich hab jetzt noch eine variable in die if schleife eingefügt. die variable $icq soll nur zahlen enthalten und es soll auch möglich sein das gar nichts eingegeben wird. allerdings komm ich damit nicht weiter.
if((eregi(^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$",$email)) && (eregi("^[0-9]",$icq) or $icq==""))
{
// richtige angabe
}
else
{
//meldung bei falscher eingabe
}
|
|
|
23.03.2003, 18:58
|
#7
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:36 Uhr).
|
|
|
23.03.2003, 20:11
|
#8
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
ok, das mit dem icq geht...aber das mit der email nicht. kannste nochmal drüber gucken?
danke
PHP-Code:
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css" >
</head>
<body>
<?
function email_check($email_addresse)
{
if( ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$",$email_addresse) )
{
return "TRUE";
}
else
{
return "FALSE";
}
}
// Verbindung wird aufgebaut
include ("../verbind.php");
// Falls schon was im Formular stand
if (isset($_REQUEST['submit']))
{
$error = FALSE;
if(email_check($_REQUEST['email']) == FALSE) {
$error['email'] = TRUE;
}
if(is_numeric($icq) !== TRUE && $icq!="") { //ganz recht, hier braucht es kein RegEx
$error['icq'] = TRUE;
}
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$icq=$_REQUEST['icq'];
$web=$_REQUEST['web'];
$kommentar=$_REQUEST['kommentar'];
$datum=date(d.".".m.".".Y." - ".H.":".i);
// HTML wird verboten, BB Codes
$kommentar = str_replace ("[b]","<b>",$kommentar);
$kommentar = str_replace ("[/b]","</b>",$kommentar);
$kommentar = str_replace ("[i]","<i>",$kommentar);
$kommentar = str_replace ("[/i]","</i>",$kommentar);
$kommentar = str_replace ("[u]","<u>",$kommentar);
$kommentar = str_replace ("[/u]","</u>",$kommentar);
$kommentar = str_replace ("<","<",$kommentar);
$kommentar = str_replace (">",">",$kommentar);
if($error == FALSE)
$insert=mysql_query("INSERT INTO eintraege (datum,name, email, icq,web,kommentar) VALUES('$datum','$name','$email','$icq','$web','$kommentar')");
if ($insert)
{
echo "<b>Daten erfolgreich hinzugefügt:</b><br>
Name: $name<br>
Email: $email<br>
ICQ: $icq<br>
Web: $web<br>
Kommentar: $kommentar<br>";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
else
{
echo "Fehler beim hinzufügen der Daten.\n<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
}
elseif($error == TRUE)
{
echo "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
// Wenn noch nichts im Formular stand
else{
$select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
if ($select and mysql_num_rows($select)!=0)
{
while ($row=mysql_fetch_array($select))
{
$kommentar=ereg_replace("(\r\n|\n|\r)", "<br>", $row['kommentar']);
echo "
<center>
<table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
<tr>
<td><a href=\"mailto:".$row['email']."\">".$row['name']."</a></td>
<td><div align=\"right\"><p>".$row['datum']."</div></p></td>
</tr>
<tr>
<td colspan=\"2\"><p>".$kommentar."</p></td>
</tr>
<tr>
<td><p>
<img src=\"http://wwp.icq.com/scripts/online.dll?icq=".$row['icq']."&img=5\" alt=\"green=online red=offline\" height=\"18\" width=\"18\">".$row['icq']." | 
<a href=\"".$row['web']."\" target=\"_blank\">Homepage</a></td>
<td><div align=\"right\"></div></p></td>
</tr>
</table>
<br>
</center>";
}
?>
<?
}
?>
<center>
<form action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr><td>Name:</td><td><input type="text" name="name"></td></tr>
<tr><td>Email:</td><td><input type="text" name="email"></td></tr>
<tr><td>Icq:</td><td><input type="text" name="icq"></td></tr>
<tr><td>Web:</td><td><input type="text" name="web"></td></tr>
<tr><td>Message:</td><td><textarea name="kommentar" rows="10" cols="50"></textarea></td></tr>
</table>
<input type="submit" value="Abschicken" name="submit">
</form>
<?
}
?>
<div align="right"><p><a href="admin/gb.php">admin</a></p></div>
</body>
</html>
|
|
|
23.03.2003, 20:36
|
#9
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:35 Uhr).
|
|
|
23.03.2003, 21:01
|
#10
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
mmh...das problem mit der email ist aber immer noch nicht gelöst....
|
|
|
23.03.2003, 21:13
|
#11
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:35 Uhr).
|
|
|
23.03.2003, 21:15
|
#12
|
|
Registered User
Registriert seit: Feb 2002
|
.
Geändert von Radoo.de (09.09.2003 um 22:35 Uhr).
|
|
|
23.03.2003, 21:28
|
#13
|
|
TP-Senior
Registriert seit: Nov 2002
Ort: Wuppertal
|
also bei mir funktioniert es nicht.
der code ist bei mir nun wiefolgt:
PHP-Code:
<html>
<head>
<title>Gästebuch</title>
<link rel="stylesheet" href="style.css" >
</head>
<body>
<?
function email_check($email_addresse)
{
if( ereg("^[a-zA-Z0-9-]+(.[_a-zA-Z0-9]+)*@[a-zA-Z0-9-]+.([a-zA-Z]{2,6})$
",$email_addresse) )
{
return TRUE;
}
else
{
return FALSE;
}
}
// Falls schon was im Formular stand
if (isset($_REQUEST['submit']))
{
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$icq=$_REQUEST['icq'];
$web=$_REQUEST['web'];
$kommentar=$_REQUEST['kommentar'];
$datum=date(d.".".m.".".Y." - ".H.":".i);
$error='';
if(email_check($email) == FALSE) {
echo $error['email'] = TRUE;
}
if(!is_numeric($icq) OR $icq=="") {
$error['icq'] = TRUE;
}
// HTML wird verboten, BB Codes
$kommentar = str_replace ("[b]","<b>",$kommentar);
$kommentar = str_replace ("[/b]","</b>",$kommentar);
$kommentar = str_replace ("[i]","<i>",$kommentar);
$kommentar = str_replace ("[/i]","</i>",$kommentar);
$kommentar = str_replace ("[u]","<u>",$kommentar);
$kommentar = str_replace ("[/u]","</u>",$kommentar);
$kommentar = str_replace ("<","<",$kommentar);
$kommentar = str_replace (">",">",$kommentar);
if( is_array($error) )
{
echo "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
elseif( empty($error) )
{
$insert=mysql_query(" INSERT INTO eintraege (datum, name, email, icq, web, kommentar)
VALUES('$datum','$name','$email','$icq','$web','$kommentar')");
if ($insert)
{
echo "<b>Daten erfolgreich hinzugefügt:</b><br>
Name: $name<br>
Email: $email<br>
ICQ: $icq<br>
Web: $web<br>
Kommentar: $kommentar<br>";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
else
{
echo "Fehler beim hinzufügen der Daten.\n<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
}
}
elseif( is_array($error) )
{
echo "Eine deiner Angaben ist ungültig\n<br>Bitte versuche es erneut!<br>\n";
echo "<a href=\"gb.php\">zurück zur Hauptseite</a>";
}
// Wenn noch nichts im Formular stand
else{
$select=mysql_query("SELECT * from eintraege ORDER BY id DESC");
if ($select and mysql_num_rows($select)!=0)
{
while ($row=mysql_fetch_array($select))
{
$kommentar=ereg_replace("(\r\n|\n|\r)", "<br>", $row['kommentar']);
echo "
<center>
<table class=\"content\" width=\"50%\" border=\"0\" cellspacing=\"1\" cellpadding=\"1\">
<tr>
<td><a href=\"mailto:".$row['email']."\">".$row['name']."</a></td>
<td><div align=\"right\"><p>".$row['datum']."</div></p></td>
</tr>
<tr>
<td colspan=\"2\"><p>".$kommentar."</p></td>
</tr>
<tr>
<td><p>
<img src=\"http://wwp.icq.com/scripts/online.dll?icq=".$row['icq']."&img=5\" alt=\"green=online red=offline\" height=\"18\" width=\"18\">".$row['icq']." | 
<a href=\"".$row['web']."\" target=\"_blank\">Homepage</a></td>
<td><div align=\"right\"></div></p></td>
</tr>
</table>
<br>
</center>";
}
?>
<?
}
?>
<center>
<form action="<?=$_SERVER['PHP_SELF']?>">
<table>
<tr><td>Name:</td><td><i | | |