• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

include durch Button

wer weiß ob es bei Juli bleibt? es gibt noch August, Septemper, ... . Wer sagt, dass villeicht auch $_POST["Juli"].
->
PHP:
 <?php
if($_POST["Juli"] == "Juli"){
    include(Juli.php);
}elseif($_POST["Juli"] == "August"){
    include(August.php);
}elseif($_POST["Juli"] == "September"){
    include(September.php);
}
?>
Das isset() ist trotzdem unnötig.

Was ist angenehmer zu schreiben? $_POST["Juli"] oder $Juli ? Das kann ja mahl ein rießen Quallcode werden.
Solange man die Variable nur einmal braucht, sehe ich es als unnötig an. Sollte das Script jedoch noch wachsen und diese öfter genutzt werden, gebe ich dir recht.
 
isset benutzt ich immer wenn ich schauen möchte ob überhaupt die Informationen vorliegen. Wenn nicht gets weiter. Das Forumular wird abgeschict bevor was pasiert, schon mahl auf die Idee gekommen? Es ist für mich halt ein Teil der Sortierug. Ich kann einfach echo"djfldjflsdjljsjflsdjfsjdofjsiowefosdwofsrwhgwr0g0w0"; dazufügen und schauen ob da irgend was falsch leuft, bei dir nicht so gut.
 
Ohaaaaaaaaa!

Das ist ja genial es funktioniert...
...also nach dieser langen "Diskusion" glaubte ich wirklich nicht mehr daran.

Dann mal vielen vielen (usw.) Dank.

Mit freundlichen Grüssen
Sunnyboy
 
- Prüfungen mit isset() sind zumindest guter Stil (und wir machen ja nichts anderes ;)), weil POST-/GET-Felder nicht zwangsläufig gesetzt sein müssen.

PHP:
<?php

error_reporting(-1); // Alle Fehler/Notizen anzeigen, siehe Doku zur Funktion

echo $_GET['test'];

// Notice: Undefined index: test in index.php on line 5

Ich mache oft sowas für jede POST-/GET-Variable, bevor ich mit den Werten arbeite:

PHP:
$_GET['test'] = (isset($_GET['test'])) ? trim($_GET['test']) : '';

(Ternary-Operator)

Nun ist sichergestellt, dass das Feld bei weiteren Auslese-Versuchen zumindest gefunden wird.

- Der Dateiname bei Includes wird übrigens logischerweise als String erwartet.

PHP:
include 'juli.php';

Die include- und require-Befehle sind zudem Sprachkonstrukte (so wie echo) und keine Funktionen. Man lässt deshalb die Klammern um den Pfad üblicherweise weg.

- Nach diesem Code (aus #18) hat $Juli übrigens den Wert true (Operator-Rangfolge):

PHP:
if(isset($_POST["Juli"])){
if($Juli = $_POST["Juli"] == "Juli"){
include(Juli.php);
}}

Zudem läge im auf diesen Ausschnitt folgenden Code dasselbe isset()-Problem für $Juli vor, wie oben schon für $_POST['Juli'] beschrieben, da $Juli nur dann gesetzt ist, wenn die äußere Bedingung erfüllt ist. Sinnvoller ist es zum Beispiel so:

PHP:
$juli = (isset($_POST['Juli'])) ? $_POST['Juli'] : '';

if ($juli == 'Juli') {
    include 'Juli.php';
}

- Zu PHP_SELF möchte ich noch mal auf Basti93 in #15 hinweisen. Ein leeres action-Attribut (action="") erfüllt meist denselben Zweck, da es das Formular an die aktive URL schickt.
 
Natürlich an alle die versucht ham zu helfen und es zusammen auch geschafft haben.

Warum denn diese Frage?
Is doch wohl relativ klar...
...oder etwa nicht?

Aber nochmals vielen vielen Dank an alle die sich letztes mal nicht angesprochen fühlten :razz:

LG Sunnyboy
 
Zurück
Oben