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] Neue I-Seite aufrufen (https://www.delphipraxis.net/23814-%5Bphp%5D-neue-i-seite-aufrufen.html)

Tester 10. Jun 2004 08:02


[PHP] Neue I-Seite aufrufen
 
Guten Morgen zusammen!

Weiß jemand wie ich unter PHP nach einer erfolgreichen Kontrollstruktur eine neue Seite aufrufen kann?

Vielen Dank im voraus

Tester

CalganX 10. Jun 2004 08:05

Re: [PHP] Neue I-Seite aufrufen
 
Hi,
wenn du noch innerhalb des Header-Bereiches oder davor bist, kannst du einfach einen neuen Header übersenden:
Code:
header("location: http://www.delphipraxis.net/");
Chris

FastJack2 10. Jun 2004 08:09

Re: [PHP] Neue I-Seite aufrufen
 
mit php ist es imho nicht wirklich möglich eine neue Seite aufzurufen, da es eine serverseiteige Scriptsprache ist, und den Seitenaufruf macht der Browser ...

Das kannst du rein in php höchstens über ein include(); lösen .. Ansonsten gib einfach nen kurzes Java Script oder ne meta Weiterleitung an den Browser zurück ;)

greetz
-FastJack2

[edit]ok ich geb mich geschlagen und hol mir lieber noch nen kaffee und geh eine rauchen :P [/edit]

Tester 10. Jun 2004 08:49

Re: [PHP] Neue I-Seite aufrufen
 
Habe auch nichts gefunden wie ich eine Seite aufrufen könnte.

Ich geb euch mal einen Überblick über mein angestrebtes Ergebnis.
Eigentlich möchte ich ein Benutzer Login erstellen.
Das heißt der Nutzer kommt auf die Seite meldet sich mit Namen und Passwort an und dann soll die Kontrolle erfolgen ob der Nutzer vorhanden ist oder nicht.
Wenn ja soll auf die folgenden Seiten zugriff haben, wenn nicht eine Seite mit entsprechender Fehlermeldung.

Hat vielleicht jemand Ahnung wie ich das realisieren könnte, wäre echt Klasse.


Vielen Dank im voraus
Tester

Igotcha 10. Jun 2004 08:55

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Tester
Hat vielleicht jemand Ahnung wie ich das realisieren könnte, wäre echt Klasse.

Ist doch schon gesagt worden ;-)

Zitat:

header("location: http://www.delphipraxis.net/");
Der Trick hierbei ist nur, dass Du dabei folgende Schritte beachten mußt

- Deine Login-Eingabe leitest Du per Formular an ein PHP-Script weiter
- in diesem Script führst Du Deine Kontrolle aus (z.B. Datenbankabfrage, ob es diese Username / Passwort-Kombination gibt)
- dann machst Du Deine Abfrage, ob der Login erfolgreich war und leitest entsprechend um - entweder auf "header("location: http://DEINEFEHLERMELDUNG.php/");" oder "header("location: http://LOGINKORREKT.php");"

Wichtig ist in diesem Fall nur eins: Vor dem "location"-Befehl darf keine Textausgabe erfolgen!

Gruß Igotcha

fkerber 10. Jun 2004 08:56

Re: [PHP] Neue I-Seite aufrufen
 
Hi!

Jetzt nicht grade in PHP-korrekter Syntax aber vom Prinzip:

Code:
if Benutzername and passwort
{
header("location: success.php");
} else
{
header("location: bad.php");
}
So sollte das gehen, Vorraussetzung: Es wurde vorher noch nichts anderes ausgegeben.


Ciao fkerber

Tester 10. Jun 2004 08:57

Re: [PHP] Neue I-Seite aufrufen
 
Ok dann wer dich das so mal versuchen in Tat umzusetzen.

Wenn noch Fragen sind weiß ich ja das ich mich auf euch verlassen kann.

Vielen dank bis dahin

Gruß tester

Tester 10. Jun 2004 08:59

Re: [PHP] Neue I-Seite aufrufen
 
Find das wirklich genial das einem hier im so schnell und präzise geholfen wird! Da hofft man auch mal euch zu helfen!

Tester

Tester 10. Jun 2004 09:29

Re: [PHP] Neue I-Seite aufrufen
 
Hab das ganze mal probiert und bekomme dabei folgende Meldung.

