%s - wie funktioniert es?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

%s - wie funktioniert es?

Beitrag von Bonaparte »

ich bin gerade dabei ein kleines programm zu schreiben und möchte bestimmte stellen eines textes, der in einer db gespeichert ist, ersetzen.

ich habe mir folgendes überlegt ähnlich wie bei phpbb die email-templates:
db hat geschrieben:hier ist der text %s bla bla bla %s wieder text %s
wenn der text geladen wird, dann sollen diese zeichen %s durch bestimmte werte ersetzt werden.

wie kann ich das realisieren?
Gast210225

Beitrag von Gast210225 »

Guck dir das mal an ;)


Viele Grüße,
Johannes
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Bonaparte »

Danke dir, funktioniert so, wie ich es mir vorgestellt habe! ;)
Gast210225

Beitrag von Gast210225 »

Bitte ;)
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Bonaparte »

ich hätte noch eine kleine frage zum thema.

als ich das alles mit einer ganz normalen html-ausgabe getestet habe, war alles i.o. nun wollte ich die daten per mail verschicken. die erste hälfte wird als html ausgegeben und nur die zweite per mail versandt. was mache ich falsch?

Code: Alles auswählen

$mhead = "Content-Type: text; charset=iso-8859-1\n";
$mhead .= "From: ".$config['c_email']."\n";
$mhead .= "Reply-To: ".$config['c_email']."\n";
$mhead .= "Return-Path: ".$config['c_email']."\n";

$mbody = printf($config["c_partner_bestaetigung"], $partner["u_pid"], $partner["u_anrede"], $partner["u_name"], $order["o_auftragsnr"], $order["o_empf_vorname"], $order["o_empf_name"]);
$mbody .= $config["c_belehrung"];
$mbody .= $config["c_signatur"];

$msubject = printf($config["c_partner_bestaetigung_betreff"],$order["o_auftragsnr"]);

@mail($partner["u_email"],$msubject,$mbody,$mhead);
Reyx
Mitglied
Beiträge: 38
Registriert: 27.10.2005 20:45

Beitrag von Reyx »

Ohne mich jetzt groß durch deinen Quellcode gewühlt zu haben: Ich sehe nirgendwo eine echo() oder print()-Anweisung (oder äquivalente) ...
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Bonaparte »

d.h.? (bezogen auf dieses script)
Reyx
Mitglied
Beiträge: 38
Registriert: 27.10.2005 20:45

Beitrag von Reyx »

Bonaparte hat geschrieben:die erste hälfte wird als html ausgegeben
Das heißt, dass nix ausgegeben wird, wenn du dem Parser nicht (z.B. in Form einer print()- oder echo()-Anweisung) mitteilst, dass das geschehen soll.

Ansonsten definiere deine Frage "Was mache ich falsch" etwas genauer ;)
Benutzeravatar
Bonaparte
Mitglied
Beiträge: 308
Registriert: 07.12.2004 23:24
Wohnort: Hamburg
Kontaktdaten:

Beitrag von Bonaparte »

hallo, ist ganz einfach. das ist schon der code der die email sendet

Um einen vodefinierten Text, der in einer DB gespeichert ist, mit bestimmten Werten auszugeben, nutze ich die Funktion sprintf.

Eine Hälfte (mit dem Argument %s) wird auf der Seite ausgegeben (warum auch immer) und der Rest (ohne irgendwelchen Argumenten) ganz normal per eMail versandt.
Reyx
Mitglied
Beiträge: 38
Registriert: 27.10.2005 20:45

Beitrag von Reyx »

Und was ist dann dein konkretes Problem?

sprintf() formatiert dir nur den Text, gibt ihn aber nicht aus!
Zuletzt geändert von Reyx am 03.02.2006 16:15, insgesamt 1-mal geändert.
Antworten

Zurück zu „Coding & Technik“