• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Nach Scriptausführung Url öffnen

smsterminal

Mitglied
Nach dem Ablaufen dieses Scriptes soll eine andere seite angezeigt werden "/deals.php" . geht das ? mit fopen gehts nicht, will auch nicht mit header arbeiten, da der ja vor dem script die seite öffnet es soll aber danach passieren

PHP:
   <?php 
$dealtext = $_POST['dealtext']; 
$dealpreis = $_POST['dealpreis']; 
$dealbild = $_POST['dealbild']; 
$deallink = $_POST['deallink']; 
if($submit) 
{ 
if(($dealtext == "") || ($dealpreis == "") || ($dealbild == "") || ($deallink == "")) 
echo "<b>Fehlgeschlagen! Bitte alle Felder ausfüllen!</b>"; 
else 
{ 
$x = 0; 
$dateiname = "gast.txt"; 
$datei = fopen($dateiname, "r"); 
while (!feof($datei)) { 
$x++; 
$saved[$x] = fgets($datei, 1024); 
} 
$datum = date("d.m.Y"); 
$zeit = date("H:i"); 
$datei=fopen("gast.txt", "w"); 
$text=strip_tags($text); 
$dealtext = wordwrap ( $dealtext, 80, '<br>', 1 ); 
fwrite($datei,"<table border=0><tr><colgroup><col width=100><col width=80></colgroup><tr align=top valign=top><td align=center width=300 height=100>Eingetragen am: $datum um $zeit Uhr<br><a href=\"".$deallink."\" target=\"_blank\"><img src=\"".$dealbild."\" width=\"149\" height=\"84\" border=\"0\"></a><br>$dealpreis<br><a href=\"".$deallink."\" target=\"_blank\"><img src=\"images/zumangebot12.jpg\" width=\"86\" height=\"25\" border=\"0\"></a></td><td>$dealtext</td></tr></table><hr />\n");         
for ($i=1;$i <= $x; $i++) {  
fwrite($datei, "$saved[$i]"); 
} 
fclose($datei); 
} 
} 
$dateiname = "gast.txt"; 
$datei = fopen($dateiname, "r"); 
fpassthru($datei); 
 
?>
 
Werbung:
Da dieses Script offenbar keinerlei Ausgaben macht, sollte Header in der letzten Zeile eigentlich funktionieren.
Falls ich doch was übersehen hab, kanns du das Script samt Weiterleitungs-Header auch noch mit einem Outputbuffer umgeben.
 
Werbung:
Ach da unten ist ja noch mehr. Sieht mir unnötig kompliziert aus.
Aber egal.

Der Ausgabe zum Trotze habe ich dich hoffentlich richtig verstanden, dass du dennoch unmittelbar nach ausführen des Scriptes weiterleiten willst.
Das kannst du durch Outputbuffering bewerkstelligen.
PHP: Output Control Functions - Manual

Also etwa so
PHP:
ob_start();
// Hier der Rest von deinem Code mit allen Outputs
Header("Location: pfad/der/weiterleitung.php");
ob_end();

EDIT//
Irgendwie kann ich mich der Annahme nicht erwehren, dass du deinen Generierten HTML-Code eine Weile lang anzeigen lassen willst, bevor du weiterleitest.
Falls dem so ist, musst du wohl ein Vollständiges HTML-Gerüst generieren um darin eine Meta-Weiterleitung unterbringen zu können.
 
Zuletzt bearbeitet:
habs so gemacht , geht aber nicht. ja:-) die weiterleitung sollte gleich passieren!
PHP:
<?php
ob_start();

$dealtext = $_POST['dealtext'];
$dealpreis = $_POST['dealpreis'];
$dealbild = $_POST['dealbild'];
$deallink = $_POST['deallink'];
if($submit)
{
if(($dealtext == "") || ($dealpreis == "") || ($dealbild == "") || ($deallink == ""))
echo "<b>Fehlgeschlagen! Bitte alle Felder ausfüllen!</b>";
else
{
$x = 0;
$dateiname = "gast.txt";
$datei = fopen($dateiname, "r");
while (!feof($datei)) {
$x++;
$saved[$x] = fgets($datei, 1024);
}
$datum = date("d.m.Y");
$zeit = date("H:i");
$datei=fopen("gast.txt", "w");
$text=strip_tags($text);
$dealtext = wordwrap ( $dealtext, 80, '<br>', 1 );
fwrite($datei,"<table border=0><tr><colgroup><col width=100><col width=150></colgroup><tr align=top valign=top><td align=center width=400 height=100>Eingetragen am: $datum um $zeit Uhr<br><a href=\"".$deallink."\" target=\"_blank\"><img src=\"".$dealbild."\" width=\"149\" height=\"84\" border=\"0\"></a><br>$dealpreis<br><a href=\"".$deallink."\" target=\"_blank\"><img src=\"images/zumangebot12.jpg\" width=\"86\" height=\"25\" border=\"0\"></a></td><td>$dealtext</td></tr></table><hr />\n");        
for ($i=1;$i <= $x; $i++) { 
fwrite($datei, "$saved[$i]");
}
fclose($datei);
}
}
$dateiname = "gast.txt";
$datei = fopen($dateiname, "r");
fpassthru($datei);


Header("Location: http://www.kostenlosedinge.de/deals.php");
ob_end();  
?>
 
Werbung:
Ich habe deinen Code 1:1 kopiert und getestet...und funktioniert
KOSTENLOSEDINGE DE | Das Kostenlos Portal | Gratis Vodafone CallYa-Freikarte | Kostenlos | Kostenloses | Gratis-Angebote | Spar-Angebote | Produktproben | Facebook | Facebook | DailyDeal | Gratis Angebote | Gratisproben | Gratisprodukte | kostenlose

EDIT//
Dass die Weiterleitung funktioniert siehst du allein schon an dem automatisch generierten Linktitel
Hast du auf der Seite, wo du das Script ausführen lässt schon vor dem Script HTML-Ausgabe?
Wenn ja kann das nicht funktionieren.
ob_start muss vor allen Ausgaben gesetzt werden. also ganz an den Anfang des Dokumentes oder, falls vorhanden, gleich nach session_start()
 
ich habe vor dem code
PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Kostenlosedinge.de - Deals!</title>
und danach
</head>

<body>

</body>
</html>
soll ich also alles raus hauen und nur so wie ich ihn gepostet habe verwenden?? lg und danke für deine ausführungen
 
Werbung:
ob_start muss vor allen Ausgaben gesetzt werden. also ganz an den Anfang des Dokumentes oder, falls vorhanden, gleich nach session_start()
Nichts für ungut, aber einen Buffer in einem Script einzusetzen, wo HTML von PHP Code durchmengt wird ist einfach unsauber - so wie wenn ich zahlreiche Errors erhalte und anstatt diese zu beseitigen Error-Reporting ausschalte.

@smsterminal: gewöhn dir an, deine Applikation in 3 Schichten aufzuteilen: Präsentationsschicht, Datenschicht und Businessschicht.

Model View Controller
Presentation-Abstraction-Control
 
Werbung:
Zurück
Oben