• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

PHP - Aufstellung Komplexe Frage

Also in einer tpl datei habe ich dieses Formular :

HTML:
<p><b>Formation:</b> 
<form name="form1" method="post" action="test.php">
<select name="menu1">
<option value="442raute">4-4-2 Raute</option>
<option value="442doppel6">4-4-2 Doppel 6</option>
<option value="442">4-4-2</option>
<option value="4231lara">4-2-3-1 (AS)</option>
<option value="4231lmrm">4-2-3-1 (AMF)</option>
<option value="4213">4-2-1-3</option>
<option value="343">3-4-3</option>
</select>
<input type="submit" class="button" value="Auswählen">
</form>

Die Datei test.php sieht so aus :

PHP:
<?php


  if ($_REQUEST['menu1'] == "442raute") {
  
  require('aufstellung.php');
  require('templates/aufstellung.tpl');
  
  }

  elseif ($_REQUEST['menu1'] == "442doppel6") {
  
  require ('aufstellung442doppel6.php');
  require ('templates/aufstellung442doppel6.tpl');
  } 
  
?>

Jetzt mein Problem : wenn ich im Formular z.B. das 4-4-2 Raute Auswähle funktioniert das includieren nur dann wenn die PHP Datei auch einen Fehler hat! Dann wird die Seite angezeigt.. mit dem Makel halt das mysql-fehler erscheinen! Wenn die datei allerdings fehlerfrei ist erscheint nur eine weise seite. Meines Erachtens nach wird also nicht richtig "includiert" ich kann mir jedoch nicht erklären warum es dann geht wenn die zu includierende Datei einen Fehler hat..
 
Schau' dir mal an, was wirklich beim Browser ankommt (Rechtsklick - Quelltext anzeigen).

PS: Das Gegenteil von schwarz ist weiß.
 
Bei Rechtsklick - Quelltext anzeigen kommt gar nix an (es öffnet sich nichtmal ein Fenster)

Wenn die zu includierende Datei fehlerhaft ist dann : kommt halt der inhalt der datei an ;)
 
Mh kennt keiner ne Lösung?

Also nochmal :D

Wenn ich eine fehlerhafte Datei includiere dann funktioniert das Formular auch und wenn ich dann rechtsklick Quelltext anzeigen mache => Seh ich halt den HTML Code Sprich den Normalen Queltext

Wenn ich eine Fehlerfreie Datei includiere funktioniert das Formular nicht mehr => Seite bleibt weiß => Quelltext ist leer
 
Code:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);

  if ($_POST['menu1'] == "442raute") {
  
  require('aufstellung.php');
  require('templates/aufstellung.tpl');
  
  }

Edit : Ah jetzt :

[CODE]
Notice: Undefined index: menu1 in /var/www/web784/html/websoccer/test.php on line 5

Notice: Undefined index: menu1 in /var/www/web784/html/websoccer/test.php on line 12

elseif ($_POST['menu1'] == "442doppel6") {

require ('aufstellung442doppel6.php');
require ('templates/aufstellung442doppel6.tpl');
}

?>
[/CODE]

Jedoch wird mir gar nix ausgegeben, normal müssten mir ja Fehler ausgegeben werden, jedoch bleibt die Seite immernoch weiß :(
 
Code:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);

  if (isset($_REQUEST['menu1'])=='442raute') {
  
  require('aufstellung.php');
  require('templates/aufstellung.tpl');
  
  }

  elseif (isset($_REQUEST['menu1'])=='442doppel6') {
  
  require ('aufstellung442doppel6.php');
  require ('templates/aufstellung442doppel6.tpl');
  } 
  
?>

Mit diesem code gibt es keinerlei Fehler mehr.. Jedoch funktioniert es immernoch nicht ..
 
ja isset überprüft ob eine variable gesetzt ist..

also ich habe vorhin gegooglet da wurde genau das mit dem isset gelöst..
 
PHP:
<?php
ini_set('display_errors','On');
error_reporting(E_ALL);

$post = $_POST["menu1"];

  if ($post == "442raute") {
  
  require('aufstellung.php');
  require('templates/aufstellung.tpl');
  
  }

  elseif ($post == "442doppel6") {
  
  require ('aufstellung442doppel6.php');
  require ('templates/aufstellung442doppel6.tpl');
  } 
  
?>

auch so geht nix.. zwar kein Fehler aber immernoch nur eine weiße Seite.. solangsam verzweifle ich :D
 
Aber sicherlich wurde es in dem Beispiel nicht mit
PHP:
if (isset($_REQUEST['menu1'])=='442raute') {
gelöst.
Denn im Klartext steht da jetzt
Code:
if (TRUE=="442raute") {
bzw.
if (FALSE=="442raute"){
Sowieso solltest du solche Mehrfachabfragen besser mit switch lösen:
PHP:
if (isset($_REQUEST['menu1']))  {
    switch ($_REQUEST['menu1']) {
       case "442raute":
          $filePhp="aufstellung.php";
          $fileTpl="templates/aufstellung.tpl";
       break;
       case "XYZ":
          $filePhp="xyz.php";
          $fileTpl="templates/xyz.tpl";
      break;
   }
  require($filePhp);
  require($fileTpl);
}
So hast du es aufgeräumter
 
Aber sicherlich wurde es in dem Beispiel nicht mit
PHP:
if (isset($_REQUEST['menu1'])=='442raute') {
gelöst.
Denn im Klartext steht da jetzt
Code:
if (TRUE=="442raute") {
bzw.
if (FALSE=="442raute"){
Sowieso solltest du solche Mehrfachabfragen besser mit switch lösen:
PHP:
if (isset($_REQUEST['menu1']))  {
    switch ($_REQUEST['menu1']) {
       case "442raute":
          $filePhp="aufstellung.php";
          $fileTpl="templates/aufstellung.tpl";
       break;
       case "XYZ":
          $filePhp="xyz.php";
          $fileTpl="templates/xyz.tpl";
      break;
   }
  require($filePhp);
  require($fileTpl);
}
So hast du es aufgeräumter

Mh danke ;)

Mit switch case funktioniert es aber dennoch leider nicht :(
 
Raute bindet er ein und gibt diese dann auch aus (also bei var_dump die ausgabe ist tring(8) "442raute")

der zweite Fall 442doppel6... kommt keine Ausgabe (sprich weiße seite) und var_dump gibt auch nichts aus
 
Hab das nun Hinbekommen, waren fehler in den jeweiligen Aufstellungs.php dateien (ich Idiot hatte da, die gleiche Abfrage nochmal .__.)

So jetzt zum anderen Problem : Wie sorge ich dafür das er beim Einloggen immer die richtige Formationsdatei nimmt (die Standartdatei ist ja die Datei aufstelllung.php, wenn nun jedoch ein User ein 4-4-2 Doppel 6 abgespeichert hat muss natürlich auch die datei aufstellungs442doppel6.php gewählt werden. Gleiches gilt natürlich auch wenn er z.B. im Dropdown-Menü Aufstellung auswählt (dort ist ja nur eine aufstellung.php datei gelistet und nicht die anderen)

Ist zwar ziemlich kompliziert erklärt aber ich denke ihr wisst was ich meine!
 
Das musst du in deinem Datenbank entsprechend speichern. Und dann kannst du beim ersten Aufruf die Daten aus der DB lesen und die entsprechende Datei einbinden.
 
Zurück
Oben