Formular überprüfen

Hallo,

ich habe wieder einmal ein Problem.

[php]<?php
// prueft die mail und checkt ob die domain der mail erreichbar ist !
function checkMail($mail)
{
if( (preg_match(‚/(@.*@)|(..)|(@.)|(.@)|(^.)/‘, $string)) || (preg_match(‚/^.+@([?)[a-zA-Z0-9-.]+.([a-zA-Z]{2,3}|[0-9]{1,3})(]?)$/‘,$string)) )
{
$host = explode(‚@‘, $string);

if(!function_exists('checkdnsrr')) 
{
  function checkdnsrr($host, $type = '') 
  {
    if(!empty($host)) 
    {
      if($type == '') 
      {
        $type = "MX";
      }

          @exec("nslookup -type=$type $host", $output);

          while(list($k, $line) = each($output)) 
      {
              if(eregi("^$host", $line)) 
        {
                          return true;
        }
             }

              return false;
          }
      }
  }
  if(checkdnsrr($host[1].'.', 'MX') ) return true;
  if(checkdnsrr($host[1].'.', 'A') ) return true;
  if(checkdnsrr($host[1].'.', 'CNAME') ) return true;    

return false;    

}
}
if(isset($_POST[‚sender‘]))
{
// entfernt die whitespaces vor und nach der eingabe
// so verhinderst du, das einer ein leeres feld mit whitespaces abschickt
$benuzername = trim($_POST[‚benuzername‘]);
$mail = trim($_POST[‚mail‘]);

// ueberprueft ob die felder leer sind
if(checkMail($mail) && !empty($benutzername))
{
header(„Location: http://www.mybild.manug.ch/?mybildid=add2“);
}
else
{
echo „Deine Daten sind ungültig bitte korigiere sie!“ ;
}
}
?>

<?php require_once('../Connections/MYPIC.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; } } $editFormAction = $_SERVER['PHP_SELF']; if (isset($_SERVER['QUERY_STRING'])) { $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']); } if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) { $insertSQL = sprintf("INSERT INTO profil (benuzername, mail) VALUES (%s, %s)", GetSQLValueString($_POST['benuzername'], "text"), GetSQLValueString($_POST['mail'], "text")); mysql_select_db($database_MYPIC, $MYPIC); $Result1 = mysql_query($insertSQL, $MYPIC) or die(mysql_error()); $insertGoTo = "http://www.mybild.manug.ch/?mybildid=add"; header(sprintf("Location: %s", $insertGoTo)); } ?> Unbenanntes Dokument

Profil erstellen

E-Mail Adresse
Benutzername
 

 

 

[/php]

Es passiert nichts… Nach dem absenden Kommt wieder die gleiche seite, und es wird ein eintrag in die db gemacht.

Eigentlich sollte es beide felder auf ihre richtigkeit überprüfen…

diese pingfunktionen wie dnsrr usw funzen bei mir nie richtig… meine chkemail sieht so aus:

