php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 05.12.2008, 08:17  
22hase
Gast
 
Beiträge: n/a
Standard Formular Frage

Guten Morgen,

also ich habe hier ein Formular.

PHP-Code:
<form action="registrierung.php" method="post">
<
table>
<
tr>
<
td><br><h4>Angaben zum Profil:</h4></td><td></td>
</
tr><tr>
<
td>Benutzername:</td><td><input type="text" name="Name" size="15"></td>
</
tr><tr>
<
td>Passwort:</td><td><input type="password" name="Pass" size="15"></td>
</
tr><tr>
<
td>Passwort wiederholen:</td><td><input type="password" name="PassWdh" size="15"></td>
</
tr><tr>
<
td>E-Mailzur Bestätigung</td><td><input type="text" name="Mail" size="15"></td>
</
tr><tr>
<
td><br><h4>Angaben zur Firma:</h4></td><td></td>
</
tr><tr>
<
td>Firmenname:</td><td><input type="text" name="Firma" size="20"></td>
</
tr><tr>
<
td>Ansprechpartner:</td><td><input type="text" name="Ansprechpartner" size="20"></td>
</
tr><tr>
<
td>Straße:</td><td><input type="text" name="Strasse" size="20"></td>
</
tr><tr>
<
td>Postleitzahl:</td><td><input type="text" name="PLZ" size="5"></td>
</
tr><tr>
<
td>Ort:</td><td><input type="text" name="Ort" size="20"></td>
</
tr><tr>
<
td>Internetpräsenz:</td><td><input type="text" name="Internetpraesenz" size="20" value="http://"></td>
</
tr><tr>
<
td>E-Mail:</td><td><input type="text" name="EMail" size="20"></td>
</
tr><tr>
<
td>Telefon:</td><td><input type="text" name="Telefon" size="15"></td>
</
tr><tr>
<
td>Fax:</td><td><input type="text" name="Fax" size="15"></td>
</
tr><tr>
<
td></td><td><input type="submit" value="Registrieren"></td>
</
tr><tr>
<
td></td><td><h5>Sie sind schon Registriert?<br><a href="login.php">Einloggen</a></h5></td>
</
tr>
</
table>
</
form
-alle felder sind pflichtfelder..da wurde mir in einen anderen forum folgende funktion ans herz gelegt

