nach server update - php fehler

  • #1
L

Luigi_Tirol

Bekanntes Mitglied
Themenersteller
Dabei seit
29.09.2003
Beiträge
981
Reaktionspunkte
0
nach einem server update funzt eines meiner php scripte nicht mehr:

Code:
<?php 

include(druckversion/config.php);

// End of Editing ----------------------------------------------------------------------------------------//

$from = $_SERVER['HTTP_REFERER'];

	if (!preg_match(/$domain/, $from)) {
		header(Location: druckversion/noaccess.php);
		exit;
	} 
	else{

		if ($from != ){
			$read = fopen($_server['HTTP_REFERER'], rb);
			$value = ;
				while(!feof($read)){
					$value .= fread($read, 4096); 
				}				
				fclose($read);
			$start= strpos($value, $startingpoint); 
			$finish= strpos($value, $endingpoint); 
			$length= $finish-$start;
			$value=substr($value, $start, $length);

		function imgsrc_strip($variable){
			return(eregi_replace(<img src=[^>]*>, , $variable));
		}
		function imgbor_strip($variable){
			return(eregi_replace(<img border=[^>]*>, , $variable));
		}	
		function i_stripf($variable){
			return(eregi_replace(<font[^>]*>, , $variable));
		}

	$printpage = ($value); 
	#$printpage = imgsrc_strip($printpage);
	#$printpage = imgbor_strip($printpage);

	$printpage = i_stripf($printpage);
	$printpage = str_replace( </font>, , $printpage );
	$printpage = stripslashes($printpage); 

	}
}

?>
<html>

<head>
<meta http-equiv=Content-Type content=text/html; charset=windows-1252>
<meta http-equiv=Content-Language content=en-gb>
<META NAME=Title CONTENT=<? echo $title?>>
<META NAME=Author CONTENT=CJ Website Design>
<title><? echo $title?></title>
<link rel=stylesheet href=druckversion/css.php type=text/css>
<style type=text/css>
<!--
.text {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: normal;
}
.rahmen {
	border: 1px solid #000000;
}
.liste {
	list-style-type: disc;
}
.formular {
	margin: 1px 0px;
	padding: 0px 0px 0px 1px;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 11px;
	border: 1px solid;
}
a:link {
	color: #000000;
}
a:visited {
	color: #000000;
}
a:hover {
	color: #000000;
}
a:active {
	color: #000000;
}
.ueberschrift {
	font-size: 14px;
	font-weight: bold;
}
.Stil2 {
	font-size: 14px;
	font-weight: bold;
}
-->
</style>
<body onload=drucken()>
<p align=center class=Stil2><? echo $website?> <br>
 <A HREF=[url]http://www.hotelreitlwirt.at>www.hotelreitlwirt.at</A></p>[/url]
<hr>
<? echo $printpage?>
<?
if ($from == ){
	echo $nonreferer;
	$from = $nosent;
}
?>

<hr>
<i>Printed from: <a href=<? echo $from?>><? echo $from?></a></i><br>
<br>

</body>
<script language=JavaScript type=text/javascript> 
<!-- 
function drucken() { 
  window.print(); 
  self.close(); 
} 
//--> 
</script> 
</html>

zu testen hier: www.hotelreitlwirt.at und dann auf das druck-symbol rechts unten.

server config unter www.hotelreitlwirt.at/php.php

:-\
 
  • #2
Probiers mal so ;)

Code:
<?php
include(druckversion/config.php);
// End of Editing ----------------------------------------------------------------------------------------//

# Funktionen Anfang
function imgsrc_strip($variable){
	return(eregi_replace(<img src=[^>]*>, , $variable));
}
function imgbor_strip($variable){
	return(eregi_replace(<img border=[^>]*>, , $variable));
}
function i_stripf($variable){
	return(eregi_replace(<font[^>]*>, , $variable));
}
# Funktionen Ende

# Auswertung Anfang
$from = $_SERVER['HTTP_REFERER'];

if (!preg_match(/$domain/, $from)) {
	header(Location: druckversion/noaccess.php);
	exit;
}
else{
	if ($read = @fopen($_SERVER['HTTP_REFERER'], rb)){
		$value = ;
		while(!feof($read)){
			$value .= fread($read, 4096);
		}
		fclose($read);
	}
	else { die(Konnte Datei .$_SERVER['HTTP_REFERER']. nicht zum lesen öffnen!); }
	
	$start= strpos($value, $startingpoint);
	$finish= strpos($value, $endingpoint);
	$length= $finish-$start;
	$value=substr($value, $start, $length);
	
	
	$printpage = ($value);
	#$printpage = imgsrc_strip($printpage);
	#$printpage = imgbor_strip($printpage);
	
	$printpage = i_stripf($printpage);
	$printpage = str_replace( </font>, , $printpage );
	$printpage = stripslashes($printpage);
}
# Auswertung Ende
?>

