PHP - kein Umleiten auf leere Browserseite nach Javascript alert

OP #4360578
Lesenswert?
• ▲
▼
Hallo

Ich habe das ein einfaches script
was auch funktioniert.
Nur dummerweise wird nach der Message Box auf eine leere
Broswer Seite umgeleitet.


<?php

echo "<script>";
echo "alert('Hallo');";
echo "</script>";

exit();
?>

Meine Frage, kann ich einen PHP Code mit abschließenden
JS alert programmieren, ohne auf eine leere Browser Seite umgeleitet zu 
werden
Gast #4360691
Lesenswert?
• ▲
▼
Martin M. schrieb:
> Nur dummerweise wird nach der Message Box auf eine leere
> Broswer Seite umgeleitet.

Denkfehler.

Dein PHP-Code erzeugt (zuerst) eine leere Seite, die ein Script enthält 
um eine Messagebox anzuzeigen.

d.H. die Reihenfolge bzw. Ursache und Wirkung sind anders, als du dir 
das denkst.

Ohne jetzt Details zu kennen:
Um dein Problem zu lösen, müssest du mehr Programmlogik aus dem PHP ins 
Javascript verlagern, also Client-Seitig ausführen.
Dann AJAX/Websockets/... dazu, um Daten auszutauschen.
#4361233
Lesenswert?
• ▲
▼
1) Codetags im Forum nicht vergessen

2)

Martin M. schrieb:
> exit();

Das nach exit nichtsmehr Ausgeführt wird, und danach keine Ausgaben mehr 
kommen, ist dir klar?

3)

Oder D. schrieb:
> echo("
>   <html><head></head>
>   <body><form action="index.html" method="post">
>   <h1>Hallo</h1>
>   <button type="submit" name="press" value="1"> drueck hier</button>
>   </form></body></html>");

Soetwas kann man schöner schreiben, und so tun als ob echo eine Funktion 
wäre ist nicht notwendig. Sie Anfürungszeichen und Zeilenenden wurden 
auch nicht escapt...
Wie wäre es mit:
1
<?php
2
echo <<<EOF
3
<html>
4
  <head></head>
5
  <body>
6
    <form action="index.html" method="post">
7
      <h1>Hallo</h1>
8
      <button type="submit" name="press" value="1"> drueck hier</button>
9
    </form>
10
  </body>
11
</html>
12
EOF
13
?>

Oder noch besser:
1
<html>
2
  <head></head>
3
  <body>
4
    <form action="index.html" method="post">
5
      <h1>Hallo</h1>
6
      <button type="submit" name="press" value="1"> drueck hier</button>
7
    </form>
8
  </body>
9
</html>
Wobei hier Doctype und Titel noch fehlen.


Umleitungen gehen entweder mit Header:
1
<?php
2
  header("Location: wohinauchimmer.html"); // Muss vor der ersten Ausgabe sein, auch abstände, etc. vor "<?php" sind eine Ausgabe
3
?>
Oder per Meta refersh ("Weiss ich nichtmehr auswändig"), oder per 
JavaScript:
1
<script type="text/javascript">
2
  alert("Hallo");
3
  location.href = "wohinauchimmer.html";
4
</script>

In diesem fall ist die Methode mit der Form aber womöglich tatsächlich 
die Beste.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.