php-code im formular-vorlagetext? variable über url übergeb?

Use GitHub to post feature requests for phpwcms.
Locked
susi
Posts: 33
Joined: Tue 19. Jul 2005, 11:14

php-code im formular-vorlagetext? variable über url übergeb?

Post by susi »

hi,

bin wieder mal am verzweifeln, arbeite seit tagen an diesem problem :cry:

es geht darum, eine empfehlung der aktuellen seite per kontaktforumlar zu senden.
das formular habe ich erstellt. jetzt geht es darum, in der vorlage für den text des emails die referer-url anzugeben (... besuch doch mal http://www.meineSeite.de/pfad/kategorie.php).

ich habe also die url ausgelesen in einem externen file und das file im header included. funktioniert auch soweit, die variable $url gibt korrekt die url inclusive dem pfad zu dem betreffenden artikel zurück.

dann versuche ich, die url mit dem link auf das empfehlungs-formular zu übergeben:
<a href="index.php?weiterempfehlen&url=[PHP]print $url;[/PHP]">
Diese Seite weiterempfehlen
</a>
aber die url wird nicht an den link gehängt. woran kann das liegen???

zum zweiten habe ich eben festgestellt, dass man innerhalb der formular-vorlage für den email-text weder php-code mit [PHP]print $url;[/PHP] noch ein ext. script {PHP:phpwcms_code_snippets/url.php} verwenden kann. gibt es hierfür einen trick???

oder anders gefragt: kennt jemand ein empfehlen-script, das ich in phpwcms einbinden kann und das eben auch den pfad zu dem betr. artikel angibt?

gruß und 1000 dank im voraus für jede hilfe,
susi

p.s. ich habe natürlich innerhalb des forums gesucht und auch ein tellafriend-script gefunden, das allerdings nur die domain weitergibt, nicht den pfad zu der zu empfehlenden seite.
die einzelnen, oben beschriebenen probleme habe ich natürlich auch stundenlang recherchiert, komme aber nicht zum ergebnis.... :cry:
volkman
Posts: 179
Joined: Wed 13. Jul 2005, 12:52
Location: Hamburg, Germany

Post by volkman »

hi susi,
musst du das standard-kontaktformular nehmen oder kannst du was eigenes (php) einbinden?
ich nutz bei einer userverwaltung den phpmailer, um aus einem formular variablen (in dem falle namen und passwort) zu übergeben. mit einem anderen frage ich die datenbank nach postleitzahlen ab und geb die passenden useradressen zurüch. in beiden fällen sind das php-scripte.
das für meinen phpmailer hab ich mal beigepackt, vielleicht hilft dir das. musst die beiden teile (datenerfassung und mailversand) nur in einem script verketten (siehe unten).

Code: Select all

if ($_POST['submit'] == "Submit") {
	$values = $_POST;

            ...userabfrage, ob er existiert, hier nicht wichtig....

		$mail = new PHPMailer();
		$email_address			= $_POST['email_address'];
		$email_fullname			= $_POST['full_name'];
		$mail->Mailer 			= $phpwcms['SMTP_MAILER'];
		$mail->Host 			= $phpwcms['SMTP_HOST'];
		$mail->Port 			= $phpwcms['SMTP_PORT'];
		if($phpwcms['SMTP_AUTH']) {
			$mail->SMTPAuth 	= 1;
			$mail->Username 	= $phpwcms['SMTP_USER'];
			$mail->Password 	= $phpwcms['SMTP_PASS'];
		}
		$mail->SMTPKeepAlive 	= false;
		$mail->From 		= $phpwcms['SMTP_FROM_EMAIL'];
		$mail->FromName 	= $phpwcms['SMTP_FROM_NAME'];
		$mail->AddAddress("$email_address", "$email_fullname");

		$mail->Subject = "Zugangsdaten Verein-XYZ";

		$mail->Body    = '
  Willkommen beim geschlossenen Benutzerbereich des Verein XYZ! 

  Ihr Zugang ist eingerichtet und aktiviert. Mit dem Link unten, Ihrem
  Benutzernamen und Passwort erhalten Sie sofort Zugang:

	' . $phpwcms["site"] . 'index.php?login_xql
	Benutzername: ' . $_POST['username'] . '
	Passwort:     ' . $_POST['password'] . '

  Herzlichst, Ihr Online-Team XYZ.
	';

		if(!$mail->SetLanguage($phpwcms['default_lang'])) {
			$mail->SetLanguage('de');
		}

		if(!$mail->Send())
			{
			   echo "Das Best&auml;tigungs-E-Mail konnte nicht verschickt werden. <p>";
			   echo "Mailer Error: " . $mail->ErrorInfo;
		 	  exit;
			}
...hier geht das script noch weiter.....
Ich hab hier im Mailbody das Zeug beim Versenden verpackt. Das Eingabeformular müsste in deinem Falle nur versender und adressaten enthalten.

Das Verketten sollte etwa so aussehen:

Code: Select all

<?php if(!$_POST["versenden"]) { ?> 


Hier müsste das Mailformular (Absender, Adressat, text) rein, zudem die varable mit der Seitenreferenz

<?php } else { ?> 

<?php

Hier müsste der PHP-mailerkram rein

		<? } ?>

Das script legst du ins root-verzeichnis und rufst es von einer beliebigen seite auf über
{PHP:meinscript.php}
auf. Die Zeile oben packst Du in den Artikel. Ich habs nicht probiert, sollte aber gehen, denke ich.

Ich hoffe, das hilft dir.


volkman
volkman
Posts: 179
Joined: Wed 13. Jul 2005, 12:52
Location: Hamburg, Germany

Post by volkman »

Hi Susi,
da ich in ein paar Tagen auch so ein mail-to-friend-teil benötige, hab ich ein kleines script zusammengehämmert. nicht schön aber funktioniert.
findest du unter http://www.phpwcms.de/forum/viewtopic.php?p=47997#47997

viele grüße
volkman
Locked