php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.12.2008, 08:06  
22hase
Gast
 
Beiträge: n/a
Standard [Erledigt] Zufallscode, Eingabefeld, Felderüberprüfen

Morgen.

Also ich würde gern wenn sich leute anmelden das sie per mail einen code geschickt bekommen...in der mail ist dann ein link zu einer seite wo sie diesen bestätigen müssen...

gibts da ein befehlt weil hab nur umständliche dinge gesehen...

Zweitens:

wenn user in einen Feld zum beispiel "D" eingeben sollte dahinter im Feld gleich Deutschland erscheinen...wie funktioniert das denn? (Daten sind in einer DB vorhanden)

Drittens...

wie kann man sagen ob alle Felder ausgefüllt wurden sind und erst dann e-mail verschickt wird? da tu ich mnich grad schwer :/


Grüßle Hase
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.12.2008, 08:36  
Erfahrener Benutzer
 
Registriert seit: 28.03.2008
Beiträge: 1.847
HPR1974 wird schon bald berühmt werden
Standard

zu erstens Du meinst die PHP standardfunktion generate_email_mit_code_auf_den_der_user_clicked_u nd_dann_automatisch_alles_passiert()

zu zweitens
das Funktioniert über Ajax

zu drittens
na Du überprüfst die Felder und wen alle gefüllt sendest Du eine Email
HPR1974 ist offline  
Alt 08.12.2008, 08:37  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Hallo!

zu 1.)
Also das ist eigentlich ganz einfach,du lässt via. PHP einen zufäliggen Code kreieren und hängst den in dem Link in der Email an und schreibst den mit in die Tabelle rein. Dann übergibst du den Code wenn der Link angeklickt wird per GET Parameter an die Seite wo die Freischaltung passieren soll und machst die DB Abfrage nach dem Code,den du als GET Parameter übergibst.

zu 2.)
Das geht mit PHP nicht dazu musst du Javascript nutzen.

zu 3.)
Das fällt unter das Affenformular,du musst jedes Feld prüfen und bei Falscheingabe etc. eine Fehlermeldung hervorrufen,erst wenn alles sauber ist wird eine E-Mail verschickt oder ein Eintrag in die DB gemacht.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 08.12.2008, 08:40  
22hase
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
Hallo!

zu 1.)
Also das ist eigentlich ganz einfach,du lässt via. PHP einen zufäliggen Code kreieren und hängst den in dem Link in der Email an und schreibst den mit in die Tabelle rein. Dann übergibst du den Code wenn der Link angeklickt wird per GET Parameter an die Seite wo die Freischaltung passieren soll und machst die DB Abfrage nach dem Code,den du als GET Parameter übergibst.

zu 2.)
Das geht mit PHP nicht dazu musst du Javascript nutzen.

zu 3.)
Das fällt unter das Affenformular,du musst jedes Feld prüfen und bei Falscheingabe etc. eine Fehlermeldung hervorrufen,erst wenn alles sauber ist wird eine E-Mail verschickt oder ein Eintrag in die DB gemacht.

also zum formular..das mit den überprüfen und fehlerausgabe habe ich fertig