PHP-Code:
function Formular_Pflichtfelder() { 
  global 
$Pflichtfelder
  
$Fehler ''
  foreach (
$Pflichtfelder as $Feld) { 
    
$key str_replace(' ','_',$Feld); 
    if(!(isset(
$_POST[$key]) && trim($_POST[$key]))) { 
      if(
$Fehler$Fehler .= '<br />'
      
$Fehler .= 'Pflichtfeld "' $Feld '" nicht ausgefüllt.'
    } 
  } 
  return 
$Fehler

-da vor mach ich j ein array

PHP-Code:
$Pflichtfelder=array('name','mail', ...usw ); 
so aber ich bekomm das net zum laufen...

also meine fehler:

- wenn ich auf registrieren klicke passiert nix...

- also es kommt keine meldung welches feld nicht ausgefüllt wurde...

Hat jemand ein gutes Script was läuft oder kann mir weiter helfen...?

bin hier echt am verzweifeln...

ich hab es jetzt noch so wie ich es von einen anderen script gesehen habe aber da wurde gesagt das es bnicht so günstig ist....
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 05.12.2008, 08:28  
Benutzer
 
Registriert seit: 24.09.2008
Beiträge: 52
frank-ae befindet sich auf einem aufstrebenden Ast
frank-ae eine Nachricht über Yahoo! schicken frank-ae eine Nachricht über Skype™ schicken
Standard

Ich bin mir da fast nicht sicher... aber Du übergibst ja an die Funktion nichts. Mit was soll den die Function arbeiten ?!

Versuchs mal so:
PHP-Code:
function Formular_Pflichtfelder($_POST)
{
 
//Dein Zeugs hier rein

Und dann übergibst Du das Formular an eine Datei names registrierung.php,
zeig uns die mal komplett.


Geändert von frank-ae (05.12.2008 um 08:30 Uhr). Grund: passiert hat das man mal nen fehler macht.
frank-ae ist offline  
Alt 05.12.2008, 08:48  
22hase
Gast
 
Beiträge: n/a
Standard

naja es steht alles in der selben datei...also forumlar und php zeugs

ah ich merk grad ich hab die hier so wie ich ess hatte net auf den rechner sondern zu hause

jetzt bin ich erstmal wieder soweit

PHP-Code:
<form action="registrierung.php" method="post">
<table>
<tr>
<td><br><h4>Angaben zum Profil:</h4></td><td></td>
</tr><tr>
<td>Benutzername:</td><td><input type="text" name="Name" size="15"></td>
</tr><tr>
<td>Passwort:</td><td><input type="password" name="Pass" size="15"></td>
</tr><tr>
<td>Passwort wiederholen:</td><td><input type="password" name="PassWdh" size="15"></td>
</tr><tr>
<td>E-Mail: zur Bestätigung</td><td><input type="text" name="Mail" size="15"></td>
</tr><tr>
<td><br><h4>Angaben zur Firma:</h4></td><td></td>
</tr><tr>
<td>Firmenname:</td><td><input type="text" name="Firma" size="20"></td>
</tr><tr>
<td>Ansprechpartner:</td><td><input type="text" name="Ansprechpartner" size="20"></td>
</tr><tr>
<td>Straße:</td><td><input type="text" name="Strasse" size="20"></td>
</tr><tr>
<td>Postleitzahl:</td><td><input type="text" name="PLZ" size="5"></td>
</tr><tr>
<td>Ort:</td><td><input type="text" name="Ort" size="20"></td>
</tr><tr>
<td>Internetpräsenz:</td><td><input type="text" name="Internetpraesenz" size="20" value="http://"></td>
</tr><tr>
<td>E-Mail:</td><td><input type="text" name="EMail" size="20"></td>
</tr><tr>
<td>Telefon:</td><td><input type="text" name="Telefon" size="15"></td>
</tr><tr>
<td>Fax:</td><td><input type="text" name="Fax" size="15"></td>
</tr><tr>
<td></td><td><input type="submit" value="Registrieren"></td>
</tr><tr>
<td></td><td><h5>Sie sind schon Registriert?<br><a href="login.php">Einloggen</a></h5></td>
</tr>
</table>
</form>
<?php
$Pflichtfelder 
= array('Name','Pass');   
function 
Formular_Pflichtfelder()  
{  
  global 
$Pflichtfelder;  
  
$Fehler '';  
  foreach (
$Pflichtfelder as $Feld)  
  {  
    
$key str_replace(' ','_',$Feld);  
    if(!(isset(
$_POST['$key']) && trim($_POST['$key'])))  
    {  
      if(
$Fehler$Fehler .= '';  
      
$Fehler .= 'Pflichtfeld "<strong>' $Feld '</strong>" nicht ausgefüllt.';  
     
    }  
  }  
  return 
$Fehler;  
}
hab im array erstmal nur 2 felder...
 
Alt 05.12.2008, 09:22  
Benutzer
 
Registriert seit: 24.09.2008
Beiträge: 52
frank-ae befindet sich auf einem aufstrebenden Ast
frank-ae eine Nachricht über Yahoo! schicken frank-ae eine Nachricht über Skype™ schicken
Standard

Okay... als erstes solltest Du nochmal überlegen was Du wie mit Formularen übergibst.

meistens (eigentlich immer) ein Array namens $_POST, die keys sind die namen der Formularfelder und die Values ist der Inhalt der Formularfelder.
Willst Du als den Inhalt der Feldes "Name" ansprechen sieht das so aus: $_POST['name']

Mit drücken des Submit-Buttons wird der gesamte Inhalt des Array $_Post an eine Seite übergeben, aus dieser Seite enscheidest du was du mit dem Array machen möchtest.

In deinem Script übergibt Du das $_POST an sich selber, und dann???

es steht zwar eine function in deinem Script, aber eine Function muss auch augerufen werden und in deinem falle muss auch noch $_POST an die function übergeben werden.
momentan steht deine Function einfach nur da und freut sich zu existieren, sie macht aber nichts.

V.G.
Frank
frank-ae ist offline  
Alt 05.12.2008, 09:32  
22hase
Gast
 
Beiträge: n/a
Standard

ach man

das mit $_POST die daten übergeben werden weiß ich ja...

aber ich komm grad garnet mehr klar...

ich will die formular daten nicht auf eine andere seite weitergeben

ich will das wenn ein feld leer ist hinter dem feld steht bitte ausfüllen...

usw...und wenn alle felder auisgefüllt sind dann erst eine email und der eintrag in die db erfolgt...

(email und eintrag ist nicht das problem)

mir gehts erstmal darum das ich wenn ich daten eingebe oder auch nicht eine fehlermeldung eben kommt...

und da wurde mir diese funktion empfohlen..

also soll ich erstmal alle daten in $_POST['feldname'] holen??
 
Alt 05.12.2008, 09:36  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

Du hast zwar schon einen Ansatz zu deinem Problem, aber schau dir trotzdem (zum Verständniss) das an:

Affenformular (Standardverfahren - PHP.de Wiki)

Formularverarbeitung - PHP.de Wiki
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO ist offline  
Alt 05.12.2008, 09:41  
22hase
Gast
 
Beiträge: n/a
Standard

affenformular geht bei mir ne :/

hier habs gefunden...vorne weg hatte ich es so

PHP-Code:
<form action="registrierung.php" method="post">
<table>
<tr>
<td><br><h4>Angaben zum Profil:</h4></td><td></td>
</tr><tr>
<td>Benutzername:</td><td><input type="text" name="Name" size="15"></td>
</tr><tr>
<td>Passwort:</td><td><input type="password" name="Pass" size="15"></td>
</tr><tr>
<td>Passwort wiederholen:</td><td><input type="password" name="PassWdh" size="15"></td>
</tr><tr>
<td>E-Mail: zur Bestätigung</td><td><input type="text" name="Mail" size="15"></td>
</tr><tr>
<td><br><h4>Angaben zur Firma:</h4></td><td></td>
</tr><tr>
<td>Firmenname:</td><td><input type="text" name="Firma" size="20"></td>
</tr><tr>
<td>Ansprechpartner:</td><td><input type="text" name="Ansprechpartner" size="20"></td>
</tr><tr>
<td>Straße:</td><td><input type="text" name="Strasse" size="20"></td>
</tr><tr>
<td>Postleitzahl:</td><td><input type="text" name="PLZ" size="5"></td>
</tr><tr>
<td>Ort:</td><td><input type="text" name="Ort" size="20"></td>
</tr><tr>
<td>Internetpräsenz:</td><td><input type="text" name="Internetpraesenz" size="20" value="http://"></td>
</tr><tr>
<td>E-Mail:</td><td><input type="text" name="EMail" size="20"></td>
</tr><tr>
<td>Telefon:</td><td><input type="text" name="Telefon" size="15"></td>
</tr><tr>
<td>Fax:</td><td><input type="text" name="Fax" size="15"></td>
</tr><tr>
<td></td><td><input type="submit" value="Registrieren"></td>
</tr><tr>
<td></td><td><h5>Sie sind schon Registriert?<br><a href="login.php">Einloggen</a></h5></td>
</tr>
</table>
</form>
<?php
//Überprüfung ob alle Formulardaten eingeben wurden und ob Passwort übereinstimmt

if (isset($_POST['Name']) == TRUE && empty($_POST['Name']) == FALSE &&
  isset(
$_POST['Mail']) == TRUE && empty($_POST['Mail']) == FALSE &&
   isset(
$_POST['Firma']) == TRUE && empty($_POST['Firma']) == FALSE &&
    isset(
$_POST['Strasse']) == TRUE && empty($_POST['Strasse']) == FALSE &&
     isset(
$_POST['Ort']) == TRUE && empty($_POST['Ort']) == FALSE &&
      isset(
$_POST['PLZ']) == TRUE && empty($_POST['PLZ']) == FALSE &&
       isset(
$_POST['Ansprechpartner']) == TRUE && empty($_POST['Ansprechpartner']) == FALSE &&
        isset(
$_POST['Internetpraesenz']) == TRUE && empty($_POST['Internetpraesenz']) == FALSE &&
         isset(
$_POST['EMail']) == TRUE && empty($_POST['EMail']) == FALSE &&
          isset(
$_POST['Telefon']) == TRUE && empty($_POST['Telefon']) == FALSE &&
           isset(
$_POST['Fax']) == TRUE && empty($_POST['Fax']) == FALSE &&
            isset(
$_POST['Pass']) == TRUE && empty($_POST['Pass']) == FALSE &&
             isset(
$_POST['PassWdh']) == TRUE && $_POST['Pass'] == $_POST['PassWdh'])
{
danach erfolgte der vergleich ob es den benutzernamen schon gibt...und wenn nicht dann eintrag in DB...mail wurde auch versandt..aber leider auch wenn der benutzername vergeben war...

da hatte ich es so das man auch eine neue seite weitergeletet wurde aber dis will ich nicht...
 
Alt 05.12.2008, 09:41  
Benutzer
 
Registriert seit: 24.09.2008
Beiträge: 52
frank-ae befindet sich auf einem aufstrebenden Ast
frank-ae eine Nachricht über Yahoo! schicken frank-ae eine Nachricht über Skype™ schicken
Standard

Aber Dein $_POST wird nicht an die Funtion übergeben. Und die Function wird nicht aufgerufen.


Hiermit rufst Du die Function auf wenn $_POST-daten reinkommen.
PHP-Code:

<?php

if($_POST != "")
{
 function 
Formular_Pflichtfelder($_POST);
}
?>
und deine funktion muss natürlich wissen was reinkommt:

PHP-Code:

function Formular_Pflichtfelder($_POST)
{
 
//deine Function

V.G.
Frank
frank-ae ist offline  
Alt 05.12.2008, 10:16  
22hase
Gast
 
Beiträge: n/a
Standard

ok jetzt hab ich did so


PHP-Code:
$Pflichtfelder = array('Name','Pass');
function 
Formular_Pflichtfelder($_POST) { 
  global 
$Pflichtfelder
  
$Fehler ''
  foreach (
$Pflichtfelder as $Feld) { 
    
$key str_replace(' ','_',$Feld); 
    if(!(isset(
$_POST[$key]) && trim($_POST[$key]))) { 
      if(
$Fehler$Fehler .= '<br />'
      
$Fehler .= 'Pflichtfeld "' $Feld '" nicht ausgefüllt.'
    } 
  } 
  return 
$Fehler
}  

if(
$_POST != "")
{
 echo 
Formular_Pflichtfelder($_POST);

jetzt aber noch 2 was zu lösen...

1. wenn man als erstes auf die registrierung seite kommt sollte ja unten nicht stehen "Pflichtfeld .. noch nicht ausgefüllt" nicht dastehen.

2. wenn jetzt daten eingegebn werden..udn es dann den benutzer namen oder so schon gibt..sollten die daten doch in den formualr erhalten bleiben und nicht rausgelöscht werden.

könnt ihr mir da auch helfen...
 
Alt 05.12.2008, 10:39  
Erfahrener Benutzer
 
Benutzerbild von JEGO
 
Registriert seit: 01.12.2003
Beiträge: 2.555
PHP-Kenntnisse:
Anfänger
JEGO wird schon bald berühmt werden
Standard

session ist dein Suchbegriff
__________________
Gruß JEGO

Ein PHP Script tut, was Du schreibst, nicht was Du willst.
JEGO 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
PHP: Formular Generator Zergling-new Tutorials 16 06.07.2010 03:14
Problem mit Formular, Daten an datenbank senden Aurec PHP Tipps 2008 11 20.11.2008 18:17
Spamversand über Formular, ohne dass ich es merke? Kookaburra PHP Tipps 2008 8 05.09.2008 16:40
Problem mit IF und Formular Black-Devil PHP Tipps 2008 12 03.03.2008 17:54
Wert aus Textfeld in neues Formular übernehmen (kein Submit) PsychoEagle HTML, Usability und Barrierefreiheit 9 02.01.2007 14:51
[Erledigt] Hilfe bei Formular für Datenerhebung benötigt PHP Tipps 2005-2 3 16.07.2005 10:43
Frage zu einem Editformular PHP Tipps 2005 3 25.04.2005 14:58
Frage zu einem Formular. Zero.exe PHP Tipps 2005 6 17.03.2005 22:01
Formular Frage! HTML, Usability und Barrierefreiheit 13 09.03.2005 16:11
Frage zu Formular. Zero.exe PHP Tipps 2005 6 01.03.2005 19:45
Array per Formular übergeben und weiter füllen mercurio PHP-Fortgeschrittene 2 28.11.2004 19:11
Fehleranzeige im Formular tikal PHP Tipps 2004 4 07.10.2004 14:57
Brauche PHP Formular Beitragsarchiv 9 16.08.2004 16:23
[Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst PHP Tipps 2004 4 15.08.2004 15:44
[Erledigt] Daten in neuem Formular anzeigen PHP Tipps 2004 6 21.07.2004 10:44


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:23 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