Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Kapryśny skrypt wysyłający mail
wachcio
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 17.07.2011

Ostrzeżenie: (0%)
-----


Witam

Ściągnąłem sobie skrypt który wykorzystuję do kontaktu użytkowników strony ze mną. Skrypt przeważnie działa bez problemu ale nie zawsze. Po naciśnięciu guzika "wyślij" nie raz nie ma żadnej reakcji choć przeważnie wykonuje się i mail jest wysyłany. Nie wiem czemu czasem nie działa... Skrypt jest wykonywany na serwerze home.pl więc musi być na sztywno wpisany mój mail jako nadawca - takie zabezpieczenie z ich strony. Skrypt wygląda tak. Na głównej stronie jest standardowy. Co może być nie tak? formularz

CODE
<html>
<head>
<meta http-equiv="Content-type" content="text/html; CHARSET="iso-8859-2" />
<link rel="stylesheet" href="css/formularz.css" type="text/css" />
</head>
<?php
/********************************************************************************
*****/
/* Licencja na uĹĽytek prywatny i komercyjny. */
/* Wymaga pozostawiania poniĹĽszych danych o autorze i pochodzeniu skryptu. */
/* Autor: Labsta.com Laboratorium Designu */
/* Skrypt pochodzi ze strony http://websta.pl - Blog o grafice i projektowaniu stron */
/* 03/02/2010 */
/********************************************************************************
*****/

include ('ustawienia.php');

ob_start();
include('formularz.php');
$formularz = ob_get_contents();
ob_end_clean();


function wyswietl_forme($komunikat='') {
global $formularz;

$do_zmiany = array(
'#komunikat#',
'#strona#',
'#nick#',
'#mail#',
'#temat#',
'#tresc#'
);


$zmien_na = array(
$komunikat,
$_SERVER['REQUEST_URI'],
$_POST['nick'],
$_POST['mail'],
$_POST['temat'],
$_POST['tresc']
);

$formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);

return $formularz;
}


function waliduj() {
global $komunikat;
global $valid;

if( $valid['nick'] > 0 ) {
if(strlen($_POST['nick']) < $valid['nick'] ) {
$walidacja['nick'] = $komunikat['nick'];
}
}

if( $valid['mail'] == 1 ) {
if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
$walidacja['mail'] = $komunikat['mail'];
}
}

if( $valid['temat'] > 0 ) {
if(strlen($_POST['temat']) < $valid['temat'] ) {
$walidacja['temat'] = $komunikat['temat'];
}
}

if( $valid['tresc'] > 0 ) {
if(strlen($_POST['tresc']) < $valid['tresc'] ) {
$walidacja['tresc'] = $komunikat['tresc'];
}
}

if(empty($walidacja)) {
return 'true';
}
else {
return $walidacja;
}
}

// Dziaŋanie
if (($_SERVER['REQUEST_METHOD'] == 'POST')) {
// wejście postem
$walidacja = waliduj();

if ($walidacja == 'true') {
//poprawnie wypeŋniony formularz

if(mail($adres_odbiorcy,"=?iso-8859-2?B?".base64_encode($_POST['temat'])."?=","Od: ".$_POST['nick']." - ".$_POST['mail']."\r\n".$_POST['tresc'],"\r\n wachcio@delphi-archiwum.pl"."\r\nContent-Type: text/html; charset=iso-8859-2")) {
//sukces
print '
<div id="sukces">
<p>'.$komunikat['sukces'].'</p>
</div>
';
}
else {
//blÄ‌d serwera
print '
<div id="blad">
<p>'.$komunikat['fail'].'</p>
</div>
';
print wyswietl_forme();
}
}
else {
//bŋędna walidacja
$blad_walidacji = $walidacja;

$blad_walidacji = '
<div id="blad">
<p>'.$komunikat['blad'].'</p>
<ul>
';
foreach ($walidacja as $wpis) {
$blad_walidacji .= '<li>'.$wpis.'</li>';
}
$blad_walidacji .= '
</ul>
</div>
';

print wyswietl_forme($blad_walidacji);
}
}
else {
// nowe wejście
print wyswietl_forme();
}

?>
</html>
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:03