Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP Meldung anzeigen erst bei Seitenwechsel (https://www.delphipraxis.net/159721-php-meldung-anzeigen-erst-bei-seitenwechsel.html)

xxsasch4xx 10. Apr 2011 10:15


PHP Meldung anzeigen erst bei Seitenwechsel
 
Ich verlinke mittels einem Button auf eine andere Seite und gebe bei jedem Klick eine Meldung aus, dass gleich auf die andere Seite verlinkt wird.
Ich möchte aber jetzt die Meldung ausgeben mit dem Inhalt, dass die Seite schon gewechselt wurde und die Meldung soll dann logischerweise erst erscheinen, wenn die Seite bereits gewechselt wurde.
Die Seite auf die ich verweise gehört jedoch nicht mir, sonst könnte ich ja einfach mit Javascript das OnLoad Event auf der neuen Seite einbinden.
Wie kann man nachträglich, wenn die Seite schon gewechselt wurde noch einen Hinweis an den Benutzer senden?

Das hier hab ich bis jetzt um eine Nachricht zu senden, jedoch wenn man noch auf der selben Seite ist:
Code:
<input type="submit" value="test" name="test" onclick="alert(Sie werden gleich weitergeleitet')">
Der Verweis auf die neue Seite funktioniert so:
Code:
<?php
if (isset($_POST['test']))
{
header('location: http://www.google.de/');

// Kann man hier vielleicht irgendeine showmessage Box erzeugen?
// z.B.: echo "<script>alert('Sie wurden erfolgreich weitergeleitet!')</script>";
exit();
}
?>

alfold 10. Apr 2011 11:06

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1094205)
.. ('Sie wurden erfolgreich weitergeleitet!')
..

Was soll das:gruebel:, das sehe ich doch, wenn die Seite da ist!
Wichtiger währe doch ne Meldung wenn es mal nicht geklappt hat!(Warum auch immer):wink:

Gruss alfold

alcaeus 10. Apr 2011 11:12

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Die einzige Moeglichkeit waere, die Seite in einem iframe zu laden (ohne eigene Seite aussen rum) und dann eine JS-Meldung anzuzeigen.
Eine andere Moeglichkeit waere es, die Seite ueber einen Proxy auszuliefern und dort den entpsrechenden Code zu injizieren.
Bei beiden Moeglichkeiten hast du aber die eigene URL in der Adressleiste, nicht die der Zielseite.

Die originale Seite direkt im Browser zu laden und eine Meldung einer anderen Seite anzuzeigen geht aus Sicherheitsgruenden (zum Glueck) nicht. Dies kann nur mit client-seitigen Scripts (z.B. Greasemonkey) realisiert werden, und auch da hast du als "Weiterleiter" keinen Einfluss drauf.

Greetz
alcaeus

wicht 10. Apr 2011 12:03

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Code:
<?php
if (isset($_POST['test']))
{
header('location: http://www.google.de/');

// Kann man hier vielleicht irgendeine showmessage Box erzeugen?
// z.B.: echo "<script>alert('Sie wurden erfolgreich weitergeleitet!')</script>";
exit();
}
?>
Wenn die Frage im Kommentar ernstgemeint ist, dann solltest du dich vielleicht mit den Grundlagen beschäftigen, bevor du irgendetwas programmierst. Kennst du den Unterschied zwischen Client- und Serverseitig? Ist nicht böse gemeint, aber nur machen ohne zu wissen was man da eigentlich tut bringt einen auch nicht wirklich weiter.

xxsasch4xx 10. Apr 2011 12:35

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Dann sollte ich lieber nen Javascript seitigen clientcode lernen!

Matze 10. Apr 2011 16:32

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1094231)
[...] nen Javascript seitigen clientcode [...]

:lol:
Sorry, das konnte ich mir nicht verkneifen.

Die Grundlagen musst du lernen, die fehlen dir noch komplett. Sowohl in PHP als auch in JS und in HTML sowieso.

xxsasch4xx 14. Apr 2011 16:02

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
ist ja länger her aber wollte das thema nochmal aufgreifen
hab jetzt alles in html reingeschriebn
dann müsste das doch gehen zumindestens wenn ich das auf apache ausführe.

Code:
<html>
<head>
<meta http-equiv="cache-control" content="no-cache">
<title>
hallo
</title>

</head>


<body>

<form action='#' method='POST'>
<input type='submit' value='test' name='test'>
</form>

<?php
if (isset($_POST['test']))
{
header('location: [url]http://www.google.de');[/url]
echo "<script>alert('hallo - einloggen nicht fehlgeschlagen!')</script>";
echo "hallo!";

// das erste echo müsste ja dann mindestens mal gehen

exit();
}
?>
</body>
</html>

Phoenix 14. Apr 2011 16:17

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Nochmal: Lerne die Grundlagen. Html wird nie, never, ever, "auf einem Apache ausgeführt" werden.

Der Webserver schiebt das Html lediglich zum Browser.
Und wenn Du einen header:location sendest, dann führt das automatisch zu einem http-Status-Code 302. Das heisst, der Browser hört in genau dem Moment in dem er den header liest auf, die aktuelle Seite darzustellen (ignoriert also Dein Javascript komplett) und startet einen neuen Request an die angegebene Adresse. Und genau in dem Moment bist Du die Kontrolle los. Komplett.

xxsasch4xx 14. Apr 2011 16:21

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Und was ist wenn die Datei auf die geleitet wird von mir ist?
Kann ich da irgendwas in den Queltext von der neuen Datei schreiben, dass der dann ne Ausnahme macht??

wicht 14. Apr 2011 16:31

AW: PHP Meldung anzeigen erst bei Seitenwechsel
 
Nein, das geht nicht. Hast du dir überhaupt mal angeschaut, was der von Phoenix genannte Code 302 macht?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz