php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.07.2009, 00:52  
Neuer Benutzer
 
Registriert seit: 05.07.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
shareking befindet sich auf einem aufstrebenden Ast
Standard Hilfe bei meinem Kontaktformular

Hey Leute ich benötige eure Hilfe.. und zwar habe ich ein einfaches Kontaktformular gefunden. Ich habe 4 Felder , Nun möchte ich das man in diese Felder jeweils nur 4 Zeichen machen kann keine mehr und keine weniger. Ist das ihrgendwie machbar? Ich kenne mich mit Programmieren nicht so sehr aus deswegen bin ich auf eure Hilfe angewiesen.. Hoffe ihr könnt mir schnell Helfen..

Hier der Code:

PHP-Code:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list(
$feld,$wert)=each($HTTP_POST_VARS)){
        
// übermittelte Inhalte "entschärfen"
        
$wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im""",$wert);
           $
$feld=$wert;
        
// die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        
if($feld!="abschicken"){
            
$mailnachricht.=ucfirst($feld).": $wert\n";
        }
    }
    
$mailnachricht.="\nDatum/Zeit: "date("d.m.Y H:i:s");
    
// Überprüfen ob alle Pflichtfelder gefüllt sind
    
empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" false;
    empty(
$vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" false
    empty(
$email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" false
    empty(
$text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" false
    
// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    
if(!empty($err)) {
        echo 
"<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach(
$err as $fehler){
            echo 
$fehler;
        } 
?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr>
          <td width="140" align="right">*Nachname:</td>
          <td align="left"><input name="nachname" type="text" style="width:100%;" value="<?php echo $nachname?>" minlength="2" /></td></tr>
        <tr>
          <td align="right">*Vorname:</td>
          <td align=e"left"><input name="vorname" type="text" style="width:100%" value="<?php echo $vorname?>" /></td></tr>
        <tr>
          <td align="right">*Email:</td>
          <td align="left"><input name="email" type="text" style="width:100%" value="<?php echo $email?>" /></td></tr>
        
        
<tr>
  <td height="32" align="right">*Text:</td>
  <td align="left"><input name="text" type="text" style="width:100%" value="<?php echo $text?>" /></td></tr>
        
        

        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
        &nbsp;&nbsp;<input type="submit" name="abschicken" class="button" value="Bezahlen" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
    
} else {
        
$mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
        
// HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!        
        
if(mail("warrockshop@icqmail.com"$mailbetreff$mailnachricht"From: $email")){
            echo 
"<p>Vielen Dank für Ihre eMail!</p>";
        } else {
            echo 
"<p>Ein Fehler ist aufgetreten!</p>";
        }
    }
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr>
          <td width="140" align="right">*Nachname:</td>
          <td align="left"><input name="nachname" type="text" style="width:100%;" minlength="2" /></td></tr>
        <tr>
          <td align="right">*Vorname:</td>
          <td align="left"><input name="vorname" type="text" style="width:100%" /></td></tr>
        <tr>
          <td align="right">*Email:</td>
          <td align="left"><input name="email" type="text" style="width:100%" /></td></tr>
<tr>
  <td height="32" align="right">*Text:</td>
  <td align="left"><input name="text" type="text" style="width:100%" /></td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
        &nbsp;&nbsp;<input type="submit" name="abschicken" value="Bezahlen" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php
}
?>
shareking ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 05.07.2009, 01:12  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Lerne Grundlagen.

Um zu verhindern, dass in einem input-Feld mehr als 4 Zeichen geschrieben werden dürfen musst du das Attribut maxlength auf 4 setzen.
Desweiteren zur Valdierung der Länge der Eingabe kann man strlen() benutzen.
PTC ist offline  
Alt 05.07.2009, 01:15  
Neuer Benutzer
 
Registriert seit: 05.07.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
shareking befindet sich auf einem aufstrebenden Ast
Standard

Kannst du mir das so umschreiben das mit dem maxlength krieg ich selbst hin .. aber das andere weiß ich nicht wie das geht kannst du mir da bitte weiterhelfen wäre mega nett =)
shareking ist offline  
Alt 05.07.2009, 01:18  
Neuer Benutzer
 
Registriert seit: 28.12.2007
Beiträge: 26
El_Schnorro befindet sich auf einem aufstrebenden Ast
Standard

Hallo!

Auch, wenn ich nicht weiß, welchen Sinn das Ganze haben soll,
hast du hier deinen bearbeiteten Quellcode:

PHP-Code:
<?php
// wenn das Formular übermittelt wurde
if(isset($_POST['abschicken'])){
    while(list(
$feld,$wert)=each($HTTP_POST_VARS)){
        
// übermittelte Inhalte "entschärfen"
        
$wert=preg_replace("/(content-type:|bcc:|cc:|to:|from:)/im""",$wert);
           $
