zurück zur Startseite
  


Zurück XHTMLforum > Webentwicklung (außer XHTML und CSS) > Serveradministration und serverseitige Scripte
Seite neu laden PHP: Formular absenden ohne URL-Leiste zu verändern?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 08.03.2010, 10:24
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard PHP: Formular absenden ohne URL-Leiste zu verändern?

Hallo Leute,

ich bin ein PHP-Noob. Ich habe ein Formular das beim Absenden ein PHP script ausführt, das dann (im Moment) durch print ergebnis; eine Ausgabe erzielt.

PHP-Code:
form id="formular" method="get" class="appnitro" action="generate.php"
So wie das Script momentan ist, wird beim Absenden des Formulars generate.php ausgeführt und ans ende meiner Adressleiste angehänt.

Also meindomain.de/generate.php

Kann ich das verhindern? So dass die URL die gleiche bleibt, aber die Ergebnisse des Scripts trotzdem sichtbar sind?
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 08.03.2010, 10:36
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Um das formular an die aktuelle URL zu senden, muss das action-Attribut einfach leer gelassen werden (hab ich kürzlich in einem anderen Thread hier gelesen).

Die Formularauswertung muss dann allerdings auch in dem Script geschehen, dass unter der URL ausgeführt wird.
__________________
github | http://dnaber.de
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 08.03.2010, 10:41
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von David Beitrag anzeigen
Die Formularauswertung muss dann allerdings auch in dem Script geschehen, dass unter der URL ausgeführt wird.
Wie meinst du das? Heißt das ich soll einfach das gesamte Script von generate.php innerhalbt meines Ursprungsdokuments (wo auch das Formular liegt) ausführen? Wo kopier ich das dann hin und wie weiß das Script dann wann es ausgeführt werden soll, wenn das action attribut frei bleibt?
Mit Zitat antworten
  #4 (permalink)  
Alt 08.03.2010, 11:30
Benutzerbild von David
auch, ja!
XHTMLforum-Kenner
 
Registriert seit: 08.11.2007
Beiträge: 2.626
David ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer AnblickDavid ist ein wunderbarer Anblick
Standard

Beim Absenden des Formulars sendet der Browser in deinem Fall einen GET-Request an die im action-Attribut eingetragene URL. Bleibt das Feld leer, eben an die aktuelle URL. Die Resource, die hinter der URL steht, muss die Daten halt auswerten können.

Bsp: Das Formular wird unter der URL domain.tld/kontakt.php angezeigt. Der Request würde dann in etwa so lauten: domain.tld/kontakt.php?hier=stehen&deine=formulardaten.

Je nach dem, wie dein generate.php aussieht, würde es theoretisch reichen, dass Du es bei einem solchen Request einfach einbindest (include()).
__________________
github | http://dnaber.de
Mit Zitat antworten
  #5 (permalink)  
Alt 08.03.2010, 11:56
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

Danke, mir geht es ja hauptsächlich darum, dass ich dem generate.php Dokument das selbe Styling geben kann wie dem normalen Dokument!

Wie kann ich denn einem PHP Dokument eine Stylesheet URL geben?
PHP-Code:
<?php
//hier einige funktionen
$output .= "hallo";
print 
$output;
?>
Ich gebe einfach nur durch print etwas aus, aber wie kann ich in dem Fall das gleiche Styesheet verwenden das ich für das Formular an sich verwende?

Wo muss diese Zeile hin?

PHP-Code:
<link rel="stylesheet" href="style.css" type="text/css" media="screen, print" charset="utf-8" /> 
Mit Zitat antworten
  #6 (permalink)  
Alt 08.03.2010, 16:34
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich das php Script mit include einbinde, dann wird das ja von Anfang an ausgeführt!
Mit Zitat antworten
  #7 (permalink)  
Alt 08.03.2010, 16:36
Benutzerbild von Praktikant
Semantikbremse.
XHTMLforum-Kenner
 
Registriert seit: 22.04.2008
Beiträge: 4.985
Praktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz seinPraktikant kann auf vieles stolz sein
Standard

Dann musst du wohl herausfinden, wie man überprüft ob ein Formular abgesendet wurde, oder nicht
Und wenn du das herausgefunden hast, dann weißt du auch, wie der Server dann weiß, wann das Forumlar abzuden ist und wann nicht
__________________
Rettet die Erde.... sie ist der einzige Planet mit Schokolade!
Mit Zitat antworten
  #8 (permalink)  
Alt 08.03.2010, 16:53
Erfahrener Benutzer
XHTMLforum-Mitglied
Thread-Ersteller
 
Registriert seit: 30.07.2009
Beiträge: 469
sepp88 befindet sich auf einem aufstrebenden Ast
Standard

Danke mit dem isset Zeugs oder?

In der formular Datei habe ich:
PHP-Code:
    <form id="formular" method="get" class="" action="">
        <input  type="text" name="inputausform" size="" value="hallo" />
        <input id="submit" type="submit" name="submit" value="Generate span" />
    </form>
<?php
    
include 'dl.php';
?>
und mein include sieht so aus:
PHP-Code:
<?php
if (isset($_POST['Submit'])) {
    
$inputausform $_POST['inputausform'];

    
//validation
    
function isValid($inputausform)
    {
        
//regexp
        //return preg_match('', $inputausform);
    
}
    
    if(!
isValid($inputausform))
    {
        print 
"<strong>fehler</strong>";
    } else {
        
//output
        
$output .= "<strong>Hello:</strong><br/>";
        
//generate span
        
$output .= "<span id='test'>" $inputausform "</span>";
        print 
$output;
    }
}
?>
So funktioniert es definitiv nicht!
Mit Zitat antworten
  #9 (permalink)  
Alt 11.03.2010, 14:08
Michael Walter
XHTMLforum-Mitglied
 
Registriert seit: 16.02.2010
Ort: Berlin
Beiträge: 237
Walter IT-Services befindet sich auf einem aufstrebenden Ast
Standard

if (isset($_POST['Submit'])) {


Der Name deines Buttons ist ja auch "submit" und nicht "Submit".

Außerdem sendest du dein Formular über GET ab.
Daher gibt es erst gar keine POST-Variablen.

[method="get"] muss [method="post"] heißen
__________________
Walter IT-Services
Michael Walter

http://www.walter-it.de
http://blog.walter-it.de
Mit Zitat antworten
Sponsored Links
  #10 (permalink)  
Alt 11.03.2010, 14:49
Benutzerbild von protonenbeschleuniger
Verbesserer
XHTMLforum-Kenner
 
Registriert seit: 06.09.2007
Beiträge: 4.977
protonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblickprotonenbeschleuniger ist ein wunderbarer Anblick
Standard

Das was du suchst nennt man Dispatcher oder Frontcontroller. Alle Aktionen laufen über eine Funktion/Datei, diese entscheidet wer, welche Funktionen ausführen darf. Ein übliches vorgehen in etwas größeren Webanwendungen.

Geändert von protonenbeschleuniger (14.03.2010 um 13:27 Uhr)
Mit Zitat antworten
Sponsored Links
Antwort


Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Darstellungsprobleme im IE lea11011989 CSS 17 05.11.2010 09:44
Frage zu horizontalen Linien marvin1989 CSS 3 29.12.2009 23:35
Dateien auslagern - Include und PHP ArcVieh Serveradministration und serverseitige Scripte 17 27.03.2008 18:09
Problem mit Layout .. vermute: float Küspert CSS 3 09.12.2006 17:09
Bilder werden überlagert und verschoben. Küspert CSS 5 07.12.2006 17:15


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:52 Uhr.