Warning: Cannot add header information - headers already sent by (output started at e:\projekt\Programm\pruefung.php:5) in e:\projekt\Programm\pruefung.php on line 23

Was habe ich falsch gemacht?

Der Ablauf wäre momentan,
- öffnen der Seite
- Eingabe der Nutzerdaten
- drücken des senden Buttons
- Senden dieser Daten an das pruefung.php script
- Nutzerdaten in Variable
- Prüfung

Gruß

Tester

CalganX 10. Jun 2004 09:35

Re: [PHP] Neue I-Seite aufrufen
 
Hi,
wie gesagt: vor dem header-Befehl darf nichts kommen. Vorallem muss es vor oder innerhalb von
Code:
<head></head>
sein!

Chris

Igotcha 10. Jun 2004 09:37

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Tester
Hab das ganze mal probiert und bekomme dabei folgende Meldung.

Warning: Cannot add header information - headers already sent by (output started at e:\projekt\Programm\pruefung.php:5) in e:\projekt\Programm\pruefung.php on line 23

Was habe ich falsch gemacht?

Steht doch da ;-)

Du hast das o.g. nicht beachtet: Du generiest in irgendeiner Form in Zeile 5 einen Output mit z.B. "echo".

Poste mal eine Kurzform Deines Scripts.

Igotcha 10. Jun 2004 09:39

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Chakotay1308
Hi,
wie gesagt: vor dem header-Befehl darf nichts kommen. Vorallem muss es vor oder innerhalb von
Code:
<head></head>
sein!

Sowas lass ich bei meinen Scripten immer weg. Wenn ich eine reine Umleitung benutzen möchte steht da i.d.R. nur drin:

Code:
<?
CONDITION
location(...);
else
location(...);
?>

Tester 10. Jun 2004 09:47

Re: [PHP] Neue I-Seite aufrufen
 
Hier mein momentanes script.

Code:
<?php
  require_once('Connections/download.php');
 
  mysql_select_db($database_download, $download);
  $query_Kennung = "SELECT * FROM Nutzer";
  $Kennung = mysql_query($query_Kennung, $download) or die(mysql_error());
  $row_Kennung = mysql_fetch_assoc($Kennung);
  $totalRows_Kennung = mysql_num_rows($Kennung);
 
  $KundenNr = $_POST["EditKundenNr"];
  $Kennwort = $_POST["EditKennwort"];
 
  do
  {
   
    if (( $KundenNr = $row_Kennung['kundennummer'] ) &&
       (  $Kennwort = $row_Kennung['passwort']   ))
    {
       header("location: download_auswahl.php");
   }       
   else
    { 
      header("location: download_anmeldung.php");
    }
  }
  while ($row_Kennung = mysql_fetch_assoc($Kennung));
 
  phpinfo();
 
  mysql_free_result($Kennung);
?>
[edit=Luckie]das ganze mal in pre-Tags gepackt. Mfg, Luckie[/edit]

Danke @ Luckie :)

Igotcha 10. Jun 2004 09:56

Re: [PHP] Neue I-Seite aufrufen
 
Mach das mal so in der Art:

Zitat:

Zitat von Tester
<?php
require_once('Connections/download.php');

$KundenNr = $_POST["EditKundenNr"];
$Kennwort = $_POST["EditKennwort"];

mysql_select_db($database_download, $download);
$query_Kennung = "SELECT * FROM Nutzer WHERE kundenummer=$KundenNr AND passwort=$Kennwort";
$Kennung = mysql_query($query_Kennung, $download) or die(mysql_error());

$totalRows_Kennung = mysql_num_rows($Kennung);
mysql_free_result($Kennung);

if ($totalRows_Kennung > 0)
{
header("location: download_auswahl.php");
}
else
{
header("location: download_anmeldung.php");
}
?>

Funktioniert natürlich nur, wenn Username/Passwort-Kombination einmalig sind - ich hoffe, das checkst Du bei der Registrierung ;-)

Tester 10. Jun 2004 10:04

Re: [PHP] Neue I-Seite aufrufen
 
da kommt die gleiche Fehlermeldung.

Warning: Cannot add header information - headers already sent by (output started at e:\projekt\Programm\pruefung.php:5) in e:\projekt\Programm\pruefung.php on line 24

Tester 10. Jun 2004 10:06

Re: [PHP] Neue I-Seite aufrufen
 