Einfach nur $_SERVER groß schreiben ;) ;D

gruss conny

BTW:
hab das ein bissle umgestellt und eine Abfrage eingebaut ob die Datei überhaupt zum lesen geöffnet werden konnte ;)
 
  • #4
Jo, wenn ich es lokal teste, geht der Dialog zum drucken auf ;)
Wenn ich allerdings jetzt deine Seite aufrufe und auf Drucken klicke, passiert nix => Zeitüberschreitung
 
  • #5
was ist da los?

:'(
 
  • #6
OK, der Reihe nach ;)

1. Test - Prüfen ob alle Funktionen usw. funktionieren.

Hierzu eine .txt, *.html oder irgendeine andere Datei zum lesen fest eintragen
Code:
<?php
......
@fopen(test.txt, rb)){
......
?>

Warum eigentlich rb ?? ??? ?? r reicht doch zum lesen voll und ganz aus ;)
 
  • #7
ja, wenn ich eine datei fest eintrage, dann funzt es.

also liegts am http_referer, oder wie?

???
 
  • #8
Jup, genau das sollte der Test bezwecken ;)

geb mal per echo den Referer aus, und prüf mal ob das auch die Datei ist die gedruckt werden soll.
 
  • #9
ja echo ausgabe stimmt auch...

ich versteh gar nix mehr.

danke, das du dir so viel mühe machst. :-*
 
  • #10
Code:
<?php
include(druckversion/config.php);
// End of Editing ----------------------------------------------------------------------------------------//

# Funktionen Anfang
function imgsrc_strip($variable){
return(eregi_replace(<img src=[^>]*>, , $variable));
}
function imgbor_strip($variable){
return(eregi_replace(<img border=[^>]*>, , $variable));
}
function i_stripf($variable){
return(eregi_replace(<font[^>]*>, , $variable));
}
# Funktionen Ende

# Auswertung Anfang
$from = $_SERVER['HTTP_REFERER'];

if (!preg_match(/$domain/, $from)) {
header(Location: druckversion/noaccess.php);
exit;
}
else{
if ($read = @fopen($_SERVER['HTTP_REFERER'], r)){
$value = ;
while(!feof($read)){
$value .= fread($read, 4096);
}
fclose($read);
}
else { die(Konnte Datei .$_SERVER['HTTP_REFERER']. nicht zum lesen öffnen!); }

$start= strpos($value, $startingpoint);
$finish= strpos($value, $endingpoint);
$length= $finish-$start;
$value=substr($value, $start, $length);


$printpage = ($value);
$printpage = imgsrc_strip($printpage);
$printpage = imgbor_strip($printpage);

$printpage = i_stripf($printpage);
$printpage = str_replace( </font>, , $printpage );
$printpage = stripslashes($printpage);
}
# Auswertung Ende
?>
 
  • #11
mach mal das @ vor fopen weg, dann sehen wir warum er nicht will ;)
 
  • #12
is weg...
 
  • #14
und der Pfad stimmt ?
/#/#/#/#.php


Quatsch, is ja die Printdatei, die muss ja stimmen ;D

Versuch ma folgendes:

Code:
<?php
....
$datei = ereg_replace([url]http://www.hotelreitlwirt.at[/url], ##/###/###, $_SERVER['HTTP_REFERER']);
$read = fopen($datei, r);
....
?>
 
  • #15
ja.

ich versteh nicht, warum es funzt, wenn eine seite fix eingetragen ist?

denn auch die http_referer abfrage funzt ja, was der echo-test beweist.

:eek:
 
  • #16
Siehe meinen Nachtrag ;)
 
  • #17
super!!!!

jetzt gehts.... den fehler versteh ich trotzdem nicht.  :D

bis auf die startseite www.hotelreitlwirt.at

vielen dank Conny!!!
 
  • #18
Luigi_Tirol schrieb:
... den fehler versteh ich trotzdem nicht. :D

Jetz hat er einen Absoluten Link von der Server-Root, der muss ja auch gehen ;)
 
  • #19
immer diese fummeleien am server...
und gleich hat mann als kunde ein paar stunden arbeit.

;)
 
  • #20
* Diverse Pfadangaben im Thread zur Sicherheit durch Platzhalter ersetzt *
 
Thema:

nach server update - php fehler

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.838
Beiträge
707.959
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben