Aufruf einer php-Seite. Wie mache ich's am besten?

Tiburon

Mitglied
Hallo

Ich bin gerade dabei mein eigenes Gästebuch zu programmieren. Dabei bin ich auf ein, eher kosmetisches Problem, gestossen.

Der Aufruf erfolgt über <form action="insert.php" method ="post"....

Soweit so gut. Insert.php liefert auch noch einige Meldungen zurück, wie "danke für Ihren eintrag", etc.

Mich stört, dass ich das php-Fenster kaum formatieren kann. Bspw, brauche ich keine Navigations- oder Statusleiste. Für den Aufruf der php-Seite könnte ich zwar auch mit javascript erledgien (window.open(..)), aber dann habe ich das Problem, dass $_POST nicht mehr gefüllt sind.

Hat da jemand einen Tipp, wie man das am elegantesten lösen kann?
 
Tut mir leid, aber ich verstehe kein Wort. Wtf ist ein PHP-Fenster? So etwas gibt es nicht. Du hast immer HTML-Fenster. PHP wird auf dem Server durchgeführt, davon gelangt nichts zum User. Wenn du also irgendwas formatieren willst (keine Ahnung wiederum, was das mit JavaScript zu tun hat), dann wirst du HTML und CSS benutzen müssen.
 
Was hat denn das Formatieren von Seite mit PHP zu tun?
Wenn du keine Navigations- und keine Statusleiste haben willst, dann binde sie doch einfach auf insert.php nicht ein ... Wo ist denn das Problem?
Du hast immer HTML-Fenster
<klugsch*>Gibts auch nicht, du hast ein Browser-Fenster in dem HTML dargestellt wird</klugsch*> :)
 
Zuletzt bearbeitet:
Hallo,

wenn ich dich richtig verstanden habe, dann willst du bei dem Browser Fenster z.B. das Bearbeiten und alles so weg haben stimmt das?

Gruß jaylibII
 
Ist mir schon klar, dass an den Browser HTML gesendet wird. Ist mir auch klar, dass der PHP Code in HTML umgewandelt wird, ansonsten bräuchte ich keinen Webserver.

Wenn der User "senden" drückt wird insert.php ausgeführt und das geschieht in einem neuen Browser-Fenster. Dieses Browser-Fenster soll aber weder Navigations- noch Status-Leiste haben, damit's wie ein PopUp aussieht.

Ich will nicht - was auch ginge - insert.php via javascrip:window.open() ausführen, da a.) $_POST nicht abgefüllt wird und b.) wegen den PopUp-Blocker.

@jaylibll: ja, das trifft den Nagel auf den Kopf. insert.php soll ein paar Checks machen, etwas Feedback liefern und den Gästebuch-Eintrag in MySQL ablegen.
 
Hallo,

meine Frage ist es aber dann warum du für sowas eine neue Seite brauchst? Denn das alles kannst du in einer Seite machen. Kennst du den Begriff "Affenformular" Wenn ja dann weißt du was ich meine. Wenn du aber das nicht willst dann schreib einfach nochmal dann sage ich dir wie du das auch anderes machen kannst mir dem PopUp

Gruß jaylibll
 
Hi jaylibll

Den Begriff "Affenformular" kenne ich nicht. Es braucht auch nicht unbedingt ein weiteres Browserfenster, die Kommunikation mit dem User könnte auch über javascript.alert()-Fenster erledigt werden (wäre sogar noch eleganter). Der Weg über ein php-Script ist einfach der einzige, den ich kenne.

Wenn Du noch weitere Tipps/Informationen hättest, dann gerne, nur zu! Danke.
 
also:
Soweit ich weiß, funktionieren Popup-Blocker nur, wenn der Benutzer kein Event abgegeben hat...also wenn er ein Formular abschickt, solltest du es aufrufen können.
Was jay meint, (bin grad da also kann ichs auch erklären), sind Seiten, die sowohl das Formular als auch die Auswertung enthalten. Stichwort dazu ist

if(isset($_POST["var"])
{ führe aus, meinetwegen alert(bla) }
else
{zeige formular}

Oder du machst einfach von Anfang an eine konsequente Linie und verwendest Templates oder ähnliches auf deiner Seite, um sie optisch ansprechender zu machen(aber das ist ein anderes Thema und eventuell etwas zu hoch gegriffen)
 
eLorFiN hat gesagt.:
die sowohl das Formular als auch die Auswertung enthalten. )

Also das ist sowieso meine Absicht. Das Gästebuch soll sowohl einen Eintragungs-, wie auch Anzeigeteil auf der selben Seite besitzen.

Die Anweisung <form... hat ja einen action-Teil, der normalerweise ein weiteres Script startet. Kann man diese Anweisung umbiegen, dass keine weitere Seite geöffnet wird?
Wenn ja, wo sind dann die Einträge des Benutzers gespeichert, etwa bspw. in document.Gaestebuchformular.name? Wenn dem so ist, könnte man die diversen Eingabe- und Spam-Prüfungen in der Gästebuchseite bspw. mit Javscript erledigen. Aber es stellt sich dann immer noch die Frage, wie ich die Daten in meine MySQL-DB kriege (kann ich PHP in eine Javsscript-If-Abfrage einbinden? Müsste theorethisch gehen, oder?).
 
Wenn Du z.B. dies hier hast
HTML:
<input type="text" name="text">
und das ueber POST verschickst, dann kannst Du mit PHP auf diese Variable
PHP:
$_POST["text"]
zugreifen. Also $_POST["Feldname"] ist das was im Feld mit dem Namen Feldname steht.
Du brauchst also kein JavaScript, sondern kannst alles per PHP machen.
Ist auch besser, denn JavaScript kann im Browser deaktiviert sein.
 
Zurück