PHP nur eine variable includen?!

T

tobiausmarzahn

Guest
Hey,


ich bastel gerade an meiner neuen Seite und habe von PHP absolut keine Ahnung, will aber einen PHP-Counter einbinden.


Ich habe jetzt meine HTML-Seiten und im gleichen Verzeichnis liegt eine counter.php

In dieser counter.php werden vorab erstmal alle Variablen vergeben und weiter unten kommt dann $ausgabe.

Wo ich denke, dass dies der Punkt ist, wo der Counter sichtbar dargestellt wird.


Wie kann ich das jetzt in meiner Seite darstellen?
Ich hab das jetzt so versucht: <?php <? include ("counter.php"); echo $ausgabe; ?>

und noch mit Klammern hier und da... keine Chance...

Ums auf den Punkt zu bringen, ich möchte auf einer reinen HTML-Seite aus der counter.php nur die variable (wenn sich das so nennt) "ausgabe" anzeigen...


Hilfe? :)



Vielen Dank
Ciao


Tobi



EDIT:


So sieht das Script in der counter.php aus, ich will die Grafik-Ausgabe...

QUOTE ###
#Counteranzeige

$ausgabe = "" ;

if ( $cdisp == 'text' ) {

#als Text
$counter = sprintf("%0"."$digits"."d",$nummer_neu) ;
$ausgabe = "<span style=\"background-color:$bgcolor\"><font face=$font size=$font_size color=$font_color>$font_weight$counter$font_weight</font></span>" ;

} else if ( $cdisp == 'image' ) {

#Counteranzeige mit Grafiken
$count = sprintf("%0"."$digits"."d",$nummer_neu);

#Ziffern ausgeben
for ( $i=0 ; $i<$digits ; $i++ ) {
  $ausgabe .= "<img src = '$ifolder/$dfolder/$count[$i].gif'>";
}
}


###
#Ausgabe

echo $ausgabe ;
 
Hi

Also erstmal wenn es sich wirklich um eine reine HTML Datei handelt (mit .htm oder .hmtl als Dateiendung) kannst du das gleich vergessen. PHP wird nur in .php Dateien geparst (Ausser du hast es so in deinem Webserver eingstellt.) Also ändere einfach die Dateiendung deiner HTML Datei in .php, die Seite wird trozdem wie gewohnt dargestellt, nur das nun eben das PHP geparst wird.

Zudem ist der Code
CODE
<?php <? include ("counter.php"); echo $ausgabe; ?>


falsch. Es müsste wenn schon

CODE
<?php include ("counter.php"); echo $ausgabe; ?>


heissen.

Zudem gibts du in der Datei counter.php die Variable $ausgabe schon mal mit echo aus. Einmal sollte reichen. D.h. Der Code muss am Ende nur so lauten.

CODE
<?php include ("counter.php"); ?>



Grüsse
Driver
 
Super! Danke für den Code. Es funktioniert.

Jetzt noch eine Frage, kannst du aus dem Code erlesen, welchen Wert ich ändern muss um beim Counter zwischen Grafik und Text umzuschalten?


Tobi
 
Hallo Tobi

Kein Problem. Du musst einfach $cdisp = 'image' (bzw. $cdisp = 'text') setzten. Am einfachst wohl so:
CODE
<?php
$cdisp = 'image';
include ("counter.php");
?>



Grüsse
Driver

Edit:

Mir ist gerade eingefallen, dass ich den Rest des Codes ja nicht kenne. Wahrscheinlich wird die Variable $cdisp vorher schon mal überschrieben, so das mein Lösungsvorsschlag, wahrscheinlich nicht funktionieren wird.

Du musst daher entweder den ganzen Code posten oder folgende Änderung am Code vornehmen:



QUOTE ###
#Counteranzeige

$ausgabe = "" ;

$cdisp = 'text'; // oder 'image'

if ( $cdisp == 'text' ) {

#als Text
$counter = sprintf("%0"."$digits"."d",$nummer_neu) ;
$ausgabe = "<span style=\"background-color:$bgcolor\"><font face=$font size=$font_size color=$font_color>$font_weight$counter$font_weight</font></span>" ;

} else if ( $cdisp == 'image' ) {

#Counteranzeige mit Grafiken
$count = sprintf("%0"."$digits"."d",$nummer_neu);

#Ziffern ausgeben
for ( $i=0 ; $i<$digits ; $i++ ) {
$ausgabe .= "<img src = '$ifolder/$dfolder/$count[$i].gif'>";
}
}


###
#Ausgabe

echo $ausgabe ;
 
Hehehehe du bist ja geil, wie du ditt druff hast. Bombe!

Also hier der komplette Code:

QUOTE
<?php

// Anzahl der anzuzeigenden Stellen des Zählers
$digits = 5 ;

// Nummer des Ordners, in dem sich die Zählergrafiken befinden (bei grafischem Zähler)
$dfolder = zahlen ;

// Hintergrundfarbe des Zählers (bei Textanzeige)
$bgcolor = "#ff9900" ;

// Schriftart des Zählers (bei Textanzeige)
$font = "verdana" ;

// Schriftfrabe des Zählers (bei Textanzeige)
$font_color = "#000000" ;

// Schriftart dick = "<b>" | Schriftart dünn = ""
$font_weight = "<b>" ;

// Schriftgröße des Zählers (bei Textanzeige)
$font_size = 2 ;

// Reload-Sperre (IP-Sperre) in Minuten
$ip_time = 30 ;

// Anzeigeart: text = Text | image = Grafisch | none = keine Anzeige
$cdisp = "image" ;

$counter_path = 'base';



############################################################################
# Programmablauf (ab hier bloß nichts ändern!!!!)
############################################################################


$file_path = dirname(__FILE__).'/';
$count_dat = $file_path.'data/counter.txt';
$rem_adr = $_SERVER['REMOTE_ADDR'];

$ifolder=$counter_path; $ifolder.="/images";


###
#IP-Adresse prüfen

$ip_alarm = CounterCheckIp($rem_adr, $ip_time, $file_path);

if ($ip_alarm==1) {

$nummer = file($count_dat);
$nummer_neu = $nummer[0];

} else {

#Counterfile überprüfen und ggf. anlegen
if (!file_exists($count_dat)) {

$zahldatei = fopen($count_dat,"w+");
$nummer_neu = 1;
fwrite($zahldatei, $nummer_neu);
fclose($zahldatei);

} else {

#Zahl im Counter wird um 1 erhöht und in die Datei geschrieben
$nummer = file($count_dat);
$nummer_neu = $nummer[0];
$zahldatei = fopen($count_dat,"r+");
$nummer_neu++;
fwrite($zahldatei, $nummer_neu);
fclose($zahldatei);
}
}


###
#Counteranzeige

$ausgabe = "" ;

if ( $cdisp == 'text' ) {

#als Text
$counter = sprintf("%0"."$digits"."d",$nummer_neu) ;
$ausgabe = "<span style=\"background-color:$bgcolor\"><font face=$font size=$font_size color=$font_color>$font_weight$counter$font_weight</font></span>" ;

} else if ( $cdisp == 'image' ) {

#Counteranzeige mit Grafiken
$count = sprintf("%0"."$digits"."d",$nummer_neu);

#Ziffern ausgeben
for ( $i=0 ; $i<$digits ; $i++ ) {
$ausgabe .= "<img src = '$ifolder/$dfolder/$count[$i].gif'>";
}
}


###
#Ausgabe

echo $ausgabe ;



############################################################################
# IP-Adresse checken
############################################################################

function CounterCheckIp($senders_ip, $ip_time, $file_path) {


$ip_dat = $file_path."data/iplock/".$senders_ip;
$now_date = date("U");
$ip_alarm = 0 ;


###
#alte ip-files löschen

$ip_folder = opendir($file_path."data/iplock");
while ($datfile = readdir($ip_folder)) {

if (preg_match("=.*=", $datfile)) {

$dat_date = date("U", filectime($file_path."data/iplock/$datfile"));
$keep_time = 60 * $ip_time;
$dif_time = $now_date - $keep_time;

if ($dat_date < $dif_time) {
@unlink($file_path."data/iplock/$datfile");
}
}

} closedir($ip_folder);


###
#IP prüfen

if (file_exists("$ip_dat")) {

$ip_alarm = 1 ;

} else {

$ip_file = fopen("$ip_dat","w+");
fclose ($ip_file);
}


###
#Rückgabe Auswertung

return ($ip_alarm);


}



############################################################################
# ENDE
############################################################################
?>




Thanks


Tobi
 
QUOTE (driver @ So 17.9.2006, 20:00)
QUOTE ###
#Counteranzeige

$ausgabe = "" ;

$cdisp == 'text'; // oder 'image'

if ( $cdisp == 'text' ) {

#als Text
$counter = sprintf("%0"."$digits"."d",$nummer_neu) ;
$ausgabe = "<span style=\"background-color:$bgcolor\"><font face=$font size=$font_size color=$font_color>$font_weight$counter$font_weight</font></span>" ;

} else if ( $cdisp == 'image' ) {

#Counteranzeige mit Grafiken
$count = sprintf("%0"."$digits"."d",$nummer_neu);

#Ziffern ausgeben
for ( $i=0 ; $i<$digits ; $i++ ) {
$ausgabe .= "<img src = '$ifolder/$dfolder/$count[$i].gif'>";
}
}


###
#Ausgabe

echo $ausgabe ;


Falsch.

Korrekt:
$cdisp = 'text'; // oder 'image'
 
@Nils: Natürlich (Flüchtigkeitsfehler, im Text habe ich es ja zum Glück richtig geschrieben.) Habe es soeben geändert.

@tobias:

Also in diesem Fall muss du einfach am Anfang der Variable $cdisp den Wert "text" oder "image zuweisen":
QUOTE

<?php

// Anzahl der anzuzeigenden Stellen des Zählers
$digits = 5 ;

// Nummer des Ordners, in dem sich die Zählergrafiken befinden (bei grafischem Zähler)
$dfolder = zahlen ;

// Hintergrundfarbe des Zählers (bei Textanzeige)
$bgcolor = "#ff9900" ;

// Schriftart des Zählers (bei Textanzeige)
$font = "verdana" ;

// Schriftfrabe des Zählers (bei Textanzeige)
$font_color = "#000000" ;

// Schriftart dick = "<b>" | Schriftart dünn = ""
$font_weight = "<b>" ;

// Schriftgröße des Zählers (bei Textanzeige)
$font_size = 2 ;

// Reload-Sperre (IP-Sperre) in Minuten
$ip_time = 30 ;

// Anzeigeart: text = Text | image = Grafisch | none = keine Anzeige
$cdisp = "image"; // oder "text"

$counter_path = 'base';

 
Zurück
Oben