2017-01-26 3 views
-1

Meine Seite url ist so etwas wie http://localhost/coursera/instructor/course.php?id=1&name=web%20development&section=overview

und auf dieser Seite habe ich eine Form wie

<form action="<?php echo $_SERVER["PHP_SELF"];?>" method="post">  
<div class="form-group"> 
    <textarea class="form-control" placeholder="What will students need to know or do before starting this course? Who is your target student? At the end of my course, students will be able to..." rows="8" required="" name="description"></textarea> 
</div>         
<button type="submit" class="btn btn-info btn-fill btn-block" name="overview">Save</button> 
</form> 

Aber das Problem ist <?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?> und <?php echo $_SERVER["PHP_SELF"];?> werden auf die gleiche URL mit allen $ _GET Werte nicht zurück.

Anyway, um das Formular auf die gleiche Seite zurückzukehren, weil ich nicht $ _Get Values ​​fest codieren kann.

Danke.

Edit:

print_r($_SERVER["PHP_SELF"]); 

zeigt /coursera/instructor/course.php aber ich will http://localhost/coursera/instructor/course.php?id=1&name=web%20development&section=overvieweine Möglichkeit, es zu tun?

+0

'print_r ($ _ SERVER)' und sehen, was Sie –

+0

verwenden können @Federkun Ich möchte, dass, wenn ich das Formular abzuschicken i zu gleichen URL zurückgeben sollte, aber es ist nicht – Phoenix

Antwort

4

Update 1:

Ich möchte, dass, wenn ich das Formular abzuschicken i zu gleichen URL zurückgeben sollte, aber es ist nicht

Sie einfach die Aktion leer Attribut halten kann Falls Sie möchten, dass das Formular zur selben Seite zurückkehrt.

<form method="post" action=""> 

Update 2:

Während es funktioniert, gemäß der W3C-Dokumentation es ist kein gültiger Wert.

Die Aktion und formaction Inhaltsattribute, wenn muss einen Wert angegeben, der eine gültige Nicht-leer-URL möglicherweise von Flächen umgeben ist.


Bitte beachten Sie, PHP_SELF nicht die Query-String zurückgibt (? X = y & z = d) .Just die dir und den Dateinamen.

PHP_SELF

Der Dateiname des aktuell ausgeführten Skripts, relativ zu dem Dokument Wurzel. Zum Beispiel wäre $ _SERVER ['PHP_SELF'] in einem Skript unter der Adresse http://example.com/foo/bar.php /foo/bar.php. Die Konstante FILE enthält den vollständigen Pfad und Dateinamen der aktuellen (d. H. Eingeschlossenen) Datei. Wenn PHP als Befehlszeilenprozessor ausgeführt wird, enthält diese Variable den Skriptnamen seit PHP 4.3.0. Zuvor war es nicht verfügbar.

+0

ist es gute Praxis, es leer zu lassen auf einreichen ? – Phoenix

+0

Danke. Arbeiten. – Phoenix