[ SerMishoni @ 30.07.2012. 10:29 ] @
E ovako,potrebna mi je pomoc prilikom podesavanja PHP skripte za automatsko slanje email poruke.Znaci,kada se neko registruje na mom sajtu,automatski mu se salje poruka na emailu za potvrdu registracije.
Ako se nevaram skripta za to je ova,to jest ovo je cela skripta za registraciju (register.php):

Code:
<?php 
include('header.php');
if(isset($_POST['register'])){
foreach($_POST as $key => $value) {
    $sec[$key] = filter($value);
}

$verificare1 = mysql_query("SELECT * FROM `users` WHERE `login`='{$sec['user']}' OR `email`='{$sec['email']}'");
$verificare = mysql_num_rows($verificare1);

if ($verificare > 0) {
$mesaj = "<div class=\"error\">ERROR: Username or email already registered!</div>";
}else if (!isUserID($sec['user'])) {
$mesaj = "<div class=\"error\">ERROR: Username is incorrect!</div>";
}else if(!isEmail($sec['email'])) {
$mesaj = "<div class=\"error\">ERROR: Enter a valid email address!</div>";
}else if (!checkPwd($sec['password'],$sec['password2'])) {
$mesaj = "<div class=\"error\">ERROR: Passwords do not match!</div>";
}else{
if(isset($_COOKIE['PlusREF'])){
$ref = $_COOKIE['PlusREF'];
$user1 = mysql_query("SELECT * FROM `users` WHERE `id`='{$ref}'");
$user = mysql_fetch_object($user1);
mysql_query("INSERT INTO `referals`(user,referal,date) values('{$user->login}','{$sec['user']}',NOW())");
}
$activare = rand(000000000, 999999909);
mail($sec['email'],"Activate your account","
Hello,

Thank you for your signup on our site. 

Click on this link to activate your account: 
{$site->site_url}/activate.php?cod={$activare}
    
Best Regards!","From: Site Admin <{$site->site_email}>");
$final = VisitorIP();
$passa = $sec['password'];
$passc = MD5($passa);
mysql_query("INSERT INTO `users`(email,login,IP,pass,passdecoded,ref,signup,activate) values('{$sec['email']}','{$sec['user']}','$final','$passc','$passa','{$ref}',NOW(),'{$activare}')")or die(mysql_error());
$mesaj = "<div class=\"success\">Registered! You need to confirm your email address now!</div>";
}}
?>    
<div class="block medium right">
            <div class="top">
                  <h1>Register</h1>
            </div>
            <div class="content"><div class="msg"><?echo $mesaj;?></div>
<form action="" method="post">
                      <fieldset>
                         <p>
                             <label>Username</label><br/>
                             <input class="text big" type="text" value="" name="user"/>
                         </p>
                         <p>
                             <label>Email</label><br/>
                             <input class="text big" type="email" value="" name="email"/>
                         </p>
                         <p>
                             <label>Password</label> <br/>
                             <input class="password" type="password" value="" name="password"/>
                         </p>
                         <p>
                             <label>Repeat Password</label> <br/>
                             <input class="password" type="password" value="" name="password2"/>
                         </p>
                          <p>
                              <input type="submit" class="button gray small" value="Register" name="register" />
                          </p>
                      </fieldset>
                    </form>

            </div>
        </div>

<?include('footer.php');?>


Nesto treba da se dopise u ovoj skripti da bi slala potvrdni email,mozda treba i na hosting panel da se podesi za slanje emailova?
[ VladaSu @ 01.08.2012. 11:45 ] @
Da, upravu si. Treba nesto da se dopise. Hosting najverovatnije ne treba da se podesava sem ako nema neku domen email adresu.
[ djordjevic_i @ 01.08.2012. 20:28 ] @
ako smatras da je kod ok, onda proveri da li je omogucena mail() funkcija na tvom hostu. pojedini provajderi su svojevremeno udarali zabranu, zbog "spama"
[ HelloCode @ 07.08.2012. 03:41 ] @
Vidi sa obicnim $mail = mail(); , da li ti vraca nesto, i probaj sa var_dump($mail); ako ti salje obicnu poruku, kod ti ne valja, ako ne salje nista, moras ici preko smtp-a, jer ti je mail() disabled od strane hosta.