php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 28.04.2006, 18:15  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 193
Zangelo
Standard Select Menü

Hallo,
ich hab ein Formular, bei dem kann man Informationen in Textfelder eingeben, und diese werden mit dem Abschicken Button dann in einen Text eingefügt.
Das möchte ich auch mit einem select machen, dass man nur vorgegebene Informationen auswählen kann, und diese dann eingefügt werden.
Das klappt aber nicht, die Informationen werden nicht dargestellt.

Ich hab hier den Code, und würde mich freuen, wenn ihr mir sagen könntet, wieso dies nicht geht.

PHP-Code:
<form action="textfeld.php" method="post">
<input type="hidden" value="true" name="gesendet">

Feld1:

<textarea rows="1" cols="20" name="Feld1"></textarea>


Feld2:

<textarea rows="1" cols="20" name="Feld2"></textarea>


<select name="Auswahl1" size="1">
<option title="Auswahl1" value="Auswahl1">Auswahl1</option>
<option title="Auswahl2" value="Auswahl2">Auswahl2</option>
</select>


<input type="submit" value="Abschicken">
</form>

<?
if($_POST["gesendet"]){

/*Variabeln auslesen*/
$Feld1 $_POST["Feld1"];
$Feld2 $_POST["Feld2"];
$Auswahl1 $_Post["Auswahl1"];

/*Feld1*/
if ($Feld1){
   echo 
"Hallo: ".$Feld1." !
"
;
   }
if(!
$Feld1) {
   echo 
"";
   }

/*Feld2*/
if ($Feld2){
   echo 
"Feld2 ".$Feld2." !
"
;
   }

if(!
$Feld2) {
   echo 
"";
   }


/*Auswahl*/
if ($Feld2){
   echo 
"Auswahl: ".$Auswahl1." !
"
;
   }


}
?>
__________________

www.das-forum.us Das Forum dazu
Zangelo ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 28.04.2006, 18:20  
Gast
 
Beiträge: n/a
Standard

Zitat:
$Auswahl1 = $_Post["Auswahl1"];
Das ist einer der Gründe, warum ich das nutzlos zusätzliche Zuweisen nicht mag: Man kann sich schnell mal vertippen.
Code:
<?php
if ($_POST['Feld']) {
	echo 'Feld2 ', htmlentities($_POST['Feld']), " !
\n";
} 
?>
Am Anfang des PHP Skripts
error_reporting(E_ALL); ini_set('display_errors', true);
einfügen, damit Fehler und Warnungen von PHP angezeigt werden.
Damit würde auch der Vertipper bei _Post ins Auge springen.

Zitat:
/*Auswahl*/
if ($Feld2){
echo "Auswahl: ".$Auswahl1." !
";
}
Warum auf Feld2 testen, wenn Auswahl1 benutzt wird?
 
Alt 28.04.2006, 19:06  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 193
Zangelo
Standard

Hallo,
ich wusste nicht, dass es auch anders geht.
Ich habe das jetzt so gemacht:

PHP-Code:
<form action="textfeld.php" method="post">
<input type="hidden" value="true" name="gesendet">

Name:

<textarea rows="1" cols="20" name="Feld1"></textarea>


Hobby:

<textarea rows="1" cols="20" name="Feld2"></textarea>


<select name="Auswahl1" size="1">
<option title="Auswahl1" value="Auswahl1">Auswahl1</option>
<option title="Auswahl2" value="Auswahl2">Auswahl2</option>
</select>


<input type="submit" value="Abschicken">
</form>

<?


/*Feld1*/
if ($Feld1){
   echo 
"Hallo ".$Feld1." !
"
;
   }
if(!
$Feld1) {
   echo 
"";
   }

/*Feld2*/
if ($Feld2){
   echo 
"mit dem Hobby ".$Feld2.
"
;
   }

if(!
$Feld2) {
   echo 
"";
   }


/*Auswahl*/
if ($Auswahl1){
   echo 
"Auswahl: ".$Auswahl1.
"
;
   }


?>
Das geht jetzt gut, nur wenn ich jetzt
PHP-Code:
<?php
error_reporting
(E_ALL);
ini_set('display_errors'true); 

?>
einfüge, in dem Script, bekomme ich immer diese Fehlermeldung, ist das schlimm?

Und kann man von dem Script sagen, dass ein guter Weg gewählt worden ist, oder hätte man es besser machen können?
__________________

www.das-forum.us Das Forum dazu
Zangelo ist offline  
Alt 28.04.2006, 19:27  
Gast
 
Beiträge: n/a
Standard

Die Version funktioniert jetzt nur noch mit register_globals=ON. Und das ist seit php 4.2.0 nicht mehr die Voreinstellung.
Also nochmal:
PHP-Code:
<?php
if ($_POST['Feld']) {
   echo 
'Feld2 'htmlentities($_POST['Feld']), " !
\n"
;
}
?>
Da das Skript noch keinen wirklichen Nutzen/Sinn hat, kann ich nicht sagen, ob es sich besser machen läßt.