Ja klar Benutzername und Passwort sind immer unterschiedlich sonst kann ich auch das gleich geben oder das Login gleich weglassen. :)

Igotcha 10. Jun 2004 10:06

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Tester
da kommt die gleiche Fehlermeldung.

Warning: Cannot add header information - headers already sent by (output started at e:\projekt\Programm\pruefung.php:5) in e:\projekt\Programm\pruefung.php on line 24

Dies kommt, wenn Du mein Beispiel verwendest?

Hmm, mein Beispiel hat aber keine 24 Zeilen ;-)

P.S. Oder hast Du evtl. schon eine Ausgabe in Deiner Include-Datei?

Tester 10. Jun 2004 10:10

Re: [PHP] Neue I-Seite aufrufen
 
Ich habe 24 Zeilen weil ich noch eine Beschreibung oben drüber stehen habe und die hat die länge von 4 Zeilen.

Das soll ja die Include Datei werden. :)

Igotcha 10. Jun 2004 10:11

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Tester
Ich habe 24 Zeilen weil ich noch eine Beschreibung oben drüber stehen habe und die hat die länge von 4 Zeilen.

Das soll ja die Include Datei werden. :)

Und wie sieht diese Beschreibung aus? (code bitte)

Das Problem ist, dass Du irgendwo eine Bildschirmausgabe erzeugst (und sei es phpinfo()) wie in Deinem ursprünglichen Code - und die müssen wir finden ;-)

Tester 10. Jun 2004 10:13

Re: [PHP] Neue I-Seite aufrufen
 
Es funktioniert! Es lag an meinem Kommentar.
Hatte es versehentlich so stehen gehabt,

<!--
Text
-->

Dann wahr der Fehler natürlich klar.

Tester 10. Jun 2004 10:15

Re: [PHP] Neue I-Seite aufrufen
 
Hier stand blödsinn! :-D

Igotcha 10. Jun 2004 10:23

Re: [PHP] Neue I-Seite aufrufen
 
Zitat:

Zitat von Tester
Das würde ja heißen die Kommentare wären eine Bildschirmausgabe ? :-)

Was weiß ich, wie Du Deine Kommentare darstellst ;-)

Wenn Du sie als

Code:
echo "Das ist ein Kommentar";
dargestellt hast, komme ich gleich mal rüber und Du machst dann besser so: :duck:

Gruß Igotcha

P.S. Das dürfte meiner Meinung nach auch nicht gehen:

Code:
Das ist ein Kommentar
<?
Php-Zeugs
?>
P.P.S Das entspricht genau Deinem Fehler ;-)

Code:
<!-- 
Text
-->
<?
Php-Zeugs
?>

Chewie 10. Jun 2004 10:25

Re: [PHP] Neue I-Seite aufrufen
 
Noch eine Anmerkung: Benutzt nach Möglichkeit nicht nur den Namen der Datei auf die verwiesen soll, sondern die ganze Adresse (also http://....). Im PHP-Manual steht, dass das Probleme geben könnte, und in der Tat klappte das bei Netscape 4.7 nicht. Ob das aber der Fehler war, konnte ich noch nicht testen.

Tester 10. Jun 2004 10:27

Re: [PHP] Neue I-Seite aufrufen
 
Ja eben daran lags ja auch, weil ich halt

Code:
<!--
Text
-->
geschrieben hatte.

Wird mir so schnell nicht wieder passieren. *denke ich* :)

Tester 10. Jun 2004 10:28

Re: [PHP] Neue I-Seite aufrufen
 
Auf jeden fall herzlichsten Dank für die Hilfe!
War echt Klasse!

So können wir :duck:

das doch weglassen und lieber

:cheers:


Lieben Gruß

Tester

Tester 10. Jun 2004 10:29

Re: [PHP] Neue I-Seite aufrufen
 
Danke @ Chewie

So kann ich dem schon mal vorbeugen! :)

yankee 10. Jun 2004 10:31

Re: [PHP] Neue I-Seite aufrufen
 
ansonsten nimm doch einfach die Funkrion
passthrough()
(musst nur mal prüfen, ob ich die Funktion jetzt richtig geschrieben habe...)
In die Klammern schreibst du den Dateinamen der HTML-Datei. Es wird dann die komplette Datei ohne jegliche bearbeitung weitergeleitet.

Tester 10. Jun 2004 10:36

Re: [PHP] Neue I-Seite aufrufen
 