[php]<?php
function mp_chkemail($emstr) {
$ch4hk = htmlentities($emstr);
if ( $emstr == $ch4hk ) {
if ( ereg(‚@‘, $emstr) ) {
$emparts = explode(‚@‘, $emstr);
if (count($emparts) < 3) {
$em_1 = $emparts[0];
$em_2 = $emparts[1];
$tlds = array(
1=>‚AERO‘,‚ARPA‘,‚BIZ‘,‚COM‘,‚COOP‘,‚EDU‘,‚GOV‘,‚INFO‘,‚INT‘,‚MIL‘,‚MUSEUM‘,‚NAME‘,
‚NATO‘,‚NET‘,‚ORG‘,‚PRO‘,‚AD‘,‚AE‘,‚AF‘,‚AG‘,‚AI‘,‚AL‘,‚AM‘,‚AN‘,‚AO‘,‚AQ‘,‚AR‘,
‚AS‘,‚AT‘,‚AU‘,‚AW‘,‚AZ‘,‚BA‘,‚BB‘,‚BD‘,‚BE‘,‚BF‘,‚BG‘,‚BH‘,‚BI‘,‚BJ‘,‚BM‘,‚BN‘,
‚BO‘,‚BR‘,‚BS‘,‚BT‘,‚BV‘,‚BW‘,‚BY‘,‚BZ‘,‚CA‘,‚CC‘,‚CF‘,‚CG‘,‚CH‘,‚CI‘,‚CK‘,‚CL‘,
‚CM‘,‚CN‘,‚CO‘,‚CR‘,‚CS‘,‚CU‘,‚CV‘,‚CX‘,‚CY‘,‚CZ‘,‚DE‘,‚DJ‘,‚DK‘,‚DM‘,‚DO‘,‚DZ‘,
‚EC‘,‚EE‘,‚EG‘,‚EH‘,‚ER‘,‚ES‘,‚ET‘,‚EU‘,‚FI‘,‚FJ‘,‚FK‘,‚FM‘,‚FO‘,‚FR‘,‚FX‘,‚GA‘,
‚GB‘,‚GD‘,‚GE‘,‚GF‘,‚GH‘,‚GI‘,‚GL‘,‚GM‘,‚GN‘,‚GP‘,‚GQ‘,‚GR‘,‚GS‘,‚GT‘,‚GU‘,‚GW‘,
‚GY‘,‚HK‘,‚HM‘,‚HN‘,‚HR‘,‚HT‘,‚HU‘,‚ID‘,‚IE‘,‚IL‘,‚IN‘,‚IO‘,‚IQ‘,‚IR‘,‚IS‘,‚IT‘,
‚JM‘,‚JO‘,‚JP‘,‚KE‘,‚KG‘,‚KH‘,‚KI‘,‚KM‘,‚KN‘,‚KP‘,‚KR‘,‚KW‘,‚KY‘,‚KZ‘,‚LA‘,‚LB‘,
‚LC‘,‚LI‘,‚LK‘,‚LR‘,‚LS‘,‚LT‘,‚LU‘,‚LV‘,‚LY‘,‚MA‘,‚MC‘,‚MD‘,‚MG‘,‚MH‘,‚MK‘,‚ML‘,
‚MN‘,‚MO‘,‚MP‘,‚MQ‘,‚MR‘,‚MS‘,‚MT‘,‚MU‘,‚MV‘,‚MW‘,‚MX‘,‚MY‘,‚MZ‘,‚NA‘,‚NC‘,‚NE‘,
‚NF‘,‚NG‘,‚NI‘,‚NL‘,‚NO‘,‚NP‘,‚NR‘,‚NT‘,‚NU‘,‚NZ‘,‚OM‘,‚PA‘,‚PE‘,‚PF‘,‚PG‘,‚PH‘,
‚PK‘,‚PL‘,‚PM‘,‚PN‘,‚PR‘,‚PT‘,‚PW‘,‚PY‘,‚QA‘,‚RE‘,‚RO‘,‚RU‘,‚RW‘,‚SA‘,‚Sb‘,‚SC‘,
‚SD‘,‚SE‘,‚SG‘,‚SH‘,‚SI‘,‚SJ‘,‚SK‘,‚SL‘,‚SM‘,‚SN‘,‚SO‘,‚SR‘,‚ST‘,‚SU‘,‚SV‘,‚SY‘,
‚SZ‘,‚TC‘,‚TD‘,‚TF‘,‚TG‘,‚TH‘,‚TJ‘,‚TK‘,‚TM‘,‚TN‘,‚TO‘,‚TP‘,‚TR‘,‚TT‘,‚TV‘,‚TW‘,
‚TZ‘,‚UA‘,‚UG‘,‚UK‘,‚UM‘,‚US‘,‚UY‘,‚UZ‘,‚VA‘,‚VC‘,‚VE‘,‚VG‘,‚VI‘,‚VN‘,‚VU‘,‚WF‘,
‚WS‘,‚XXX‘,‚YE‘,‚YT‘,‚YU‘,‚ZA‘,‚ZM‘,‚ZR‘,‚ZW‘);
$domainparts = explode(‚.‘, $em_2);
$tldkey = count($domainparts)-1;
$tld = strtoupper($domainparts[$tldkey]);
$proof = 0;
foreach ( $tlds AS $value ) {
if ( $tld == $value ) {$proof = 1;}
}
if ( $proof == 1 ) {
if (eregi(„[1]+((.|-|_)[a-zA-Z0-9]+)*$“,$em_1)) {
RETURN TRUE;
} else {
RETURN FALSE;
}
} else {
RETURN FALSE;
}
} else {
RETURN FALSE;
}
} else {
RETURN FALSE;
}
} else {
return FALSE;
}
}[/php]


  1. a-zA-Z0-9 ↩︎