php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.08.2008, 15:34  
Benutzer
 
Registriert seit: 31.07.2007
Beiträge: 36
Chewy befindet sich auf einem aufstrebenden Ast
Standard Sende Button nur unter vorraussetzung.

Guten Tag,

wenn ich ein Formular habe, kann ich ja mit if ganz einfach prüfen ob alles eingetragen ist, und ggf dann eine vordefenierte Antwort schrieben lassen.

Jedoch verhindert das nicht das abschicken des Formulares, nun habe ich die idee, ev den Sende Button nur anzeigen zu lassen wenn zb ein bestimmtes feld oder 2 eingetragen sind.

Gibt es da eine möglichkeit?
Chewy ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 08.08.2008, 15:36  
there's only one psycho
 
Benutzerbild von PsychoEagle
 
Registriert seit: 21.08.2007
Beiträge: 1.283
PHP-Kenntnisse:
Anfänger
PsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer MenschPsychoEagle ist ein sehr geschätzer Mensch
PsychoEagle eine Nachricht über ICQ schicken PsychoEagle eine Nachricht über Skype™ schicken
Standard

Nur mittels Javascript.

Aber warum willst du das verhindern? Prüfe nach Abschicken des Formulars, ob alles in Ordnung ist, ansonsten zeig das Formular nochmal an.

Affenformular
__________________
"Weaseling out of things is important to learn. It's what separates us from the animals ... except the weasel." (Homer J. Simpson)
PsychoEagle ist offline  
Alt 08.08.2008, 15:41  
Benutzer
 
Registriert seit: 31.07.2007
Beiträge: 36
Chewy befindet sich auf einem aufstrebenden Ast
Standard

hmm okay, ich habe nun meine Formularfelder, die dann die Eingabe direkt im gleichen Script verarbeiten und in einer Textarea wieder geben umgewandelt.
Das heist das Formular ist so und so da, man müsste ev dann nur statt der Ausgabe des Textes ne fehlermeldung bekommen. Ist das dann mit auch möglich, das konnte ich nun in den Threads die ich zu dem Hinweis im Forum fand nicht rauslesen.

also ausgabe ist das:

PHP-Code:
<?if(isset($submit))echo $text1; else echo "TEXT TEXT TEXT" ;?>

Geändert von Chewy (08.08.2008 um 15:44 Uhr).
Chewy ist offline  
Alt 08.08.2008, 16:05  
Moderator
 
Registriert seit: 06.06.2008
Beiträge: 4.945
PHP-Kenntnisse:
Fortgeschritten
Wolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer AnblickWolla ist ein wunderbarer Anblick
Wolla eine Nachricht über ICQ schicken
Standard

