Hinweise


Thema geschlossen
 
LinkBack (2) Themen-Optionen Thema durchsuchen Thema bewerten
Alt 28.07.2007, 01:49   2 links from elsewhere to this Post. Click to view. #1
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Die TP Code-Schnipsel Sammlung


Hallo Dynamiker

In diesem Sammelthread, der kontinuierlich ausgebaut wird, sollen zukünftig nützliche Code-Schnipsel und Funktionen bereitgestellt werden, die einem das Programmierer-Leben erleichtern sollen.
Damit die Übersichtlichkeit gewahrt bleibt ist dieser Thread geschlossen und kann nur durch TP-Mitarbeiter erweitert werden. Das heißt aber nicht das Du nicht aktiv am Ausbau der Sammlung teilnehmen kannst, ganz im Gegenteil - es ist sogar ausdrücklich erwünscht das Forum Mitglieder ihren Teil dazu beitragen!

Wenn Du also einen nützlichen Code-Schnipsel, respektive Funktion, hast die auch anderen Programmierern Arbeit abnehmen können, zögere nicht diesen per PN an mich oder einen anderen Moderator zu schicken. Allerdings bitten ich Dich um Verständnis falls der Code nicht in die Sammlung aufgenommen wird, da wirklich nur die nützlichsten Schnipsel aufgeführt werden sollen. Bei komplexeren Snippets bitte nicht vergessen den Code zu kommentieren, damit man auch sofort weiß um was es geht.
Jetzt aber viel Spaß beim stöbern


Themenübersicht / Inhalt

Geändert von phpBuddy (29.07.2007 um 00:06 Uhr).
phpBuddy ist offline  


Alt 28.07.2007, 01:50   #2
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Array-Funktionen


Mehrdimensionales Array nach Kriterien sortieren. Hier geh't zum original Thread

PHP-Code:
<?php
function get_orderarray($order)
{
        
$order_arr =array();
        
$orders=explode('|',$order);
        foreach (
$orders as $o)
        {
                
$d=explode(',',$o);
                
$order_arr[]=array($d[0],$d[1]);
        }
        return 
$order_arr;
}

// extended to allow sort direction per field sorted against
function arfsort_func$a$b ){
  foreach( 
$GLOBALS['__ARFSORT_LIST__'] as $f ) {
    switch (
$f[1]) { // switch on ascending or descending value
      
case "d":
        
$strc strcmpstrtolower($b[$f[0]]), strtolower($a[$f[0]]) );
        if ( 
$strc != ){
          return 
$strc;
        }
      break;
      case 
"a":
        
$strc strcmpstrtolower($a[$f[0]]), strtolower($b[$f[0]]) );
        if ( 
$strc != ){
          return 
$strc;
        }
      break;
      case 
"D":
        
$strc = (floatval($b[$f[0]])<floatval($a[$f[0]])) ? -1:1;
        if (
$b[$f[0]]!=$a[$f[0]])
        {
          return 
$strc;
        }
      break;
      case 
"A":
        
$strc = (floatval($b[$f[0]])>floatval($a[$f[0]])) ? -1:1;
        if (
$b[$f[0]]!=$a[$f[0]])
        {
          return 
$strc;
        }
      break;
    }
  }
  return 
0;
}

function 
arfsort$a$fl )
{
  
$GLOBALS['__ARFSORT_LIST__'] = $fl;
  
usort$a'arfsort_func' );
  return 
$a;
}

/*
Anwendung:
$sortiertes array = arfsort( $array, get_orderarray($order));

$order => 'feldname,Richtung+Typ|feldname2,Richtung+Typ|...'

a=ascending (aufsteigend nach Stringlogik)
d=descending (absteigend nach Stringlogik)
A=ascending (aufsteigend nach Wertelogik)
D=descending (absteigend nach Wertelogik)
*/

// Anwendungsbeispiel

$array=array(
=> array(
    
'Nachname' => 'Muster',
    
'Name' => 'Otto',
    
'Alter' => 27,
    
'Skills' => array('PHP'=>8,'MySQL'=>6,'C++'=>2)
    ),
=> array(
    
'Nachname' => 'Müller',
    
'Name' => 'Heinz',
    
'Alter' => 46,
    
'Skills' => array('PHP'=>2,'MySQL'=>9,'C++'=>9)
    ),
=> array(
    
'Nachname' => 'Müller',
    
'Name' => 'Otto',
    
'Alter' => 24,
    
'Skills' => array('PHP'=>8,'MySQL'=>7,'C++'=>2)
    )
);

