Variable übergeben??

Begonnen von _Gerry_, 24 August 2003, 04:15:56

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

_Gerry_

Das $mail wird aus einer Datenbank ausgelesen und dann nur mittels dem Link:
....../mail.php?to=$mail
übergeben!

Das sieht dann folgendermassen aus:
...../mail.php?to=Gerry@frieds4you.org

Wobei eben die Mailadresse sich ändern kann, jenachdem auf welchen Link man klickt.

Das "email" ist dann die Mailadresse des Absenders!  ;)
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

jubilee

Hmmm ......
Wie wäre es denn, wenn Du uns jetzt endlich mal den kompletten
Quellcode zeigen würdest.
???
Anders :
Wenn du das so einträgst :
mail.php?to=Gerry@frieds4you.org kommt das dann an ???

nochwas: Muss das vorher urlencoded werden damit das über http rübergeht ??
MfG
jubilee

[Editiert am 24/8/2003 von SiteAdmin jubilee]

_Gerry_

Hab ich zwar schon, aber was soll`s!  :D

Zuvor:
 
<?php
$emailadresse
="$to";

$nachricht_OK="Nachricht erfolgreich gesendet";

$nachricht_NOK="Es wurden nicht alle Felder ausgefüllt";

if (
$submit&#41;
{
 if (
$betreff=="" &#124;&#124; $name=="" &#124;&#124; $email==""
&#124;&#124; $kommentar==""&#41;
 
{
 echo 
"$nachricht_NOK";
 exit(&
#41;;
 
}
else
{
 echo 
"$nachricht_OK";
 
mail("$emailadresse","$betreff""Betreff:\t $betreff\nName:\t\t
$name\nE-Mail:\t\t $email\nKommentar:\t
$kommentar,\n\n\n$REMOTE_ADDR\n$REMOTE_HOST\n$HTTP_USER_AGENT","From:
$email"&#41;;
 
exit(&#41;;
 
}
}
?>

<form action="<?php echo $PHP_SELF?>" method="post"
name="formmail">
<table border="0" cellpadding="0" cellspacing="0" width="400">
 <tr>
  <td width="100" height="25" valign="middle">
   <p>Name:</p>
  </td>
  <td>
   <input type="text" name="name" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" height="25" valign="middle">
   <p>E-Mail:</p>
  </td>
  <td>
   <input type="text" name="email" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" height="25" valign="middle">
   <p>Betreff:</p>
  </td>
  <td>
   <input type="text" name="betreff" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" valign="top">
   <p>Nachricht:</p>
  </td>
  <td>
   <textarea cols="14" rows="4" name="kommentar"></textarea>
  </td>
</tr>
<tr>
 <td>
  <p> </p>
 </td>
 <td height="25">
  <input type="Submit" name="submit" value="Senden">
 </td>
</tr>
</table>
</form>



Nach Tip von Andi auf folgendes geändert:

 
<?php

foreach ($_POST as $key => $value&#41; {
print "$key = $value<br>"/// zur Kontrolle was kommt 
}

$emailadresse = (isset($_POST['to']&#41;&#41; ? $_POST['to'] : "";

$nachricht_OK="Nachricht erfolgreich gesendet";

$nachricht_NOK="Es wurden nicht alle Felder ausgefüllt";

if (isset(
$_POST['submit']&#41;&#41;{
 
if (empty($_POST['betreff']&#41; &#124;&#124; empty($_POST['name']&#41; &#124;&#124;
empty($_POST['email']&#41; &#124;&#124; empty($_POST['kommentar']&#41;&#41; {
 
echo $nachricht_NOK;
 exit(&
#41;;
 
}
else{
 echo 
$nachricht_OK;
 
error_reporting(E_ALL&#41;;

 
mail($emailadresse,$_POST['betreff'], "Betreff:\t
"
.$_POST['betreff']."\nName:\t\t".$_POST['name']."\nE-Mail:\t\t
"
.$emailadresse."\nKommentar:\t".$_POST['kommentar'].",\n\n\n".$_SERVER['REMOTE_ADDR']."\n".getenv('REMOTE_HOST'&#41;."\n".$_SERVER['HTTP_USER_AGENT']."","From:".$emailadresse.""&#41;;
 
exit(&#41;;
 
}
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="formmail">
<table border="0" cellpadding="0" cellspacing="0" width="400">
 <tr>
  <td width="100" height="25" valign="middle">
   <p>Name:</p>
  </td>
  <td>
   <input type="text" name="name" value="<?php echo"$name"?>" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" height="25" valign="middle">
   <p>E-Mail:</p>
  </td>
  <td>
   <input type="text" name="email" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" height="25" valign="middle">
   <p>Betreff:</p>
  </td>
  <td>
   <input type="text" name="betreff" maxlength="50" size="25">
  </td>
</tr>
 <tr>
  <td width="100" valign="top">
   <p>Nachricht:</p>
  </td>
  <td>
   <textarea cols="14" rows="4" name="kommentar"></textarea>
  </td>
</tr>
<tr>
 <td>
  <p> </p>
 </td>
 <td height="25">
  <input type="Submit" name="submit" value="Senden">
 </td>
</tr>
</table>
</form>
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

jubilee

Nein, Du verstehst mich nicht.
Der Teil mit der Abfrage der Datenbank wo ja die Mailadresse
herkommt.
Das meinte ich ;)

Ausserdem kannst Du mal die versch. Header mit /r/n anstatt nur /n
trennen. Einige MTA's machen sonst Ärger.
MfG
jubilee

Ralf_W

In meinen Scripts klappts folgendermassen:
 

@mail ($emailadresse, $betreff, $mailtext, "From: absender@domain.de");



[Editiert am 24/8/2003 von Ralf_W]

JensWagenknecht

Ich habe das von _Gery_ so geändert:

$emailadresse = (isset($_POST['to'])) ? $_POST['to'] : "";
echo "EMai: $emailadresse";
exit;

Übergeben habe ich mail.php?to=jwagenknecht@t-online.de

Und er steigt wo ich es wollte aus, aber $emailadresse ist leer.

Nur so die Feststellungen welche ich gemacht habe.
Vielleicht hilft es ja.

_Gerry_

Ähmmm.....

Was hat der Teil mit der Abfrage damit zu tun,
den die Mailadresse wird ja richtig ausgelesen.
Nur das Mailscript selbst hat anscheinend Probleme damit die Mailadress zu verstehen.


CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht

Na, per mail.php?to=adresse wird ja der Absender übergeben.

Und der sollte schön in den From teil rein, oder?

Das Mailscript klappt doch. Der Absender ist aber nicht drin.
Ich habe verstanden das Du mit der Variable den Absender übergibst - der muss in From rein.
Und der liebe User Tipt die Adresse und Betreff und Text rein wo es hingehen soll.

oder sehe ich da was Falsch?

Lass doch mal den fertigen mail Aufruf ausgeben und schon sieht man das Problem.

Andi

Schittebäng.... Sorry....

Das habe ich auch übersehen. Das Eingabefeld heisst nicht to sondern email.

Also muss es so lauten:

$emailadresse = (isset($_POST['email'])) ? $_POST['email'] : "";
schön´s Grüssle, Andi

_Gerry_

@Jens
Genau anderst rum.
Also mit dem Link:

..../mail.php?to=$mail


wird der   EMPFÄNGER angegeben!

Im Script selbst ist der Absender mit  email angeführt!

Der User gibt dann seinen Namen, seine Mailadress und seine Message ein.



[Editiert am 24/8/2003 von _Gerry_]
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

Ralf_W

So wie ich es verstanden habe wirtd doch in das Feld "email" die Absender Adresse eingegeben, oder? Was passiert denn wenn in der mail() Zeile anstelle der variablen direkt eine empfänger adresse angegeben wird?

jubilee

 
ZitatWas hat der Teil mit der Abfrage damit zu tun,
 
Das wäre um zu verhindern, das jeder Fragen muss :
Was das Script soll, wie das Script arbeitet, wo evt. noch Variablen herkommen etc...
Wenn man nicht 20 x Nachgefragt hätte, hättest du uns dann gesagt wo die Variable $mail auf einmal herkommt ?
Wenn Du angst hast, das Dir jemand Dein Script klaut, das musst Du es halt selbst reparieren.
MfG

[Editiert am 24/8/2003 von SiteAdmin jubilee]

_Gerry_

Wie bereits gesagt jubilee, es wird eigentlich nur die Mailadresse aus der Datenbak geladen, das wie und warum ist da doch eigentlich egal.
Hat nichts damit zu tun das jemand das Script kopiert oder so, wäre mir auch egal, aber es hat mit dem eigentlichen Problem nichts zu tun, da diese Funktion ja einwandfrei arbeitet.
Die mail.php hab ich ja zu 100% gepostet.

Es dient dazu ein einziges Mailscript für unzählige Mailadressen zu haben.
Wobei die Mailadresse des Empfängers eben per Link übergeben wird.
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht


_Gerry_

CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht

Als Formular nicht. Aber die Funktion als solches schon. Vor allem für hier angepaßt.

Ich für meinen Teil mißbrauche immer die VPK eigenen Funktionen.

_Gerry_

Naja, ich brauch es aber nicht für das VKP.
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht

Bei mir hatte es doch finktioniert.

Einziges Problem war das From Feld.

Es gibt Mailserver die sind da genau.

Vielleicht nimmt sich ja einer mal dem Problem an und alles ist ok.

jubilee

Hmmmmm .....
müssen wir uns mal in der nächsten Woche etwas mit beschäftigen.
(Sprich: wenn besser ausgeschlafen ...)

MfG
jubilee

[Editiert am 24/8/2003 von SiteAdmin jubilee]

jubilee

Wart mal .......
Zuerst kommt die Abfrage der Datebank.
Da bekommt Du die Mailadresse ($mail). Dann gehts über
....mail.php?to=$mail weiter an das php-script mail.php.
Da wird die E-mail-Adresse die in $to ist in die Variable
$emailadresse gespeichert. Dann wird über das Form (in dem der User ja noch was eintragen soll) die
mail.php nochmal aufgerufen um die mailfunktion durchzuführen die ja erst dann geht, wenn $submit gesetzt ist.
Dabei wird die Variable $emailadresse aber ja wieder neu gesetzt
( $emailadresse="$to" ) . $to ist in diesem Fall aber ja gar nicht gesetzt, weil nicht benutzt. Benutzt wird to ja nur, über die Routine wo die Datenbankabfrage drin ist.
So wird da ein Schuh draus.....
MfG
jubilee