PHP Seite mit Formularfunktion funktioniert nicht in Unterseite

MisterMi

Erfahrenes Mitglied
Hallo,

ich habe folgende Seite die allein funktioniert und die Checkbox Auswahl in die DB schreibt:

PHP:
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', TRUE);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Checkboxen mit PHP auswerten</title>
</head>
<body bgcolor="#008000">

<form action="http://xxx.de/save.php?p=teste">
<input type="hidden" name="sent" value="yes">
<input type="text" name="user"><br>
<p align="center">&nbsp;</p>
<p><b><font size="+3">Torwart:</font></b><br />
<input type="checkbox" name="spieler[]" value="Manuel Neuer" />Manuel Neuer - Bayern - Torwart (TW) - 30.000.000 €<br />
<input type="checkbox" name="spieler[]" value="Marc-André ter Stegen" />Marc-André ter Stegen - Gladbach - Torwart (TW) - 11.000.000 €<br />

<input type="submit">
</form>
<?php

if (isset($_GET['sent']) and $_GET['sent'] == 'yes') {

//Verbindung herstellen
$db = mysql_connect("xxx.de.mysql", "xxx_de", "xxx") or die ("Keine Verbindung möglich: ".mysql_error());
mysql_select_db("xxx_de",$db) or die ("Keine Verbindung möglich: ".mysql_error());

    for ($a = 0; $a < count($_GET['spieler']); $a++) {
         $val[] = "('" .mysql_real_escape_string($_GET['user']) ."', '" .mysql_real_escape_string($_GET['spieler'][$a]) ."')";
    }
    $values = implode(', ', $val);

    $sql1 = "INSERT INTO kader (username, spielerid) VALUES " .$values;
    //$sql_delete = "DELETE FROM kader WHERE user = '" .mysql_real_escape_string($_GET["user"] ."'";
    //mysql_query($sql_delete);
    mysql_query($sql1);
    echo $sql1;

    //Verbindung beenden
mysql_close($db);

echo '<h1>Ihre Mannschaft &quot;'.$_GET["user"].'&quot;:</h1>';
echo '<p>Spieler:<br><br>' .implode(", ", $_GET["spieler"]) .'</p>';

}
?>
</body>
</html>

wenn ich diese allerdings in eine andere php Seite einbauen will geht das ganze nicht mehr.
Ich glaub es liegt an der Zeile: <form action="http://xxx.de/save.php?p=teste">

da verweisse ich ja bei der einzelnen Seite auf die Seite ansich und der bringt dann auch die Meldung das es ging. Wenn die Funktion als unterfunktion in einer Seite drin ist kann ich das untermenü ansich ja nicht aufrufen...

Weiß jemand was da falsch ist?
Die Oberseite auf der es nicht geht sieht wie folgt aus:
PHP:
<div class="menu">
                <a href="?" class="menu">Home</a>
                <a href="?p=news" class="menu">Neuigkeiten</a>
                <a href="?p=top" class="menu">Top11</a>
                <a href="?p=easy" class="menu">Team w&aumlhlen</a>
                <a href="?p=last" class="menu">Letzter Spieltag</a>
                <a href="?p=stand" class="menu">Spielstand</a>
                <a href="?p=profil" class="menu">Mein Profil</a>
                <a href="?p=teste" class="menu">Test</a>
                <a href="?c=logout" class="menu">Logout</a>
        </div>
        <div class="body">

if($p == 'teste'){
... hier steht dann die Funktion...}
 
Was ich damit meine siehst du ja im Quelltext oben... Ich habe eine PHP seite die wiederrum untermenüpunkte hat. Ein Punkt davon ist eben wie oben "teste"... in dem Menü wird die Check.php Funktion aufgerufen die einzeln als PHP gespeichert funktioniert aber eben in der anderen PHP nicht mehr. Es wird die seite neu aufgerufen aber weder was in die DB geschrieben noch ein Echo ausgegeben...

Er geht eben zur Oberseite und macht nix
 
Wenn ich wüßte was du damit meinst, würde ich dich nicht fragen!

Man kann Seite per include einbinden, man kann es aber auch per IFRAME machen und so machst du es in einem deiner anderen Beiträge!

Also wenn du Hilfe möchtest, dann beantworte doch einfach die Fragen die man dir stellt. Zu raten macht für mich keinen Sinn und keinen Spaß.
 
Weder noch. Ich habe erst versucht den Code per Iframe einzubinden, aber da kannte er die Session.user nicht...

Daher habe ich den Code direkt da eingefügt... Also ohne Iframe oder so sondern direkt den Code da reinschreiben.
 
Siehst du, doch besser zu Fragen und sie zu beantworten.

PHP:
if($p == 'teste'){
... hier steht dann die Funktion...}

Diese Variable soll wohl die sein du an die URL angehängt hast!? Die musst du dann aber per $_GET["p"] abfragen und prüfen.

Und wenn du den Code direkt eingebunden hast, existiert doch nur eine Datei. Diesen Namen musst du beim form-Tag bei action="" angeben.

Was ich dann vielleicht noch machen würde ist ein verstecktes Textfeld mit dem Namen "p" in die Seite einzubauen und da value="teste" angeben. Dann kannst du dir den Parameter in der URL sparen!
 

Neue Beiträge

Zurück