bei gb felder überprüfen?

kMc.iNs4nE

Grünschnabel
bin ein ziemlicher php nub, brauche aber ein gästebuch, soweit haut das bis jetzt auch hin aber ich möchte die felder überprüfen lassen, hier mal die datein:

gb_entry.php

PHP:
<?php
$time = date(time());
require_once("./gb/config.inc.php"); 
?>
<br>
<form action="index.php?action=gb_sign" method="post"> 
<table width="75%" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><b>name:</b></td>
<td>
<input type="text" name="name">
</td>
</tr>


<tr>
<td><b>email:</b></td>
<td>
<input type="text" name="email">
</td>
</tr>

<tr>
<td><b>icq:</b></td>
<td>
<input type="text" name="icq">
</td>
</tr>

<tr>
<td><b>hp:</b></td>
<td>
<input type="text" name="hp">
</td>
</tr>

<tr>
<td><b>text:</b></td>
<td>
<textarea name="text" rows="8" cols="45"></textarea>
</td>
</tr>



<tr>
<td valign="top"><b>smilies:</b></td>
<td>
<b>Klick'n'paste</b><br>
<A onClick="document.forms[0].<? echo news_text ?>.value+=':) ';"><IMG SRC="gb/smilies/smile.gif" BORDER=0></A>
<A onClick="document.forms[0].<? echo news_text ?>.value+=';) ';"><IMG SRC="gb/smilies/wink.gif" BORDER=0></A>
<A onClick="document.forms[0].<? echo news_text ?>.value+=':D ';"><IMG SRC="gb/smilies/biggrin.gif" BORDER=0></A>
<A onClick="document.forms[0].<? echo news_text ?>.value+=':lol: ';"><IMG SRC="gb/smilies/laugh.gif" BORDER=0></A>
<A onClick="document.forms[0].<? echo news_text ?>.value+='?( ';"><IMG SRC="gb/smilies/confused.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+='8) ';"><IMG SRC="gb/smilies/cool.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+=';( ';"><IMG SRC="gb/smilies/crying.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+='8o ';"><IMG SRC="gb/smilies/eek.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+=':( ';"><IMG SRC="gb/smilies/frown.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+='x( ';"><IMG SRC="gb/smilies/mad.gif" BORDER=0></A> 
<A onClick="document.forms[0].<? echo news_text ?>.value+=':P ';"><IMG SRC="gb/smilies/tongue.gif" BORDER=0></A> 
</td>
</tr>

  <tr>
    <td>&nbsp;</td>
    <td>
        <input type="submit" name="Abschicken" value="Abschicken">
        <input type="reset" name="Abschicken2" value="Zur&uuml;cksetzen">
      </td>
  </tr>
</table>

</form>
</body>
</html>

gb_sign.php

PHP:
<?php 
include("./gb/config.inc.php"); 

$time = date(time());

MYSQL_CONNECT($server, $user, $passwort) or die ( "Datenbankserver nicht erreichbar");
MYSQL_SELECT_DB($datenbank) or die ( "Datenbank nicht vorhanden"); 
$sql = "INSERT INTO $tabelle (time,name,email,icq,hp,text) 
VALUES ('$time','$name','$email','$icq','$hp','$text')";
$result = mysql_query($sql);


?>

so, das muss dann ja in die gb_sign.php noch vor mysql connect, aber was und wie genau, folgende felder möchte ich überprüfen:

name: ob eingetragen
email: ob eingetragen und ob richtig eingetragen
icq: dürfen nur nummern eingetragen sein
hp: -
text: ob eingetragen
 
hmm alsoich hab mir den kram jetzt net durchgelesen..warmir zu lang:-)

aber zu deinen fragen am ende:

name: ob eingetragen
email: ob eingetragen und ob richtig eingetragen
icq: dürfen nur nummern eingetragen sein
hp: -
text: ob eingetragen

ob etwas eingetragen wurde findet man immer mit der if-abfrage:
PHP:
if($name=='') echo 'fehler';
else echo 'korrekt';
ob eine e-mail-adresse richtig eingetragen ist kann man überprüfen, indem man erst mal mit explode den string an @ teilt, schaut ob genau zwei teile rauskommen, dann den zweiten an . (also punkt) mit explode teilt und wieder schaut, ob es genau zwei teile sind (mit count($variable)) und dann kann man natürlich noch schauen, ob der kram am ende de,com,net oder so ist....
damit ist man natürlich nicht davot geschützt, dass jemand ggg@ggg.de

bei der icq.......ich glaub da gibt funktionen, die überprfüen so nen kram......

such einfach mal auf php.net nach....da findete garantiert was......

//bad taste
 
ob eine variable gesetzt ist, kannst du einfach mit
PHP:
if(isset($variable))
{blbla variable ist gesetzt}else{
blabl variable ist nicht gesetzt
}

bei mail überprüfe einfach ob die variable @ und . beinhaltet
PHP:
if(! strstr($mail, "@") || ! strstr($mail, ".")){
print "falsche mail"; } else{
print "korrekte mail"; }

strstr sucht einfach nach dem angegeben zeichen im angegeben string.

die icq überprüfe einfach mit is_int
PHP:
if(! is_int($icq)) ## wenn $icq kein integer ist
{ print "falsche icq"; }
 
Zurück