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, 22: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 23:02 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 13-04-2012, 22:57
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
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, 23: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, 23:07
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
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, 23: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, 13: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 13:47 Uhr)
Mit Zitat antworten
  #7 (permalink)  
Alt 16-04-2012, 11: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 17:24
php anfänger DCSS PHP Developer Forum 2 15-11-2006 22:08
Anfänger frage zu PHP pXvancoco PHP Developer Forum 3 04-05-2006 01:42
php-Anfänger-Problem harry712 PHP Developer Forum 10 04-12-2003 15:59
Sonderzeichen und PHP incl MySQL ( von einem php-anfänger ) Bugman PHP Developer Forum 7 20-11-2001 16: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

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:35 Uhr.