$feld=$wert;
        
// die übermittelten Variablen werden zum "Text der Email" zusammengefasst
        
if($feld!="abschicken"){
            
$mailnachricht.=ucfirst($feld).": $wert\n";
        }
    }
    
$mailnachricht.="\nDatum/Zeit: "date("d.m.Y H:i:s");
    
// Überprüfen ob alle Pflichtfelder gefüllt sind
    
empty($nachname) ? $err[] = "<p>- Bitte den Nachnamen angeben.</p>" false;
    
strlen($nachname) != $err[] = "<p>- Der Nachnamen darf nur 4 Zeichen lang sein.</p>" false;
    empty(
$vorname) ? $err[] = "<p>- Bitte den Vornamen angeben.</p>" false
    
strlen($vorname) != $err[] = "<p>- Der Vornamen darf nur 4 Zeichen lang sein.</p>" false;
    empty(
$email) ? $err[] = "<p>- Bitte die Email-Adresse angeben.</p>" false
    
strlen($email) != $err[] = "<p>- Die E-Mail-Adresse darf nur 4 Zeichen lang sein.</p>" false;
    empty(
$text) ? $err[] = "<p>- Welchen Wunsch haben Sie? Bitte den Text eingeben.</p>" false;
    
strlen($text) != $err[] = "<p>- Der Text muss 4 Zeichen lang sein.</p>" false;
    
    
// wenn nicht, werden die Fehlermeldungen ausgegeben und das "halbgefüllte" Formular angezeigt
    
if(!empty($err)) {
        echo 
"<p>Bitte korrigieren Sie folgende Fehler:</p>";
        foreach(
$err as $fehler){
            echo 
$fehler;
        } 
?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr>
          <td width="140" align="right">*Nachname:</td>
          <td align="left"><input name="nachname" maxlength="4" type="text" style="width:100%;" value="<?php echo $nachname?>" minlength="2" /></td></tr>
        <tr>
          <td align="right">*Vorname:</td>
          <td align=e"left"><input name="vorname" maxlength="4" type="text" style="width:100%" value="<?php echo $vorname?>" /></td></tr>
        <tr>
          <td align="right">*Email:</td>
          <td align="left"><input name="email" maxlength="4" type="text" style="width:100%" value="<?php echo $email?>" /></td></tr>
        
        
<tr>
  <td height="32" align="right">*Text:</td>
  <td align="left"><input name="text" maxlength="4" type="text" style="width:100%" value="<?php echo $text?>" /></td></tr>
        
        

        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
        &nbsp;&nbsp;<input type="submit" name="abschicken" class="button" value="Bezahlen" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php    // sind keine Fehler vorhanden, wird die Email versendet
    
} else {
        
$mailbetreff="Kontaktformular ".$_SERVER['HTTP_HOST'];
        
// HIER DIE EMPFÄNGER EMAIL-ADRESSE ANPASSEN!!!        
        
if(mail("warrockshop@icqmail.com"$mailbetreff$mailnachricht"From: $email")){
            echo 
"<p>Vielen Dank für Ihre eMail!</p>";
        } else {
            echo 
"<p>Ein Fehler ist aufgetreten!</p>";
        }
    }
// das Formular welches als erstes dem Besucher angezeigt wird
} else { ?>
        <form action="#" method="post">
        <table width="100%" border="0" cellpadding="3" cellspacing="1">
        <tr>
          <td width="140" align="right">*Nachname:</td>
          <td align="left"><input name="nachname" maxlength="4" type="text" style="width:100%;" minlength="2" /></td></tr>
        <tr>
          <td align="right">*Vorname:</td>
          <td align="left"><input name="vorname" maxlength="4" type="text" style="width:100%" /></td></tr>
        <tr>
          <td align="right">*Email:</td>
          <td align="left"><input name="email" maxlength="4" type="text" style="width:100%" /></td></tr>
<tr>
  <td height="32" align="right">*Text:</td>
  <td align="left"><input name="text" type="text" style="width:100%" /></td></tr>
        <tr><td colspan="2" align="left" nowrap><br /><input type="reset" value="Code löschen" style="width:49%" />
        &nbsp;&nbsp;<input type="submit" name="abschicken" value="Bezahlen" style="width:49%" /></td></tr>
        </table>
        </form>
        <p>*Pflichtfelder</p>
<?php
}
?>
Die Felder werden von HTML aus 4 Zeichen begrenzt.
Da man dies aber umgehen kann,
habe ich die Länge der Felder noch einmal mit PHP
abgefragt und in das Error-Handling eingebaut.

