PHP Centeri avaleht Skriptikogu Küsimuste-vastuste leht Teadete vaatamine ja saatmine Foorum - koht küsimiseks Otsingumootor Siit saad infot meie kohta

Kasutajanimi:  
  Parool: 
  Registreeri!   Unustasid salasõna?

Foorumid Programmeerimine Värsked skriptid Oleks vaja abi scriptiga.
Autor Abi Postitus Abi

vardjas

Postitusi: 6
Tase: 1
Olek: Offline

Hinnang: Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10Administratiivhinnang: 5/10
kurb Oleks vaja abi scriptiga.

Et tegemist on siis scriptiga mille järgi teha hinna pakkumine kliendile.

Form on siis sedasi :

<form method="post" action="saada.php" enctype="multipart/form-data">
  <p>Nimi :
    <INPUT NAME="$subject" TYPE="TEXT" id="$subject" size=29 maxlength="50">
  </p>
  <p>TEL :
    <INPUT NAME="$tel" TYPE="TEXT" id="$tel" size=29 maxlength="50">
  </p>
  <p>E-Mail :
    <INPUT NAME="$mail" TYPE="TEXT" id="$mail" size=29 maxlength="50">
  </p>
  <p>
    Elukoht :
    <INPUT NAME="$aadress" TYPE="TEXT" id="$aadress" size=29 maxlength="50">
  </p>
  <p>Soovitavad tööd : </p>
  <p>
    <textarea name="$tood" cols="40" rows="5" id="$tood"></textarea>
    <br>
    <br>
    <input type="submit" name="submit" value="Saada Fail">
    <input type="reset" name="Reset" value="Tühjenda väljad">
          </p>
</form>
  
  <br>


Ja saada.php siis sedasi :

<?php
if (empty($_POST["$subject"])) {
print 'Nimi puudub.<br>'; $die=1;
}


if ($die != 1) {
mail("niemsik@hotmail.com", $_POST["$subject"], $_POST["$tel"], $_POST["$mail"], $_POST["$aadress"], $_POST["$tood"]);
print '
Teile vastatakse mõne päeva jooksul.';
}
?>




Probleem siis selles, et script ei tööta kohe kuidagi moodi .




29.03.2009 15:39:59 Vajutades siia näed kasutaja vardjas profiili

goblin11
Scientia potestas
est

Postitusi: 776
Tase: 8
Olek: Offline

Hinnang: Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10Administratiivhinnang: 8/10
RE: Oleks vaja abi scriptiga.

Mul vedeles kaustas väike meilisaatmis skriptike, niisiis ma postitan selle siia
PHP kood:

<?php
define
('email_to''nimi@hot.ee');

function 
email($email)
{
    if (
preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|dm|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv|mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro|ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th|tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu|za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"$email))
    {
        return 
true;
    }
    return 
false;
}

if (isset(
$_POST['sendmail']))
{
    
$name = (isset($_POST['name'])) ? trim($_POST['name']) : '';
    
$email = (isset($_POST['email'])) ? trim($_POST['email']) : '';
    
$header = (isset($_POST['header'])) ? trim($_POST['header']) : '';
    
$message = (isset($_POST['message'])) ? trim($_POST['message']) : '';
    
$imarobot = (isset($_POST['imarobot'])) ? 0;
    
$spamstop = (isset($_POST['spamstop'])) ? trim($_POST['spamstop']) : '';

    
$errors array();

    if (
strlen($name) < 1)
    {
        
$errors[] = 'Nimi lisamata';
    }

    if (
strlen($email) < 1)
    {
        
$errors[] = 'Email lisamata';
    }
    else
    {
        if (!
email($email))
        {
            
$errors[] = 'Email ei ole korrektne';
        }
    }

    if (
strlen($header) < 1)
    {
        
$errors[] = 'Pealkiri lisamata';
    }

    if (
strlen($message) < 1)
    {
        
$errors[] = 'Sisu lisamata';
    }

    if (
$imarobot == 1)
    {
        
$errors[] = 'Emaili ei saa saata';
    }

    if (
$spamstop != $_COOKIE['spamstop'])
    {
        
$errors[] = 'Topeltpostid on keelatud';
    }

    if (
count($errors) > 0)
    {
        echo 
'Viga<br>';
        echo 
implode('<br>'$errors);
    }
    else
    {
        
$headers '';
        
$headers .= 'From: '.$name.' <'.$email.'>' "\r\n";

        if (
mail(email_to$header$message$headers))
        {
            echo 
'Meili saadetud';
        }
        else
        {
            echo 
'Meili saatmisel tekkis viga';
        }
    }
}

$spamstop md5(time().$_SERVER['REMOTE_ADDR']);
setcookie('spamstop'$spamstoptime() + (60 60));
?>
<form action="" method="POST">
Nimi: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
Pealkiri: <input type="text" name="header"><br>
Sisu: <textarea name="message"></textarea><br>
<input type="submit" name="sendmail" value="Saada">
<input type="checkbox" name="imarobot" value="1" style="display: none;">
<input type="hidden" name="spamstop" value="<?php echo $spamstop?>">
</form>


Kommenteerida ei viitsinud, kuna see nii lühike ja serge aru saada.
nimi@hot.ee asenda siis selle aadressiga, kuhu tahad saata.
Ja selle spamstopi võib ka muidugi sessioonidega lahendada, kuid seal, kus seda kasutati, ei olnud sessioonid võimalikud, et jah...igatahes on see mõeldud topeltpostide vältimiseks
Ja see 'imarobot' on spämmirobotite vältimiseks, kes üldjuhul täidavad formis ära kõik väljad, mis võimalik.

Loodan, et oli abi.
Edu.

___________________________________________________
Google

29.03.2009 16:15:40 Vajutades siia näed kasutaja goblin11 profiili
Kokku: 25949 registreerunud kasutajat, 9711 teemat, 54603 postitust.
Täna on pühapäev, 8. detsember 2019. Kell on 15:23.

    Vaata selle lehe printerisõbralikku versiooni

Avaleht   -    Skriptikogu   -    Teated   -    Foorum   -    Reklaam   -    Tagasiside   -    Kasutamise reeglid

© Copyright 2002-2019 PHP Center. Kõik õigused reserveeritud.