php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 13-04-2012, 21:50
wspl
 Registrierter Benutzer
Links : Onlinestatus : wspl ist offline
Registriert seit: Oct 2007
Beiträge: 10
wspl ist zur Zeit noch ein unbeschriebenes Blatt
Standard PHP-Anfänger

In einer Datei index.php möchte ich die Variable $name ausgeben, die aber erst später im Quelltext per include von liste.inc geholt wird.
Wie kann ich $name schon in der Begrüßung ausgeben?

Siehe nachfolgenden Code:

index.php:

HTML-Code:
<html>
<head>
</head>
<body>


<?php
 
echo "Hallo Herr ".$name;

// liste.inc enthält $name und weiteren Quellcode
include("liste.inc");

echo "Auf Wiedersehen Herr ".$name;

?>


</body>
</html>
Bitte nennt mir eine Lösung oder Suchbegriffe - bitte keine Belehrungen, Danke dafür.

Geändert von wspl (13-04-2012 um 22:02 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-04-2012, 21:57
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Ganz einfach, includiere die liste.inc vorher. Wenn das nicht möglich ist, solltest du dein Konzept noch mal überdenken.

Peter

Btw: <http> ist falsch. Sollte wohl <html> heißen.
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #3 (permalink)  
Alt 13-04-2012, 22:03
wspl
 Registrierter Benutzer
Links : Onlinestatus : wspl ist offline
Registriert seit: Oct 2007
Beiträge: 10
wspl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo Peter.

logisch <html>

vorher includieren geht nicht, da liste.inc weiteren Code enthält

Gruß
Mit Zitat antworten
  #4 (permalink)  
Alt 13-04-2012, 22:07
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.721
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von wspl Beitrag anzeigen
vorher includieren geht nicht, da liste.inc weiteren Code enthält
Dann lager den weiteren Code wenn nötig in Funktionen aus und ruf die dann bei Bedarf auf.

Peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #5 (permalink)  
Alt 13-04-2012, 22:32
Benutzerbild von Hauser Hauser
 Registrierter Benutzer
Links : Onlinestatus : Hauser ist offline
Registriert seit: Dec 2009
Ort: Ahnsbeck
Beiträge: 110
Hauser befindet sich auf einem aufstrebenden Ast
Standard

Schreib die Variable doch in eine $_Session, dann kannst du sie nach der Ausgabe beim includen wieder einfließen lassen und sie geht dir nicht verloren.
Mit Zitat antworten
  #6 (permalink)  
Alt 14-04-2012, 12:41
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Zitat von wspl Beitrag anzeigen
In einer Datei index.php möchte ich die Variable $name ausgeben, die aber erst später im Quelltext per include von liste.inc geholt wird.
Wie kann ich $name schon in der Begrüßung ausgeben? ...
Du kannst den Wert einer Variablen erst ausgeben, wenn du ihn "hast". Vorher geht nicht, dazu müsste dein Script in die Zukunft sehen können.

Es bleiben also zwei Möglichkeiten:

Entweder du holst den Wert für die Variable vor der Ausgabe des Textes,
oder du speicherst den Text ab, holst den Wert der Variablen, ersetzt ihr Auftreten im Text (Platzhalter) und gibst den Text anschließen aus.

Zitat:
... Bitte nennt mir eine Lösung oder Suchbegriffe ...
Für den Lösungsweg Nummer zwei nennt sich der Suchbegriff wohl "Template-Engine" (deutsch). Gibts für PHP wie Sand am Meer und ist meist unnötig wie ein Kropf[0]. Aber um das Prinzip zu verstehen, macht es sich ganz gut, einmal in die entsprechenden Quelltexte zu schauen.

Zitat:
Siehe nachfolgenden Code: ...
PHP-Code:
<html>
<head>
</head>
<body>
<?php
 
echo "Hallo Herr ".$name;
// liste.inc enthält $name und weiteren Quellcode
include("liste.inc");
echo 
"Auf Wiedersehen Herr ".$name;
?>
</body>
</html>
Wenn du PHP-Code in HTML einbettest, wird das natürlich schwierig. Dies wird (wegen der damit entstehenden Probleme) gemeinhin als schlechter Stil empfunden.

Daher solltest du dich informieren, welche besseren Möglichkeiten es gibt, per PHP-Script Text (oder Daten) an einen Browser zu schicken (auszugeben) und wie Platzhalter ersetzt werden können.

Guckst du:

Echo() kann eine kommaseparierte Liste von Ausdrücken (also auch Variablen) ausgeben.

Printf() kann Platzhalter mit Ausgaben in konfigurierbarer Formatierung ersetzen und ausgeben. Die ausführliche Erklärung der Platzhalter findet sich auf der Handbuchseite zu sprintf().

Mit __halt_compiler und __COMPILER_HALT_OFFSET__ lassen sich auszugebende Daten am Ende eines PHP-Scripts ablegen und auslesen.

Variableninterpolation heißt das Zauberwort, wenn in Zeichenketten-Konstanten abgelegte Variablen durch ihre Werte ersetzt werden.

Längere Zeichenketten lassen sich per HEREDOC-Syntax in einem Script notieren.

Längere Zeichenketten mit interpolierten Variablen gibts per NOWDOC.

Ein Anwendungsbeispiel mit printf() und der von dir gewünschten Reihenfolge:

PHP-Code:
<?php 
// HTML-Geruest mit einfachen %s Platzhaltern
// Wichtig:
//      Im Quelltext auftretende %-Zeichen muessen verdoppelt werden,
//      sonst beschwert sich printf() spaeter
$html '<html>
<head>
</head>
<body>
Hallo Herr %s
...
Auf Wiedersehen Herr %s
</body>
</html>'
;

// Einlesen der passenden Variablen
include_once('liste.inc');

// Ausgabe des HTML-Geruests bei gleichzeitigem Ersetzen
// der Platzhalter
printf(
    
$html// HTML-Geruest (a.k.a. Template)
    
$name// ein $name fuer jeden Platzhalter
    
$name
);
--
[0] Der mit einem "f".

Geändert von fireweasel (14-04-2012 um 12:47 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 16-04-2012, 10:00
wspl
 Registrierter Benutzer
Links : Onlinestatus : wspl ist offline
Registriert seit: Oct 2007
Beiträge: 10
wspl ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen Dank, ich werde mich mit euren Vorschlägen befassen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
php Anfänger Black-Civic Off-Topic Diskussionen 7 27-09-2007 16:24
php anfänger DCSS PHP Developer Forum 2 15-11-2006 21:08
Anfänger frage zu PHP pXvancoco PHP Developer Forum 3 04-05-2006 00:42
php-Anfänger-Problem harry712 PHP Developer Forum 10 04-12-2003 14:59
Sonderzeichen und PHP incl MySQL ( von einem php-anfänger ) Bugman PHP Developer Forum 7 20-11-2001 15:28

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 20:05 Uhr.