P.s:
Das nächste mal kannste auch Google benutzen.
Das sind einfachste Sachen, die man schnell finden kann.


MfG
der Schnorrer
El_Schnorro ist offline  
Alt 05.07.2009, 01:23  
PTC
Erfahrener Benutzer
 
Benutzerbild von PTC
 
Registriert seit: 27.10.2007
Beiträge: 1.708
PHP-Kenntnisse:
Anfänger
PTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nettPTC ist einfach richtig nett
Standard

Zitat:
Zitat von shareking Beitrag anzeigen
[...]aber das andere weiß ich nicht wie das geht kannst du mir da bitte weiterhelfen wäre mega nett =)
Zitat:
Zitat von Forenregeln
Fasse das Forum nicht als Volkshochschule auf!
Vom Tutorials-Forum abgesehen kann und will die PHP.de-Community keine Grundlagen vermitteln, sondern bei konkreten Fragen Hilfestellung geben. Als blutiger Anfänger nutze bitte eines der zahlreichen Tutorials in den Weiten des Netzes. [5]
Deswegen auch der Link.
PTC ist offline  
Alt 05.07.2009, 01:23  
Neuer Benutzer
 
Registriert seit: 05.07.2009
Beiträge: 3
PHP-Kenntnisse:
Anfänger
shareking befindet sich auf einem aufstrebenden Ast
Standard

Ich danke dir Vielmals .. Ist eig. nur zum Basteln gedacht .. wollte nur mal was testen ..
shareking ist offline  
Alt 07.07.2009, 22:59  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Das Basteln scheint ein generelles Problem in diesem Forum zu sein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline  
 


Themen-Optionen
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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Brauche Hilfe bei eigenem PHP Quiz (Punkte Countdown , Bildlinks verbergen Nitram2050 PHP Tipps 2009 6 23.03.2009 17:13
[Erledigt] Kontaktformular kommt nicht vollständig in Email-Eingang an jersey PHP Tipps 2009 8 20.03.2009 22:10
Kontaktformular über SMTP? flashman3 PHP Tipps 2009 3 12.02.2009 18:38
Kontaktformular mit PHP kim160266 PHP Tipps 2009 2 08.01.2009 10:13
Kontaktformular mit Spamschutz und include Navigation? chicco4u PHP Tipps 2008 1 11.08.2008 09:52
Kontaktformular plus 3 Attachments funzt net catmoon PHP Tipps 2008 2 25.06.2008 10:15
[Erledigt] Kontaktformular - bitte helft mir celine70 PHP Tipps 2008 3 19.05.2008 11:28
hilfe beim kontaktformular Flecky PHP Tipps 2008 3 10.11.2007 17:41
[Erledigt] Hilfe: Projektabreit Informatik und Technik bitte helft uns. Off-Topic Diskussionen 31 05.04.2006 18:25
[Erledigt] HILFE HILFE HILFE mysqladmin.exe fehlt Datenbanken 7 20.12.2005 14:00
Brauche Hilfe beim Kontaktformular! PHP Tipps 2007 12 15.11.2005 16:37
HILFE ! Brauche ganz dringend hilfe! PHP Tipps 2005-2 2 10.10.2005 23:08
[Erledigt] VARIABLEN WERDEN NICHT RICHTIG VERARBEITET!!!! HILFE PHP Tipps 2005-2 6 02.07.2005 18:32
[Erledigt] HILFE PHP Tipps 2004-2 1 16.12.2004 20:49
Kontaktformular - Nachricht wurde verschickt PHP Tipps 2004 4 22.10.2004 09:18

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpkontaktformular.de entfernen, kontaktformular php pflichtfelder, \phpkontaktformular.de\, kontaktformular php while, copyright entfernen phpkontaktformular.de, © 2005 - 2008 www.phpkontaktformular.de, \phpkontaktformular.de\ copyright, php input minlength, phpkontaktformular.de/, phpkontaktformular.de copyright, if($feld!=\abschicken\) $mailnachricht.=ucfirst($feld).\: $wert\\n\;, www.phpkontaktformular.de copyright entfernen, © entfernen www.phpkontaktformular.de, php kontaktformular entschärfen, texteingaben mit php entschärfen, while(list($feld,$wert)=each($http_post_vars)), quiz kontaktformular php, $wert=preg_replace, kontaktformular php selbst programmieren, hilfe zu kontaktformular.php

Alle Zeitangaben in WEZ +2. Es ist jetzt 16:19 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum