Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   PHP Button Verlinkung (https://www.delphipraxis.net/159711-php-button-verlinkung.html)

xxsasch4xx 9. Apr 2011 11:46

PHP Button Verlinkung
 
Kann man mittels einen button nicht aufne andere seite verlinken?

Code:
<body>
 <input type="submit" name="test" value="hallo"
</body>

<head>
      <?php
echo "hallo";

   if (isset($_POST['test']))


{
echo "hallo";
<a href="http://www.google.de/">

 
?>
</head>
Also wenn man das so macht dann zeigt er nurne leere Seite an
aber wenn man die Zeile mit der Verlinkung auf google rausnimmt dann zeigt der alles an

wicht 9. Apr 2011 11:56

AW: PHP Button Verlinkung
 
Mal so ins Blaue getippt:

Code:
<form action="http://link-zur-seite.de"><input type="submit" value="Los gehts!"></form>
HTH..

Matze 9. Apr 2011 11:56

AW: PHP Button Verlinkung
 
Entweder im Form-Tag:
HTML-Code:
<form method="post" action="http://domain.de/site.php">
...
</form>
oder per PHP:

PHP-Quellcode:
header('Location: http://domain.de/site.php');

patti 9. Apr 2011 12:19

AW: PHP Button Verlinkung
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1094071)
Code:
{
echo "hallo";
<a href="http://www.google.de/">
}

Was soll das denn sein :?:
Wenn dann musst du deinen HTML-Code für den Link schon auch per echo-Befehl ausgeben!

(oder PHP-Block beenden, ganz "normales" HTML schreiben und dann wieder neuen PHP-Block öffnen)

xxsasch4xx 9. Apr 2011 12:38

AW: PHP Button Verlinkung
 
ja aber ich wollte erst noch en bisschen php code ausgeben z.B. speichere ich noch schnell ne variable in meine Datenbank und dann erst soll die andere Seite aufgerufen werden.

Matze 9. Apr 2011 12:39

AW: PHP Button Verlinkung
 
s. oben

xxsasch4xx 9. Apr 2011 12:42

AW: PHP Button Verlinkung
 
ja ich weiss das hier ging nicht bei mir:
Code:
header('Location:[url]http://domain.de/site.php');[/url]
oder wo muss ich das überhaupt hinschreiben hier?
Code:
if (isset($_POST['test']))
{
// variable speichern
header('Location: [url]http://domain.de/site.php');[/url]
}

Luckie 9. Apr 2011 12:42

AW: PHP Button Verlinkung
 
Wenn danach eine automatische Weiterleitung erfolgen soll, dann nimm Matzes Lösung:
Code:
header('Location: http://domain.de/site.php');
.

Argh: :wall: Was heißt "ging nicht"?

xxsasch4xx 9. Apr 2011 12:53

AW: PHP Button Verlinkung
 
Ja bei mir geht das nur dass der die variablen dann speichert
aber der leitet nicht am ende aufne andere seite um
wie ich die variablen speichere habe ich einfach mal als echo gemacht das ist ja nur en versuch ob der das dann auch ausführt

Code:
<html>
<head>
<title>
ehm testseite
</tile>
<form action="sascha.php" method="POST" >
<input type="submit" value="los" name="test"></form>
</head>
<body>

      <?php
if (isset($_POST['test']))
{
echo " // variablen speichern";
header('http://www.google.de/');
}

 
?>

</body>
</html>

Matze 9. Apr 2011 12:57

AW: PHP Button Verlinkung
 
Lies doch mal, was man dir schreibt. :wall:
Ich habe noch ein "Location: " bei mir drinnen stehen.
Und da die Weiterleitung quasi sofort erfolgt, wirst du deine Echo-Ausgabe nicht mehr sehen.

wicht 9. Apr 2011 13:01

AW: PHP Button Verlinkung
 
Vor Änderungen am Header darf keine Ausgabe erfolgen. Das heißt, dass du kein 'echo' davor machen darfst.

Edit: Vermutlich darf auch nach der Benutzung von header() nichts ausgegeben werden (HTML, 'echo'). Jahre nicht mit PHP gearbeitet. Zum Glück.. :wink:

Das hier könnte klappen:

Code:
<?php
if (isset($_POST['test']))
{
header('http://www.google.de/');
die();
}
?>

<html>
<head>
<title>
ehm testseite
</tile>
<form action="sascha.php" method="POST" >
<input type="submit" value="los" name="test"></form>
</head>
<body>
</body>
</html>

Matze 9. Apr 2011 13:03

AW: PHP Button Verlinkung
 
Zitat:

Zitat von wicht (Beitrag 1094089)
Vor Änderungen am Header darf keine Ausgabe erfolgen.

Stimmt, so war's.
Dann müsste eigentlich etwas wie "Headers already sent" angezeigt werden. Dass Der Themenersteller sowas nicht schreibt, ist mir schleierhaft.

So kann (und will) man doch nicht helfen ...

Ich führe nach einer Header-Weiterleitung noch ein "exit" aus. Aber unbedingt erforderlich ist es normalerweise nicht.

jfheins 9. Apr 2011 13:05

AW: PHP Button Verlinkung
 
Außerdem: Was hat ein Formular eigentlich im <head>-Bereich verloren?

wicht 9. Apr 2011 13:06

AW: PHP Button Verlinkung
 
Habe auch nicht bis zum Ende gedacht, mein Ur-Post war nicht ganz richtig. Habe editiert..
Mir ist allerdings auch schleierhaft, warum das nicht vom TE gesehen wurde. Das steht entweder im Browser oder im Log des HTTP-Servers (zumindest bei Apache).

Luckie 9. Apr 2011 13:07

AW: PHP Button Verlinkung
 
Zitat:

Zitat von jfheins (Beitrag 1094093)
Außerdem: Was hat ein Formular eigentlich im <head>-Bereich verloren?

Der Benutzer der Seite muss ja nicht alles sehen. ;)

xxsasch4xx 9. Apr 2011 15:03

AW: PHP Button Verlinkung
 
Code:
<html>
<head>
<title>
ehm testseite
</tile>
<form action="datei.php" method="POST" >
<input type="submit" value="test" name="test"></form>
</head>
<body>

      <?php
if (isset($_POST['test']))
{
header('location: [url]http://www.google.de/');[/url]
}

 
?>

</body>
</html>
Also der code hier funktioniert jetzt genauso!
aber irgendwie nur wenn ich den auf apache ausführen lasse!
und wenn ich das bei meinen lima city webspace reinlade dann geht die umleitung nicht! :o

Matze 9. Apr 2011 15:27

AW: PHP Button Verlinkung
 
Dein HTML-Code ist mehr als invalidate.

Was passiert bei lima-city mit diesem Code in einer PHP-Datei (nur das als Inhalt):
PHP-Quellcode:
<?php
    header('Location: http://www.google.de/');
?>

Luckie 9. Apr 2011 15:29

AW: PHP Button Verlinkung
 
Das Formular ist ja immer noch im Header!

alfold 9. Apr 2011 15:30

AW: PHP Button Verlinkung
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1094113)
...und wenn ich das bei meinen lima city webspace reinlade dann geht die umleitung nicht! :o

Kann es sein das Dein Hoster dies nicht zulässt?

Gruss alfold

Luckie 9. Apr 2011 15:34

AW: PHP Button Verlinkung
 
Wenn PHP generell funktioniert, wüsste ich nicht, warum ausgerechnet das nicht funktionieren sollte. Aber er sollte erst mal, validaten HTML Code hinbekommen, dann können wir weiter reden.

alfold 9. Apr 2011 15:39

AW: PHP Button Verlinkung
 
Zitat:

Zitat von Luckie (Beitrag 1094122)
Wenn PHP generell funktioniert, wüsste ich nicht, warum ausgerechnet das nicht funktionieren sollte. ...

Weil es Hoster gibt, die sowas nicht zu lassen! (Warum auch immer):wink:

Gruss alfold

xxsasch4xx 9. Apr 2011 15:42

AW: PHP Button Verlinkung
 
Warum sollte mein formular code nicht im head stehen und was meint ihr damit, dass mein html code "invalidate" ist?

Matze 9. Apr 2011 15:43

AW: PHP Button Verlinkung
 
Daher schrieb ich ja, dass er das testen soll.
Sonst kommen wir hier nicht weiter (wonach es sowieso aussieht ...)

Der Code gehört in den <body>-Bereich. Lies dir mal ein paar HTML-Grundlagentutorials durch oder schaue bei Website-Quellcodes (der DP z.B.) wo was hingehört.
Dein HTML-Code ist so vermurkst, dass es mich wundert, dass er überhaupt funktioniert.

Luckie 9. Apr 2011 15:44

AW: PHP Button Verlinkung
 
Weil dort kein Seiteninhalt reingehört, sondern nur Metatags. Und damit ist dein HTML Code kein gültiges HTML.

rollstuhlfahrer 9. Apr 2011 15:45

AW: PHP Button Verlinkung
 
Grade mal ein paar Worte zu dem Aufbau von HTML:

HTML befolgt, wie auch XML ein paar sehr strikte Regeln, die verschiedene Browser allerdings aufweichen, damit sowas wie hier zu sehen auch funktioniert.

Punkt 1: Der HEAD-Bereich ist NUR für Informationen über die Seite (TITLE, META) und für Javascript und CSS gedacht. Alles andere gehört da NICHT rein.

Punkt 2: Der Rest (alles, was graphisch angezeigt werden soll; auch das, was nicht angezeigt werden soll) gehört in den BODY rein. (Auch dein Formular)

Solange diese Punkte nicht erfüllt sind, ist dein Code nicht valide. Das kannst du übrigens selbst überprüfen: Bei Google suchenHTML Validator w3c.

Bernhard

xxsasch4xx 9. Apr 2011 15:53

AW: PHP Button Verlinkung
 
Aber wenn es keine Fehlermeldung gibt dann kann ich ja auch das Formular in den Headbereich schreiben oder gibt es dadurch weitere Nachteile außer, dass es nicht einheitlich ist mit anderen HTML Dokumenten?

Das hier funktionert übrigens:
Code:
<?php
    header('Location: [url]http://www.google.de/');[/url]
?>
Habe es eben getestet.

Matze 9. Apr 2011 15:55

AW: PHP Button Verlinkung
 
Nein, das kannst du normalerweise nicht. Ich kann mit dem Auto auf ner Bundesstraße auch rückwärts fahren, aber es ist nicht empfehlenswert.
Du solltest kompatibel zu den gängigen Browsern bleiben.

Ausnahmsweise kaue ich dir das nun vor. Bei der nächsten Frage dieser Art verweise ich nur noch auf Grundlagentutorials, die du dir so oder so ansehen musst.
HTML-Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
<html>
   <head>
      <title>ehm testseite</title>
   </head>
   <body>
      <form action="#" method="post">
         <input type="submit" value="test" name="test" />
      </form>

      <?php
         if (isset($_POST['test']))
         {
            header('Location: http://www.google.de/');
         } 
      ?>
      
   </body>
</html>

xxsasch4xx 9. Apr 2011 16:06

AW: PHP Button Verlinkung
 
Warum haste da ne Raute hingemacht einfach nur als Platzhalter oder ermittelt der somit auch den Namen der PHP Datei die auf dem Server liegt?
Irgendwie scheinen die das wohl zu unterdrücken, dass man ne Seite anzeigen kann, indem man auf nen Button drückt.
Weil das geht immer noch nicht aber auf dem Lokalen rechner klappt das alles ohne Probleme.

Matze 9. Apr 2011 16:08

AW: PHP Button Verlinkung
 
Du kannst auch den Namen der Datei angeben, in der der obige Code steht.
Ich bin mir nicht sicher ob es mit der Raute funktionmiert, aber theoretisch müsste es gehen.

Edit: Ja es geht. Grad auf meinem Webspace getestet.
Wenn der alleinige header()-Aufruf bei dir geht (was du bestätigt hast), dann müsste der auch in der HTML-Konstellation funktionieren.

Kommen denn irgendwelche Fehlermeldungen?
Siehst du mehr als nur den HTML-Button?
Ist der der Code in einer Datei mit Dateiendung ".php"?

xxsasch4xx 9. Apr 2011 16:11

AW: PHP Button Verlinkung
 
Das wär aber cool wenn das echt gehen würde dann müsste man ja nicht immer den namen im code ändern wenn man die Datei mal umbennent hat.

Matze 9. Apr 2011 16:12

AW: PHP Button Verlinkung
 
Ja eben. Oder man lässt den Dateiname per PHP ausgeben.

Ich habe oben noch ein paar Fragen ergänzt, die du beantworten solltest.

xxsasch4xx 9. Apr 2011 16:47

AW: PHP Button Verlinkung
 
Wenn ich deinen Code aus #27 komplett kopiere und so benutze dann werde ich irgendwie immer auf meine eigene Seite weitergeleitet und nicht auf die google seite da
Und sogar wenn ich alles lösche außer den Teil im PHP wo das mit dem header (….)
Steht komme ich auf meine Seite was für mich komplett fragwürdig ist.

Ist da en Fehler in der header Umleitung da?
Komplettlösung:

Code:
<?php
if (isset($_POST['test'])) {
header('location: http://www.google.de/');
exit();
}
?>
<html>
<head>
<title>ehm testseite</title>
</head>
<body>
<form action="#" method="POST" >
<input type="submit" value="test" name="test">
</form>
</body>
</html>
Mit dem Script funktioniert es jetzt aber ich frage mich warum der Code in Beitrag 27 bei mir nicht ging.

Matze 9. Apr 2011 16:53

AW: PHP Button Verlinkung
 
Der Code von mir oben funktioniert bei mir ohne Probleme sowohl lokal als auch online.
Daher kann ich dir hier nicht mehr weiterhelfen.

xxsasch4xx 9. Apr 2011 17:07

AW: PHP Button Verlinkung
 
egal mit meinem code funktioniert es bei mir jetzt auch :)
das was in deinem code über dem <html> stand hab ich allerdings nie mitkopiert das braucht man ja nicht umbedingt oder

jfheins 9. Apr 2011 18:24

AW: PHP Button Verlinkung
 
Zitat:

Zitat von Matze (Beitrag 1094143)
Der Code von mir oben funktioniert bei mir ohne Probleme sowohl lokal als auch online.
Daher kann ich dir hier nicht mehr weiterhelfen.

Vermutlich ist bei dir (sowohl lokal als auch online) der Ausgabepuffer aktiviert. Geht bestimmt auch in der php.ini Standardmäßig, muss also nicht über ob_start() erfolgen. Dann wurde nämlich vor dem header() Aufruf noch nichts an den Client gesendet und PHP kann Header am Puffer vorbei senden ;)

rollstuhlfahrer 10. Apr 2011 15:36

AW: PHP Button Verlinkung
 
Zitat:

Zitat von xxsasch4xx (Beitrag 1094145)
egal mit meinem code funktioniert es bei mir jetzt auch :)
das was in deinem code über dem <html> stand hab ich allerdings nie mitkopiert das braucht man ja nicht umbedingt oder

Zu geil. Du kopierst also nur das HTML-Grundgerüst und nicht den funktionsbehafteten Teil des Codes und wunderst dich, dass er am Ende keine Funktion mehr hat. Echt spitze.

Bernhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:55 Uhr.

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