PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Formular erweitern (http://www.selfphp.de/forum/showthread.php?t=18556)

PHPGreenHorn 05.02.2008 08:09:15

Formular erweitern
 
Hallo Forumsmitglieder,

leider habe ich schon seit langer Zeit nichts mehr in PHP geschrieben und stoße wieder einmal sehr schnell an meine Grenzen.

Wenn Ihr mir helfen könnt wäre SUPER.

Im folgenden Bsp habe ich ein Formular erstellt, das Formular funktioniert auch ohne Probleme.


Code:

<html>
<head>
  <title>Formular</title>
</head>
<body>
<?php
  if (isset($_GET['submit'])) {
    $ausgabe = '';
    $fehler = '';
        $betrag="/^[1-9]{3}$/";
        $var = $_GET['euro'];
   
          if (isset($_GET['vorname']) && !is_array($_GET['vorname']) && $_GET['vorname'] != '')  {
      $ausgabe .= 'Vorname: ' . htmlspecialchars($_GET['vorname']) . "\n";
    } else {
      $fehler .= 'Kein Vorname eingegeben!<br />';
    }
    if (isset($_GET['nachname']) && !is_array($_GET['nachname']) && $_GET['nachname'] != '') {
      $ausgabe .= 'Nachname: ' . htmlspecialchars($_GET['nachname']) . "\n";
    } else {
      $fehler .= 'Keinen Nachnamen eingegeben!<br />';
    }
            if (isset($_GET['email']) && !is_array($_GET['email']) && $_GET['email'] != '') {
      $ausgabe .= 'Email: ' . htmlspecialchars($_GET['email']) . "\n";
    } else {
      $fehler .= 'Keine Email-Adresse eingegeben!<br />';
    }
 
      if (isset($_GET['euro']) && !is_array($_GET['euro']) && $_GET['euro'] != '.$var') {
      $ausgabe .= 'Spendenbetrag: ' . htmlspecialchars($_GET['euro']) . "\n";
    } else {
      $fehler .= 'Kein Spendenbetrag eingegeben!<br />';
    }
    if ($fehler == '') {
      @mail('', 'Info Spendenformular', $ausgabe);
      echo '<b>Vielen Dank f&uuml;r Ihre Angaben!</b>';
      echo '</body></html>';
      exit();
    } else {
      echo "<b>$fehler</b>";
    }
  }
?>
  <h2>Spendenformular</h2>
<p>
<form action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']); ?>" method="get">
    <br />Vorname:
  <input type="text" name="vorname" size="15" value="<?php
    if (isset($_GET['vorname']) && !is_array($_GET['vorname'])) {
      echo htmlspecialchars($_GET['vorname']);
    }
  ?>" />
    <br />Nachname:
  <input type="text" name="nachname" size="15" value="<?php
    if (isset($_GET['nachname']) && !is_array($_GET['nachname'])) {
      echo htmlspecialchars($_GET['nachname']);
    }
  ?>" />
    <br />email:
  <input type="text" name="email" size="25" value="<?php
    if (isset($_GET['email']) && !is_array($_GET['email'])) {
      echo htmlspecialchars($_GET['email']);
    }
  ?>" /> <br />
  Spendenbetrag pro Runde
    <input type="text" name="euro" size="2" value="<?php
    if (isset($_GET['euro']) && !is_array($_GET['euro'])) {
      echo htmlspecialchars($_GET['euro']);
    }
  ?>" />€<br />
 
  <input type="submit" name="submit" value="Versenden" />
</form>
</p>
</body>
</html>



Jetzt möchte ich nur versuchen im "Feld" email und euro, zwei Fehler abzufangen.
In Feld email sollte so eine Abfrage stehen.

Code:

"^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,6})$"
und im "Feld" email sollten nur Zahlen erlaubt sein.

Wenn ich das richtig gelesen habe, müsste beides mit der "Anweisung" ereg funktionieren.

Leider bekomme ich diese Anweisung nicht in mein Formular eingebaut.

Wie kann ich die Abfrage mit ereg in mein Aktuelles Formular einbinden?


Gruß und Danke

PHPGreenHorn

Heinrich 05.02.2008 22:18:07

AW: Formular erweitern
 
Du meinst sicher das Feld "Euro". Das kannst du einfacher abfragen mit
PHP-Code:

if (!is_numeric($var)) {
echo 
"bitte nur Zahlen eingeben";



PHPGreenHorn 07.02.2008 09:48:28

AW: Formular erweitern
 
DANKE!!!!

Jetzt muss ich nur noch schauen, dass ich die "Anweisung" ereg in das Formular bekomme.


DANKE

PHPGreenHorn


Alle Zeitangaben in WEZ +2. Es ist jetzt 22:13:33 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.