Sziasztok mesterek!
Szeretnék hozzátok fordulni pár kérdéssel, remélem tudtok nekem benne segíteni. Tök amatőr szinten próbálkozok a témával ezért sorry, ha "hétköznapi" módon próbálom leírni mi a helyzet és pls így is álljatok hozzám :
A helyzet a következő:
Van egy üzenetküldős rész az oldalamon. név, tárgy, teló, mail cím, szöveg --> majd egy küldés gomb.
Beírom az adatokat addig oké, el is küldi, ahogy kell.
Viszont itt jönnének a bajok. Mivel amatőr vagyok a témában, csak hellyel-közzel látom mi mit jelent, ezért ami "mozgatja" ezt az üzenetküldési részt, a mondjuk: contact.php fájlt úgy "ollóztam össze", saját magam matekoltam ki mit hogyan kellene.
Leírnám mit szeretnék megoldani, majd a kódot. Lehet, hogy számotokra egyszerű, de nekem nagyon sokat jelentene, ha tudnátok segíteni, mert így is napokat "szórakoztam" mire összehoztam ezt..
szóval:
1. első dolog, hogy mikor elküldöm az üzenetet, akkor kijön egy ablak, hogy köszi, továbbítottam. Viszont az alábbi üzenet jelenik meg: "KĂśszĂśnjĂźk ĂźzenetĂŠt!" vagyis az ékezeteket valahogy nem tudom miért, de ilyen irgalmatlan módon jeleníti meg. Ugyan ez a helyzet akkor is, ha nem írok be rendesen valamit, és nem engedi elküldeni. Ezt hogyan tudnám "magyarosítani"?
2. másik, hogy azt meg tudtam oldani, hogyha mindent kitöltök, és elküldöm az üzit, akkor egy ablak jöjjön elő, egy kis "ok" gombbal, majd visszavisz a kapcsolat oldalra. Viszont hogyan tudnám ezt elérni úgy is, hogyha nem töltök ki rendesen valamit és a hibaüzenetnél is kis ablak jöjjön elő? Mert a mostani állás szerint, egy külön "lap"-ra ugrik, azon is hasonló betűkészlettel kiírja az üzit, viszont ott a böngészőn belül tudok csak a vissza gombbal, visszajutni a kapcsolat oldalra.
3. sajnos mivel "ollóztam" ezért nem tudom mi a teendő, de mikor beviszem az adatokat, mondjuk név, mail cím, meg kell felelnie egy bizonyos elvárásnak. Ugye, ha nem értelmes mail címet ad meg az illető, aki írni akar nekem, akkor nem engedi elküldeni. Eddig ok. Viszont ugyanezt szeretném elérni a névnél is, és a telefonszámnál is. mondjuk a névnél csak ékezet nélkül enged, és kis betűvel, telefonszámnál is valami olyan kéne, hogy muszáj legyen kitölteni a mezőt, és betűket ne engedjen.
4. ez már csak "apróság", de azt szeretném még, hogyha megkapom mondjuk a címemre az üzit, akkor ugye a példa alapján kapok egy listát, hogy kitől jött, stb.stb.stb. Viszont szeretném formázni ezt a szöveget, mondjuk, hogy a "küldő" félkövér betűtípusú legyen, vagy dőlt, esetleg színt adni neki vagy valamit, vagy esetleg magát a szöveget, amit küld az illető az legyen dőlt betűvel... Ezt hogy tudnám megoldani?
És végezetül akkor a kód, ami alapján menne az egész.:
<?php
if(isset($_POST['email'])) {
$email_to = "minta@janos.com";
$email_subject = "Üzenet az oldalról!";
function died($error) {
echo "Elnézését kérem, de üzenetét nem tudom továbbítani!";
echo "Az alábbi hibákat észleltem:<br /><br />";
echo $error."<br /><br />";
echo "Kérem javítsa, hogy minél hamarabb továbbítani tudjam a feladóhoz! Köszönöm. <br /><br />";
die();
}
if(!isset($_POST['name']) ||
!isset($_POST['sub']) ||
!isset($_POST['email']) ||
!isset($_POST['number']) ||
!isset($_POST['comments'])) {
died('Elnézését kérem, de üzenetét nem tudom továbbítani!');
}
$name = $_POST['name']; // required
$sub = $_POST['sub']; // not required
$email_from = $_POST['email']; // required
$number = $_POST['number']; // not required
$comments = $_POST['comments']; // required
$error_message = "";
$email_exp = '/^[A-Za-z0-9._%-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}$/';
if(!preg_match($email_exp,$email_from)) {
$error_message .= 'A megadott e-mail cím nem megfelelő!<br />';
}
$string_exp = "/^[A-Za-z .'-]+$/";
if(!preg_match($string_exp,$name)) {
$error_message .= 'A megadott név nem megfelelő!<br />';
}
if(strlen($comments) < 2) {
$error_message .= 'A küldendő üzenet nem állhati ilyen kevés karakterből!<br />';
}
if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = "Helló! :) Üzenetet kaptál azoldaláról! \n\n";
function clean_string($string) {
$bad = array("content-type","bcc:","to:","cc:","href");
return str_replace($bad,"",$string);
}
$email_message .= "Üzenet küldője: ".clean_string($name)."\n";
$email_message .= "Tárgy: ".clean_string($sub)."\n";
$email_message .= "Küldő e-mail címe: ".clean_string($email_from)."\n";
$email_message .= "Küldő telefonszáma: ".clean_string($number)."\n";
$email_message .= "Üzenet: ".clean_string($comments)."\n";
$headers = 'From: '.$email_from."\r\n".
'Reply-To: '.$email_from."\r\n" .
'X-Mailer: PHP/' . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
<!-- place your own success html below -->
<script language="javascript" type="text/javascript">
alert('Köszönjük üzenetét!');
window.location = 'contact.html';
</script>
<?php
}
die();
?>
Pls. valaki segítsen ezen a szerencsétlen hülyegyereken!