Mach das mit einem Affenformular.
PHP-Code:
// Formular abgeschickt?
$fehler 'Bitte alle Felder ausfüllen';
if(!empty(
$_POST['Submit'])) {

  
$fehler '';
  if(
$_POST['feld1'] == ''$fehler.= 'Feld1 nicht ausgefüllt<br>';
  if(
$_POST['feld2'] == ''$fehler.= 'Feld2 nicht ausgefüllt<br>';

  if(
$fehler == '') {
    
// Daten verarbeiten
  
}
}

if(
$fehler == '') {
  
// Gib den HTML-Code aus, den der User sehen soll
  // wenn alle Eingaben richtig waren
} else {
  
// Gib den HTML-Code aus, den der User sehen soll
  // wenn Eingaben fehlerhaft waren 
  // incl. Formular und echo $fehler;

Im else-Zweig unten ist dein Formular, das die eigene Datei aufruft. Der Absendebutton hat den Namen 'Submit'
Wolla ist offline  
Alt 09.08.2008, 18:30  
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

Ich wuerde beides kombinieren.
PTC ist offline  
Alt 10.08.2008, 15:58  
Benutzer
 
Registriert seit: 09.08.2008
Beiträge: 40
Change befindet sich auf einem aufstrebenden Ast
Standard

Ich mache es bei meinem Formular wie folgt:
PHP-Code:
$art=$_POST['art'];
$vorname=$_POST['char'];
$name=$_POST['acc'];
$ort=$_POST['ort'];
$land=$_POST['land'];

if  (
$art == "") {
  die (
"<CENTER>Sie haben vergessen eine Support-Kategorie zu wählen!</CENTER>");
}
if (
$vorname == "") {
  die (
"<CENTER>Sie haben vergessen Ihren Vornamen anzugeben!</CENTER>");
}
if (
$name == "") {
  die (
"<CENTER>Sie haben vergessen Ihren Nachnamen anzugeben!</CENTER>");
}
if (
$ort == "") {
  die (
"<CENTER>Sie haben vergessen Ihren Wohnort anzugeben!</CENTER>");
}
if (
$land == "") {
  die (
"<CENTER>Sie haben vergessen ihr Land anzugeben</CENTER>");

Die funktion: die (""); beendet das script und gibt wie der Echo befehl eine nachricht aus!
Du musst diese Abfrage jedoch im script VOR der Verarbeitungsfuktion einsetzten, da "die" das script ab der stelle stoppt an der false ausgegeben wird!

ICh suche auch schon länger nach der möglichkeit, eingetragene sachen, vor abschicken der Inhalte an das 2.php-script zu senden, da die eingetragenen Daten dann erhalten bleiben und man über dem formular in roter schrift die fehlerhaften Inhalte anzeigen lassen könnte... naja

guck mal ob es dir etwas bringt,
MfG Change
Change ist offline  
Alt 10.08.2008, 16:28  
Erfahrener Benutzer
 
Registriert seit: 19.05.2008
Beiträge: 612
PHP-Kenntnisse:
Fortgeschritten
Young Jedi befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von Change Beitrag anzeigen
ICh suche auch schon länger nach der möglichkeit, eingetragene sachen, vor abschicken der Inhalte an das 2.php-script zu senden, da die eingetragenen Daten dann erhalten bleiben und man über dem formular in roter schrift die fehlerhaften Inhalte anzeigen lassen könnte...
Das ist kein Problem, sobald du dein Script richtig aufbaust:

1. Abfrage, ob Formular abgesendet
1.1 Wenn valide Eingabe, wie gewohnt verfahren und ggf. SQL Einträge machen etc. + Ausgabe, dass der Eintrag erfolgreich hinzugefügt wurde - evtl. Abbruch des Scripts
1.2 Wenn falsche Eingabe, Variablen für den Error-Report vorbereiten - z.B.
PHP-Code:
$error_name = <div class="error">Bitte geben sie einen Namen ein</div>"; 
2. Ausgabe des Formulares in der Form
PHP-Code:
<?= $error_name ?>
<input name="name" value="<?= $_POST['name']; ?>">
wenn kein POST-Event stattgefunden hat, wird es normal ausgegeben - sonst wird der bisher eingegeber Name angezeigt und evtl. falls vorhanden die Error-Nachricht.

Ich hoffe, ich konnte dir helfen

Mfg
__________________
http://tippsgegenlangeweile.de

Young Jedi 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
button als link verwenden Zabimaru PHP Tipps 2008 5 03.04.2008 19:51
Reset Button bei Formularen TeazY PHP Tipps 2008 2 24.12.2007 14:59
Ergebnisliste mit Button weiter bearbeiten Cheesy PHP Tipps 2006 6 23.05.2006 01:01
Prüfen ob Button angeklickt wurde.. krummzahn HTML, Usability und Barrierefreiheit 2 30.04.2006 21:18
[Erledigt] Button Sperre PHP Tipps 2006 10 07.02.2006 22:42
Text &amp;amp; Button zusammen ein Link HTML, Usability und Barrierefreiheit 8 22.11.2005 09:59
[Erledigt] IF Funktion auf einen Button. Funktion wird trotzdem ausgef. HTML, Usability und Barrierefreiheit 3 04.08.2005 14:57
Toplistenscript: Button von anderem Server PHP Tipps 2005 2 20.01.2005 15:43
geechoter button funktioniert nicht richtig Crypi HTML, Usability und Barrierefreiheit 10 29.12.2004 19:08
JavaScript Button Linken! CHRIS HTML, Usability und Barrierefreiheit 3 26.12.2004 14:31
Button onclick-Event HTML, Usability und Barrierefreiheit 3 06.11.2004 13:05
[Erledigt] per Button php in &lt;td&gt; laden PHP Tipps 2004 4 26.10.2004 18:07
Ich habe eine Auswahlliste und einen Button. Wie auswerten? PHP Tipps 2004 1 20.10.2004 16:39
[Erledigt] reset button vs. function() HTML, Usability und Barrierefreiheit 1 06.07.2004 18:03
formular button linkt an interne Stelle PHP Tipps 2004 1 08.06.2004 10:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
sendebutton der nur mit javascript funktioniert

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