- konsequenter Einrücken
- gültiges html produzieren. Das Ergebnis sollte ohne Beanstandung durch http://validator.w3.org/ laufen können.
- Paramtern sprechende Namen geben. Bspw: Feld1 soll den Namen enthalten? Warum heisst es dann Feld1?
- Parameter mit isset() oder empty() abtesten
- Warum bei einer ja/nein Frage nocheinmal das Gegenteil abprüfen? Da reicht ein else-
- Warum überhaupt das Gegenteil behandeln, wenn man nichts machen will? Oder was tut echo ""; ?

- und noch ein paar Sachen mehr.


PHP-Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/2002/REC-xhtml1-20020801/DTD/xhtml1-strict.dtd">
<html>
    <head>
        <title>Formular Versuche</title>
    </head>
    <body>
<?php
if (!empty($_POST['Feld1'])) {
 echo 
"Hallo "htmlentities($_POST['Feld1']), " !
"
;
}

if (!empty(
$_POST['Feld2'])) {
 echo 
"mit dem Hobby "htmlentities($_POST['Feld2']), 
"
;
}

if (!empty(
$_POST['Auswahl1'])) {
   echo 
"Auswahl: "htmlentities($_POST['Auswahl1']), 
"
;
}
?>    
        <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
            <div>
                
                <input type="hidden" value="true" name="gesendet" />
                Name:
                

                <textarea rows="1" cols="20" name="Feld1"></textarea>
                

                Hobby:
                

                <textarea rows="1" cols="20" name="Feld2"></textarea>
                

                <select name="Auswahl1" size="1">
                    <option title="Auswahl1" value="Auswahl1">Auswahl1</option>
                    <option title="Auswahl2" value="Auswahl2">Auswahl2</option>
                </select>
                

                <input type="submit" value="Abschicken" />
            </div>
        </form>
    </body>
</html>
 
Alt 28.04.2006, 22:36  
Erfahrener Benutzer
 
Registriert seit: 15.06.2005
Beiträge: 193
Zangelo
Standard

Hallo,
vielen dank für die vielen mühen, ich hab gesehen, dass mir mein freund paar sachen falsch gesagt hat, z.b. das input hidden feld....
Die funktion dieses Script ist nun schon fast fertig, ich möchte ein "HTML-Code-Generator" machen, Feld1 heißt Feld1, weil ich dafür noch keinen besseren Namen wusste, und ich einfach das Script erstmal zum laufen bekommen möchte.

Warum benutzt du aber
und nicht
hat dies einen Grund?
__________________

www.das-forum.us Das Forum dazu
Zangelo ist offline  
Alt 28.04.2006, 22:40  
Gast
 
Beiträge: n/a
Standard

doctype xhtml, also xml konformes html.
Und da muss jedes Element geschlossen werden. Elemente ohne Inhalt können als <element /> geschrieben werden.
 
 


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] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
[Erledigt] Mysql Insert Select + Concat Hu5eL Datenbanken 14 10.06.2008 10:39
Javascript Select liste verdoppeln dsmcg HTML, Usability und Barrierefreiheit 8 19.10.2006 16:56
SELECT AS geht bei AVG net cyberholic Datenbanken 0 04.05.2006 09:43
[JavaScript] Event Handler in form select - Syntax? winfo_cologne HTML, Usability und Barrierefreiheit 5 29.03.2006 16:47
SELECT Liste aus MySQL verarbeiten jensK PHP Tipps 2006 9 09.02.2006 16:08
SELECT um eine Bedingung erweitern ?! Datenbanken 2 22.10.2005 10:09
Probleme mit Inner Select Datenbanken 0 19.10.2005 15:22
selbst gelöst! Select <option> kleines Problem Dropdow 24bits PHP Tipps 2005-2 0 15.10.2005 19:19
[Erledigt] Select Statement - Order by Problem mit Datentypen Datenbanken 6 03.06.2005 16:02
Warum manchmal "`" um Felder bei Select Unbekanntes_Pferd Datenbanken 4 02.05.2005 14:11
[Erledigt] SELECT in SELECT PHP Tipps 2005 5 06.04.2005 22:30
[Erledigt] [gelöst] MySQL abfrage eingrenzen anhand einer SELECT Auswah Datenbanken 13 01.12.2004 18:42
[Erledigt] 2 mal select 1 form PHP-Fortgeschrittene 1 01.09.2004 20:13
selektierter wert in select box anzeigen PHP Tipps 2004 6 30.08.2004 13:49

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
select menu php, einrücken select menu, select option mit hidden feld, select * from where feld1 < feld2, if (\'feld1\'!=empty ) php, formular mit select menü, formular mit selectmenü php, javascript in select menu, select box value voreingestellt, select menu html geschlossen, php hidden gegenteil, html \<option title\ per javascript zuweisen

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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.