Habe erstmal nur passthru gefunden aber diese Funktion,
Führt ein externes Programm aus und zeigt dessen Ausgabe an.
Also nicht das was du meintest.

In php und auf php.net habe ich aber auch nichts gefunden.

Wo hast du die denn aufgeschnappt? :)

Chewie 10. Jun 2004 10:38

Re: [PHP] Neue I-Seite aufrufen
 
Vielleicht meinte er readfile().

yankee 10. Jun 2004 12:05

Re: [PHP] Neue I-Seite aufrufen
 
Ich habe ein PHP-Buch, da steht das drin, nur leider habe ich das gerade im Moment verliehen, deswegen kann ich nicht nachsehen, wie die Funktion richtig heißt. Ich bin mir aber ziemlich sicher, dass es eine Funktion gibt, die das beschriebene tut...

Chewie 10. Jun 2004 12:14

Re: [PHP] Neue I-Seite aufrufen
 
Ja, readfile() wie oben genannt, oder wenn die Datei schon geöffnet ist, fpassthru().

Tester 21. Jun 2004 13:28

Re: [PHP] Neue I-Seite aufrufen
 
Hallo zusammen!

Kann mir jemand sagen warum die Funktion

setcookie

und beispielsweise

header("location: download_anmeldung.php");

nicht funktioniert.

Es ist kein echo oder Sonstige Textausgaben vorher.
Ich rufe das reine php - script mit include auf, dürfte also keine
Probleme geben. Oder?

Weiß jemand Rat?

Danke im voraus!

Gruß Tester

Chewie 21. Jun 2004 13:36

Re: [PHP] Neue I-Seite aufrufen
 
Es wär sinnvoll, wenn du uns mitteilst, was daran nicht funktioniert.

Tester 21. Jun 2004 13:42

Re: [PHP] Neue I-Seite aufrufen
 
Bei setcookie funktioniert das Setzen des Cookies nicht und bei dem Header ruft er nicht das entprechende Script bzw. die Seite auf.

Das komisch, auf meinem Rechner(mit Dreamweaver) funktioniert das nur so bald ich das ins netz stelle gehts net mehr...

fkerber 21. Jun 2004 14:00

Re: [PHP] Neue I-Seite aufrufen
 
Hi!

Und es kommen keine Fehlermeldungen?
zeigst du mal etwas Quellcode?

Ciao fkerber

Tester 21. Jun 2004 14:05

Re: [PHP] Neue I-Seite aufrufen
 
Ne gar nichts nur ne weiße Seite.

Code:
<?php  
  require_once('Connections/download.php');
 
  $KundenNr = $_POST["EditKundenNr"];
  $Kennwort = $_POST["EditKennwort"];

  mysql_select_db($database_download, $download);
  $query_Kennung = "SELECT * FROM kunden WHERE kundennummer='$KundenNr' AND passwort='$Kennwort'";
  $Kennung = mysql_query($query_Kennung, $download) or die(mysql_error());
 
  $totalRows_Kennung = mysql_num_rows($Kennung);
  mysql_free_result($Kennung);

  if ($totalRows_Kennung > 0)
  { 
   setcookie("cookie", "PW".$Kennwort."KNR".$KundenNr, time()+3600);
   header("location: uebersicht.php");    
  } 
  else
  { 
    header("location: loginError.php");
  } 
   
?>

fkerber 21. Jun 2004 14:09

Re: [PHP] Neue I-Seite aufrufen
 
Hi!
Mach doch mal ne Echo-Anweisung rein, damit du überhaupt siehst, ob und wo er in der If-schleife ist.
und lass die die Totalrows_kennung ausgeben.

Ciao fkerber

Tester 21. Jun 2004 14:10

Re: [PHP] Neue I-Seite aufrufen
 
Aufgerufen wird das ganze nachdem der Benutzer sein Namen und Kennwort eingegeben hat und der button ausgeführt wird

Tester 21. Jun 2004 14:10

Re: [PHP] Neue I-Seite aufrufen
 
also das macht er das hab ich schon geprüft

fkerber 21. Jun 2004 14:17

Re: [PHP] Neue I-Seite aufrufen
 
Hi!
Kann es sein, dass der Fehler in der aufgerufenen Seite liegt, dass da nix angezeigt wird?

Ciao fkerber


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 Uhr.
Seite 1 von 2  1 2      

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