Autor Zpráva
CZNeo
Profil *
Zdravím zdejší profíky,

před časem jsem si udělal malou aplikaci pro posílání mailů z internetu. Na serveru, kde tento skript provozuji jsou zapnuté register_globals a tak mi můj amatérský počin fungoval na výbornou. Nyní jsem se chtěl pokusit o přestavění do fáze, kdy nebudu potřebovat zapnuté register_globals. Dal jsem se do toho, skript přepsal a fungoval bezvadně. Dál jsem si do něj chtěl přidat možnost odesílání na libovolnou adresu pomocí proměnné "prijemce", jen jsem jí asi blbě napsal a nějak to s ní nefunguje. Mohl by se mi na to někdo mrknout? Byl bych vděčný za každou radu, popíchnutí.

Díky CZNeo

<?

// Emailer by CZNeo

// pokud bude definovan prijemce, ale nebude napsana zprava

if (!empty($_GET['prijemce']) && empty($_GET['akce'])) {
echo "<p>Následující email bude odeslán na adresu <strong> ".$_GET['prijemce']."</strong></p>";
echo "<form id='emailer-new-mail' method='post' action='index.php?show=emailer&amp;akce=odeslat'>
<p>
<label for='odesilatel'>Jméno a příjmení:</label><br />
<input type='text' name='odesilatel' id='odesilatel' />
</p>

<p>
<label for='odesilatel_mejl'>Váš e-mail:</label><br />
<input type='text' name='odesilatel_mejl' value='@' id='odesilatel_mejl' />
</p>
<p>
<label for='text_mejlu'>Text zprávy:</label><br />
<textarea cols='50' rows='15' name='text_mejlu' id='text_mejlu' style='width: 80%;'>Sem zadejte text</textarea>
</p>
<p style='text-align:center;'>
<input type='submit' name='Submit' value='Odeslat e-mail' />
</p>
</form>";
}

if ($_GET['akce']=="odeslat") {
$_POST['odesilatel']=$odesilatel;
$_POST['odesilatel_mejl']=$odesilatel_mejl;
$_POST['text_mejlu']=$text_mejlu;
$_GET['prijemce']=$prijemce;
$predmet="Mail odeslaný ze stránek svazslevaren.cz";
$hlavicka="From: svazslevaren.cz-mailer-deamon\nX-Mailer: TEST\nContent-Type: text/html";
$zprava="<p>Uživatel <b>".$odesilatel."</b>(".$odesilatel_mejl.") poslal následující vzkaz:</p><p>".nl2br($text_mejlu)."</p>";
$odesilani = mail("$prijemce","$predmet","$zprava","$hlavicka");
if (!$odesilani){

//pokud se to nepovede
echo "<p style='font-weight:bold;color:red;'>Při odesílání mailu do Svazu sléváren ČR došlo k neznámé chybě. Zkuste to prosím později znovu. Omlouváme se za vzniklé potíže</p>";
}

//pokud se to povede
else {echo "<p style='font-weight:bold;'>Vzkaz byl odeslán do Svazu sléváren ČR. Chcete-li napsat pro napsání dalšího vzkazu klikněte <a href='./index.php?show=emailer&amp;prijemce=svaz@svazslevaren.cz' title='Nový vzkaz'>zde</a>, v opačném případě pokračujte kliknutím <a href='./index.php' title='Vrátit se na homepage'>sem</a></p>";
}


}
?>[/b][b]
BaTeCzKo
Profil
$_POST['odesilatel']=$odesilatel;
$_POST['odesilatel_mejl']=$odesilatel_mejl;
$_POST['text_mejlu']=$text_mejlu;
$_GET['prijemce']=$prijemce;


Nikdy jsem se nesetkal s nastavováním proměnných v $_POST a $_GET. Já je vždy jen čtu:

$odesilatel=$_POST['odesilatel'];
$odesilatel_mejl=$_POST['odesilatel_mejl'];
$text_mejlu=$_POST['text_mejlu'];
$prijemce=$_GET['prijemce'];
CZNeo
Profil *
safriš, ani takhle to nejede...já su lamka
Toto téma je uzamčeno. Odpověď nelze zaslat.

0