echo 
"<pre>";
echo 
"Array vorher:<br>";
print_r($array);
echo 
"-------------------------------------<br>";
echo 
"Sortiert nach Nachname und anschließend nach Vorname aufsteigend:<br>";
print_r(arfsort($arrayget_orderarray('Nachname,a|Name,a')));
echo 
"-------------------------------------<br>";

echo 
"Sortiert nach PHP-Skills absteigend, bei Gleichheit nach Alter aufsteigend:<br>";
print_r(arfsort($arrayget_orderarray('PHP,A|Alter,A')));
echo 
"-------------------------------------<br>";

echo 
"Sortiert nach MySQL-Skills absteigend, dann nach PHP-Skills absteigend - bei Gleichheit nach Alter aufsteigend:<br>";
print_r(arfsort($arrayget_orderarray('MySQL,D|PHP,D|Alter,A')));
echo 
"-------------------------------------<br>";

echo 
"</pre>";

?>

Geändert von phpBuddy (01.08.2007 um 16:43 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:51   #3
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Datenbank-Funktionen


Noch keine Beiträge vorhanden

Geändert von phpBuddy (29.07.2007 um 00:06 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:51   #4
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Dateisystem


Noch keine Beiträge vorhanden

Geändert von phpBuddy (29.07.2007 um 00:07 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:52   #5
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Datum-Funktionen


PHP-Code:
/* **************************************************** */
/* ***   MySQL Datum in deutsches Datum umwandeln   *** */
/* **************************************************** */
function DatumsWandler$Datum$separator NULL )
{
    if (
strlen$Datum ) == 10)
    {
        
$GewandeltesDatum substr$Datum8);
        
$GewandeltesDatum .= ".";
        
$GewandeltesDatum .= substr$Datum5);
        
$GewandeltesDatum .= ".";
        
$GewandeltesDatum .= substr$Datum0);
        return 
$GewandeltesDatum;
    }
    else if (
strlen$Datum ) == 19)
    {
        
$GewandeltesDatum substr$Datum8);
        
$GewandeltesDatum .= ".";
        
$GewandeltesDatum .= substr$Datum5);
        
$GewandeltesDatum .= ".";
        
$GewandeltesDatum .= substr$Datum0);
        if (
gettype$separator ) == "string")
        {
            
$GewandeltesDatum .= " " .$separator;
        }
        else if (
gettype$separator ) == "integer")
        {
            for (
$i 1$i <= $separator$i++)
            {
                
$GewandeltesDatum .= "&nbsp;";
            }
        }
        
$GewandeltesDatum .= substr$Datum10 );
        return 
$GewandeltesDatum;
    }
    else
    {
        return 
FALSE;
    }


Geändert von phpBuddy (29.07.2007 um 00:07 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:53   #6
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Grafik-Funktionen


JPG-Bild mit einem Wasserzeichen versehen, wobei die Position des WZ bestimmt werden kann
PHP-Code:
/* ******************************************* */
/* ***   Bild mit Wasserzeichen versehen   *** */
/* ******************************************* */
function Wasserzeichen$originalbild$wzgrafik$ausrichtung )
{
    
$bild imagecreatefromjpeg$originalbild );
    
// Bildtyp des Wasserzeichens ermitteln
    
switch (substr$wzgrafik, -))
    {
        case 
"jpg"$wasserzeichen imagecreatefromjpeg$wzgrafik ); break;
        case 
"png"$wasserzeichen imagecreatefrompng$wzgrafik ); break;
        case 
"gif"$wasserzeichen imagecreatefromgif$wzgrafik ); break;
    }
    
    
// Bild Infos
    
$bildbreite imagesx$bild );
    
$bildhoehe imagesy$bild );
    
    
// Wasserzeichen Infos
    
$wasserzeichenbreite imagesx$wasserzeichen );
    
$wasserzeichenhoehe imagesy$wasserzeichen );
    
    
// Bilder erzeugen
    
$neuesbild imagecreatetruecolor$bildbreite$bildhoehe );
    
    
// Originalbild in neues Bild einfügen
    
imagecopy$neuesbild$bild0000$bildbreite$bildhoehe );
    
    
// Position des Wasserzeichen ermitteln und einfügen
    