PHP-Code:
if(isset($_POST['Pass']) == TRUE && empty($_POST['Pass']) == FALSE &&
 isset(
$_POST['PassWdh']) == TRUE && $_POST['Pass'] <> $_POST['PassWdh'])
{
 echo 
"Passwort stimmt nicht überein<br><br>";
}
$Pflichtfelder = array('Name','Pass','PassWdh','Mail','Firma','Ansprechpartner','Strasse','PLZ','Ort','Internetpraesenz','EMail','Telefon','Fax');
function 
Formular_Pflichtfelder() 

 if(
$_POST['register']=="reg"
 {
  global 
$Pflichtfelder
  
$Fehler ''
  foreach (
$Pflichtfelder as $Feld
  { 
   
$key str_replace(' ','_',$Feld); 
    if(!(isset(
$_POST[$key]) && trim($_POST[$key]))) 
    { 
      if(
$Fehler$Fehler .= '<br />'
      
$Fehler .= 'Pflichtfeld <strong><font color="#FF0000">"' $Feld '"</font></strong> nicht ausgefüllt.'
    } 
  } 
  return 
$Fehler
 }  
}
echo 
Formular_Pflichtfelder(); 
klappt auch wunderbar...aber jetzt weiß ich eben den ansatz nicht...
 
Alt 08.12.2008, 08:47  
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

Für Drittens:
Du kannst die Felder
a per Java-Script überprüfen oder
b die Post-Dateien an eine Datei übergeben die die Eingaben z.B mit einer if() Bedingung prüft.

Ich habe da mal für beide Beispiele Scripte aus meinem Seiten da:
(Mein Beispiel aus meiner Gästebuchanwendung, alle Felder werden geprüft und das schöne ist, es wird das e-mail feld auf eine Adresse im richtigen Format geprüft)

Java-Prüfung:
PHP-Code:
<script language="JavaScript">
<!--
function 
pruefen() {
res true;
document.form1;
reg = new RegExp('^([a-zA-Z0-9\\-\\.\\_]+)'+    //Name
                  
'(\\@)'+                       //@-Zeichen
                  
'([a-zA-Z0-9\\-\\.]+)'+        //Domain
                  
'(\\.)'+                       //Punkt
                  
'([a-zA-Z]{2,4})$');           //TLD

  
if (reg.test(a.mail.value) == false) {
    
alert("Sie haben keine g&uuml;ltige Emailadresse angegeben!");
    return 
false;
 }
  if (
a.name.value.length 3) {
    
alert("Bitte einen g&uuml;ltigen Namen mit mind. 3 Buchstaben angeben");
    return 
false;
  }
  
    if (
a.betreff.value.length 3) {
    
alert("Bitte einen Betreff mit mind. 3 Zeichen eingeben");
    return 
false;
  }
  
    if (
a.message.value.length 10) {
    
alert("Bitte eine Nachricht mit mind. 10 Zeichen eingeben");
    return 
false;
  }
}
//-->
</script> 
für eine externe "check.php":
(für eine Benutzeranmeldung, bei erfogreicher Prüfung werden die $_POST Daten an eine Funktion übergeben, Ansonnsten wird die Session['error'] gestartet mit den Fehlermeldungen und ausgegeben.)
PHP-Code:
<?php
error_reporting
(E_ALL);
require 
'../includes/config.inc.php';

$username htmlspecialchars($_POST['username']);
$vorname  htmlspecialchars($_POST['fname']);
$nachname htmlspecialchars($_POST['lname']);
$email      $_POST['email'];
$password $_POST['pw'];
$password2 =$_POST['pw2'];


$error "";
$check "";
if (
$username == "")
{
    
$error .= "Bitte einen Usernamen angeben.<br>";
    
$check 1;
}
if (
$vorname == "")
{
    
$error .= "Bitte einen Vornamen angeben.<br>";
    
$check 1;
}
if (
$nachname == "")
{
    
$error .= "Bitte einen Nachnamen eingeben.<br>";
    
$check 1;
}
if (
$email == "")
{
    
$error .= "Bitte eine E-Mailadresse angeben.<br>";
    
$check 1;
}
if (
$password == "")
{    
    
$error .= "Passwörter sind leer.<br>";
    
$check 1;   
}
if (
$password != $password2)
{    
    
$error .= "Passwörter sind nicht gleich.<br>";
    
$check 1;   
}

if(
$check != 1)
{
    
$obj_user->inputUSER($_POST);         
}


    
$_SESSION['error'] = $error;
    
Header("Location: ".$_SERVER['HTTP_REFERER']);
?>
frank-ae ist offline  
Alt 09.12.2008, 08:34  
22hase
Gast
 
Beiträge: n/a
Standard

Zitat:
Zitat von 22hase Beitrag anzeigen
also zum formular..das mit den überprüfen und fehlerausgabe habe ich fertig

PHP-Code:
if(isset($_POST['Pass']) == TRUE && empty($_POST['Pass']) == FALSE &&
 isset(
$_POST['PassWdh']) == TRUE && $_POST['Pass'] <> $_POST['PassWdh'])
{
 echo 
"Passwort stimmt nicht überein<br><br>";
}
$Pflichtfelder = array('Name','Pass','PassWdh','Mail','Firma','Ansprechpartner','Strasse','PLZ','Ort','Internetpraesenz','EMail','Telefon','Fax');
function 
Formular_Pflichtfelder() 

 if(
$_POST['register']=="reg"
 {
  global 
$Pflichtfelder
  
$Fehler ''
  foreach (
$Pflichtfelder as $Feld
  { 
   
$key str_replace(' ','_',$Feld); 
    if(!(isset(
$_POST[$key]) && trim($_POST[$key]))) 
    { 
      if(
$Fehler$Fehler .= '<br />'
      
$Fehler .= 'Pflichtfeld <strong><font color="#FF0000">"' $Feld '"</font></strong> nicht ausgefüllt.'
    } 
  } 
  return 
$Fehler
 }  
}
echo 
Formular_Pflichtfelder(); 
klappt auch wunderbar...aber jetzt weiß ich eben den ansatz nicht...

mhhh..das klappt immer noch ne....wenn ich jetzt den db eintrag drunter seitze schreibt er leere user rein...

mit was soll ich denn das bitte prüfen ?
 
 


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
Dialogbox mit Eingabefeld - Javascript FBI HTML, Usability und Barrierefreiheit 1 28.08.2006 06:32
Mehrzeiliges Eingabefeld mit vorgegebenem Text- Howto? DerN8WaechterX HTML, Usability und Barrierefreiheit 2 22.04.2006 10:53
Eingabefeld und Button erzeugen PHP Tipps 2006 16 03.02.2006 00:10
zwei werte und ein eingabefeld PHP Tipps 2006 1 20.01.2006 16:21
Eingabefeld sperren, wenn Wert eingegeben wird Mike55 HTML, Usability und Barrierefreiheit 3 17.01.2006 19:24
Zeilenumbruch im Mehrzeiligen Eingabefeld erzwingen PCServe PHP Tipps 2007 2 27.12.2005 11:34
Eingabefeld mit Return bestätigen PHP Tipps 2005-2 11 09.09.2005 15:14
text aus eingabefeld filtern PHP Tipps 2005 13 29.03.2005 17:06
Werte in Eingabefeld setzten! Boennchen PHP Tipps 2005 3 19.02.2005 16:00
Frage zu Eingabefeld! Boennchen HTML, Usability und Barrierefreiheit 4 11.02.2005 18:35
[Erledigt] session beenden und eingabefeld pruefen PHP Tipps 2005 2 10.02.2005 20:20
[Erledigt] eingabefeld HTML, Usability und Barrierefreiheit 4 26.08.2004 09:59
begrenzung in normalem eingabefeld HTML, Usability und Barrierefreiheit 2 22.07.2004 15:09
[Erledigt] text in eingabefeld einfügen u. umprogramierung einer taste PHP Tipps 2004 16 24.06.2004 12:01
Datum in Eingabefeld PHP Tipps 2004 7 22.06.2004 10:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
\eingabefeld sperren\ bedingung access, php zufallscode übergeben, java zufallscode erzeugen, http://www.php.de/php-tipps-2008/49656-erledigt-zufallscode-eingabefeld-felderueberpruefen.html, js zufallscode

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