formular reloaded sich :(

draGY

Mitglied
Hi , hier bin ich wieder ;)
Also habe im Menu ein formular das als Login dient.
PHP:
<?php
// menu.php
// ...
echo "<form action=\"index.php?seite=links_adden\" method=\"post\">\n";
echo "<input type=\"text\" name=\"l_name\" value=\"" . $_SESSION['l_name'] . "\" class=\"l_login\"><br>\n";
echo "<input type=\"password\" name=\"l_pass\" value=\"" . $_SESSION['l_pass'] . "\" class=\"l_login\"><br>\n";  
echo "<input type=\"submit\" value=\".login\" class=\"l_submit\">\n";
// ...
?>

man beachte ' action=\"index.php?seite=links_adden\" ' !

Wenn die Seite links_adden.php nu in der dafuer vorgesehen tabelle sich geöffnet hat kann ich dort einen Link eingeben , also wieder ein Formular:
PHP:
<?php
// links_adden.php
// ...
echo "<form action=\"index.php?seite=links_added\" method=\"post\">\n";
echo "<input type=\"text\" name=\"link_add\" value=\"http://\" class=\"l_add\"><br>\n";
echo "<input type=\"submit\" value=\".hinzufügen\" class=\"l_submit\"><br>\n";
// ...
?>

dem zu folge muesste nun der submit button '.hinzufügen' die Seite links_added.php aufrufen (oder hier halt ' index.php?seite=links_added').
Das Problem nun is das wenn ich auf den Button '.hinzufügen' klicke er 'index.php?seite=links_adden' aufruft. Also sozusagen einen reload macht da es ja die selber Seite ist auf der ich mich grad befinde.


Wenn ich jedoch in der menu.php das Formula insofern aender das ich anstatt 'action="index.php?seite=links_adden"' , 'action="links_adden.php"' verwende und links_adden.php somit im ganzen Fenster geöffnet wird anstatt nur in der vorgesehen Tabelle dann funktioniert alles. Also wenn ich dann auf '.hinzufügen' gehe wird 'links_added.php' (oder 'index.php?seite=links_added' je nachdem was da steht) geöffnet.

Aber im ersten Fall reloaded die Seite sozusagen nur , und es ist egal welchen link ich unter 'action' in der links_adden.php setzte es wird immer nur die selber Seite aufgerufen und zwar die auf der ich gerade bin.

Weiß einer wieso das so ist? Ich möchte nämlich schon gerne es in die Page eingebunden wird.

THX schon mal. Sollte etwas nicht klar sein werde ich gerne genauer erläutern sofern es mir möglich ist. Es soll nicht am Verständnis liegen das ihr mir nicht helfen könnt.
 
so wie ich das verstehe versuchst du ja eine externe datei in einer anderen datei anzuzeigen oder?
sowas geht meines wissens nur mit frame oder iframe...
 
jede Datei wird bei mir includet.
Meine inhalt.php sieht so aus:
PHP:
<?php
 if(isset($_GET['seite']))
    {
         switch($_GET['seite'])
	 {
	     case "news":
	         include("news.php");
	         break;
	     case "me":
       	 	 include("me.php");
       	 	 break;
             // und so weiter
             default:
	         include("home.php");
       		 break;
          }
     }
     else
     {
          include("home.php");
     }   
?>
Dat mim einrücken hat ihr net so ganz gefunzt , sorry

Und diese inhalt.php wird in eine Tabelle includet.
Alle Links im menu sehen wie ' index.php?seite=home ' aus und je nach Seite wird 'home' durch was anderes ersetzt.
Also das geht ja alles wunderbar nur das mit dem Formular noch net wenn ich dieses includen lasse.
Ich weiß ja nicht genau wodran dieser Fehler liegt aber ich weiß wie ich den einfach wegbekomm udn zwar das ich die 'links_adden.php' nicht include deshalb nehme ich an das der Fehler da auch irgendwo liegen muss. Hoffe ihr koennt mir da helfen.
 
wenn ich mal die quintessenz aus deinem ersten post schnappe, dann wird links_adden.php anstatt links_added.php included, obwohl die variable richtig übergeben wird? richtig?

wenn dem so ist, würde ich meine switch/case abfrage noch einmal durchgehen, ob dort nicht der eine buchstabe vertauscht wurde oder cut/paste seine opfer verlangt hat.
 
Fall 1:
im menu.php steht im Formular : 'action="index.php?seite=links_adden"'

Fall 2:
im menu.php steht im Formular : 'action="links_adden.php"'

Fall 1:
Im Fall 1 wird links_adden.php in der vorgesehen Tabelle geöffnet.
Klicke ich auf 'submit' von dem Formular das in links_adden.php ist wird nicht 'action="beliebige_seite.php"' (hier halt links_added.php) ausgeführt sondern 'index.php?seite=links_adden' aufgerufen und das ist ja die Seite auf der ich mich gerade befinde. Egal was bei 'action=" .. "'steht.

Fall 2:
Im Fall 2 wird links_adden.php im ganzen Fenster geöffnet , also nur die Seite ist sichbar und kein Menu mehr oder so. Dann wenn ich auf 'submit' klicke wird auch 'index.php?seite=links_added' geöffnet und alles klappt wunderbar.
Ich brauch also nur im Formular von menu.php bei action 'links_adden.php' anstatt 'index.php?seite=links_adden' schreiben und alles wuerde gehen. Nur will ich ja das es sich in der vorgesehen tabelle sich öffnet , wie alles andere auch .

Hoffe es wurde nun klarer.
 
also entweder stimmt bei deinem case system etwas nicht oder bei der action angabe...

im menu.php steht im Formular : 'action="index.php?seite=links_adden"'

muss da nicht

im menu.php steht im Formular : 'action="index.php?seite=links_adden.php"'

stehen?
 
nein

nein muss es nicht.
Da in der inhalt.php ja $_GET['seite'] ueberprueft. Und wenn ich bei
case "links_adden": include("links_adden.php");
schreibe dann heisst es das wenn da im link ?seite=links_adden steht soll er links_adden.php includen.
Würde ich case "link_adden.php": schreiben muesste ich dann auch ?seite=links_adden.php schreiben aber so nicht.

Zumal die Seite ja doch geöffnet wird nur funktioniert dann der submit button nicht so wie er es soll , oda das ganze Formular halt.


Achja wenn ich 'index.php?seite=linnks_adden' einfach als Links im Menu nehme , also ohne das Login , funktioniert es auch nicht , aber wenn ich nur 'links_adden.php' verlinke und sich die ganze Seite im ganzen Fenster öffnet klappt et wieder. Also liegt es nicht am Login.
 
Zuletzt bearbeitet:
Zurück