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
Martin M. schrieb: > Nur dummerweise wird nach der Message Box auf eine leere > Broswer Seite umgeleitet. hä? Was soll denn sonst passieren, die lieferst mit dem PHP keine Seite aus, was soll denn der Browser da anzeigen?
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.
Oder lad die Seite mit dem alert doch einfach in einem (nicht sichtbaren) iframe. Falls dir das mit dem AJAX zu aufwändig ist und du keine hässlichen Lösungen scheust ;-)
dann mach doch eine nicht-leere Seite hin. Mit echo("<html><head></head><body><h1>Hallo</h1></body></html>"); Mit php werden Seiten erzeugt.
:
Bearbeitet durch User
Danke für die Antworten Ja das stimmt ich habe nur ein ganz wenig bis gar keine Ahnung von php. Aber mal sehen ob ich das hinbekomme
Oder Doch Dein Ansatz macht Sinn für mich einfach eine HLML Seite Generieren mit einem Button auf die Ursprungs Seite. Nochmal Danke .-)
Ein button auf eine Seite (hier index.html, mit post : press=1) : 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>");
:
Bearbeitet durch User
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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.