switch ($ausrichtung)
    {
        case( 
"ol" ): $poben 0$punten 0; break;
        case( 
"om" ): $poben round$bildbreite-$wasserzeichenbreite )/2$punten 0; break;
        case( 
"or" ): $poben round$bildbreite-$wasserzeichenbreite ); $punten 0; break;
        case( 
"ml" ): $poben 0$punten round$bildhoehe-$wasserzeichenhoehe )/2; break;
        case( 
"mm" ): $poben round$bildbreite-$wasserzeichenbreite )/2$punten round$bildhoehe-$wasserzeichenhoehe )/2; break;
        case( 
"mr" ): $poben round$bildbreite-$wasserzeichenbreite ); $punten round$bildhoehe-$wasserzeichenhoehe )/2; break;
        case( 
"ul" ): $poben 0$punten round($bildhoehe-$wasserzeichenhoehe); break;
        case( 
"um" ): $poben round$bildbreite-$wasserzeichenbreite )/2$punten round$bildhoehe-$wasserzeichenhoehe ); break;
        case( 
"ur" ): $poben round$bildbreite-$wasserzeichenbreite ); $punten round$bildhoehe-$wasserzeichenhoehe ); break;
    }
    
    
imagecopy$neuesbild$wasserzeichen$poben$punten00$wasserzeichenbreite$wasserzeichenhoehe );
    
    
// Neues Bild mit Wasserzeichen speichern
    
imagejpeg$neuesbild$originalbild90 );
    
imagedestroy$neuesbild );
}
/*** Anwendungsbeispiel um im Bild Ferienhaus.jpg ein Wasserzeichen oben links zu plazieren ***/
Wasserzeichen"Ferienhaus.jpg""firmenlogo.gif""ol" );

// Es gibt 9 Ausrichtungen, wobei jeweils die ersten Buchstaben zur Orientierung dienen.
// or = ecke oben rechts, mm = mitte mitte (zentrum des Bildes), ul = ecke unten links, usw. 

Geändert von phpBuddy (29.07.2007 um 00:08 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:53   #7
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Sonstiges


SelectBox aus Array erstellen
PHP-Code:
/* ***************************************** */
/* ***   SelectBox aus Array erstellen   *** */
/* ***************************************** */
function SelectBox$elementname$felder$vorausgewaehlt )
{
    if (
is_array$felder ))
    {
        
$selectbox '<select name="' .$elementname'" id="' .$elementname"\">\n";
        foreach (
$felder as $feldname => $feldinhalt)
        {
            
$selectbox .= '<option value="' .$feldname'"';
            
$selectbox .= ($feldname == $vorausgewaehlt || $feldinhalt == $vorausgewaehlt) ? ' selected="selected">' '>';
            
$selectbox .= htmlentities$feldinhalt );
            
$selectbox .= "</option>\n";
        }
        
$selectbox .= '</select>';

        return 
$selectbox;
    }
    else
    {
        return 
false;
    }
}
/***** Anwendungsbeispiel *****/
// Array mit SelectBox-Elementen
$optionen = array(  "peter" => "Peter Müller",
                    
"tanja" => "Tanja Schmidt",
                    
"klaus" => "Klaus Fischer",
                    
"max" => "Max Mustermann"
                 
);
// SelectBox mit echo() ausgeben. Die Parameter sind:
// "personen" = Name- und ID-Attribut der Selectbox
// $optionen = Das Array mit den Auswahlmoeglichkeiten
// "klaus" = Schluessel oder Wert der Option die vor-selektiert sein soll
echo SelectBox"personen"$optionen"klaus" ); 

Mail mit Anhang (Achtung! Setzt zwingend PHP 5.2.x oder höher voraus!)
PHP-Code:
<?php
$Empfaenger 
"name@domain.tld";
$Betreff    "Mail mit Anhang";
$Nachricht  "Juhuu, ich kann Mails mit Anhang verschicken!\n\n";
$Absender   "From: Max Mustermann <max@mustermann.tld>";

// Dateiname fuer Anhang
$Dateiname      "bild4711.jpg"// Dateiname auf dem Server
$DateinameMail  "huebscher_sonnenuntergang.jpg"// Dateiname des Anhangs in der Mail.
/* Man kann den selben Name wie auf dem Server verwenden oder einen neuen
Name fuer den Anhang bestimmen. Das macht Sinn, wenn man z.B. Bilder mit
Timestamp-Name auf dem Server abgelegt hat aber Bilder mit einem normalen
Name verschicken moechte.*/

// Anhang in Mailbody einfuegen
$Nachricht .= "\r\n";
$Nachricht .= "begin 666 {$DateinameMail}\r\n";
$Nachricht .= convert_uuencodefile_get_contents$Dateiname ) );
$Nachricht .= "end\r\n";

// Mail verschicken
mail($Empfaenger$Betreff$Nachricht$Absender);
?>

Geändert von phpBuddy (28.09.2007 um 10:28 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:53   #8
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

String-Funktionen


Bereitet einen Datensatz auf um problemlos ausgegeben werden zu können. Es werden unnötige Leerzeichen und Leerzeilen entfernt, überlange Wörter werden umgebrochen damit sie ein Layout nicht zerstören, potentiell gefährliche Zeichen werden umgewandelt, Zeilenumbrüche werden HTML-konform umgewandelt.
Das Beispiel hätte auch unter Datenbank-Funktionen stehen können, aber hier passt es besser, da Einträge z.B. auch aus einer Flatfile kommen könnten.
PHP-Code:
/* ******************************************************************* */
/* ***   DB-Eintraege fuer Ausgabe aufbereiten (z.B. Gaestebuch)   *** */
/* ******************************************************************* */
function dbAusgabe$eintrag )
{
    
$pattern = array(   "/(\r\n)|(\r)/m",
                        
"/(\n){4,}/m",
                        
"/\s{3,}/m",
                        
"/(.)\\1{15,}/im"
                    
);

    
$replace = array(   "\n",
                        
"\n",
                        
" ",
                        
"\\1"
                    
);

    
$eintrag get_magic_quotes_runtime() ? stripslashes$eintrag ) : $eintrag;
    
$eintrag htmlspecialchars$eintrag );
    
$eintrag preg_replace$pattern$replace$eintrag ); // entfernt unnoetige Leerzeichen und Zeilenumbrueche
    
$eintrag nl2br$eintrag );
    
$eintrag wordwrap$eintrag45" ");
    return 
$eintrag;


Geändert von phpBuddy (29.07.2007 um 00:08 Uhr).
phpBuddy ist offline  
Alt 28.07.2007, 01:54   #9
TP-Moderator
 
Benutzerbild von phpBuddy
 
Registriert seit: Aug 2004
Ort: Kaiserslautern
phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichtsphpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts

Validierung


Prüft eine Email-Adresse (z.B. aus einem Formular) auf korrektes Format und mögliche Manipulationsversuche.
PHP-Code:
/* ********************************** */
/* ***   Email Adressen pruefen   *** */
/* ********************************** */
function pruefeEmail$email )
{
    
$nonascii      "\x80-\xff";
    
$nqtext        "[^\\\\$nonascii\015\012\"]";
    
$qchar         "\\\\[^$nonascii]";
    
$normuser      '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
    
$quotedstring  "\"(?:$nqtext|$qchar)+\"";
    
$user_part     "(?:$normuser|$quotedstring)";
    
$dom_mainpart  '[a-zA-Z0-9][a-zA-Z0-9._-]*\\.';
    
$dom_subpart   '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\\.)*';
    
$dom_tldpart   '[a-zA-Z]{2,5}';
    
$domain_part   "$dom_subpart$dom_mainpart$dom_tldpart";
    
$pattern       "$user_part\@$domain_part";

    if (!
preg_match"/^$pattern$/"$email ))
    {
        return 
FALSE;
    }
    else
    {
        return 
TRUE;
    }


Geändert von phpBuddy (29.07.2007 um 00:08 Uhr).
phpBuddy ist offline  
Thema geschlossen

  Aktuelles Thema
  TP Hilfe Forum > Web-Editoren & Coding > Traum-Dynamik > Traum-Scripts
Die TP Code-Schnipsel Sammlung Die TP Code-Schnipsel Sammlung
« Seb's BB-Code-Parser | Script Wegweiser »

Stichworte
anhang, array, attachment, email, schnipsel, selectbox, validieren, wasserzeichen

LinkBacks (?)
LinkBack to this Thread: http://www.traum-projekt.com/forum/54-traum-scripts/100673-die-tp-code-schnipsel-sammlung.html
Erstellt von For Type Datum
phpBuddy.eu - Tutorial - Schutz vor Trafficklau und Bilderdieben This thread Refback 04.05.2009 13:31
Schutz vor Trafficklau und Bilderdiebe This thread Refback 12.03.2008 12:58

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:02 Uhr.

Powered by: vBulletin Version 3.7 (Deutsch)
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd. / Search Engine Friendly URLs by vBSEO 3.2.0 ©2008, Crawlability, Inc.
Traum-Projekt.com | Suchen | Archiv | Impressum | Kontakt | | | Nach oben |



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67