Forum » Izdelava spletišč » Spletni kontaktni obrazec
Spletni kontaktni obrazec
d0rK ::
Zdravo,
Najprej naj povem da sem noob in da bo pomoč morala biti temu primerna. Se bom pa pri vsakem odgovoru potrudil da čimveč naredim sam. Ali lahko kdo pove, kaj vse (in kje) je potrebno nastaviti da bo možno poslati sporočilo s spletne strani? Imam spletno stran in želim dodati kontaktni obrazevc. Forma je dorečena, dodal sem tudi nekaj PHP kode ki sem jo dobil na netu. SMTP server bo od GMaila, ustvaril račun samo za to. Ampak ne vem:
Kako uspešno vnesti te SMTP podatke v kodo?
Je potrebno tudi v php.ini dodati kaj?
Potrebujem kakšen dodaten modul?
Nekateri ponujajo PHPMailer dodatek, nekateri PEAR Mail knjižnjico. Obstaja metoda da samo vnesem SMTP podatke v kodo ki jo imam ali res potrebujem še kak dodatek?
Hvala vnaprej.
Najprej naj povem da sem noob in da bo pomoč morala biti temu primerna. Se bom pa pri vsakem odgovoru potrudil da čimveč naredim sam. Ali lahko kdo pove, kaj vse (in kje) je potrebno nastaviti da bo možno poslati sporočilo s spletne strani? Imam spletno stran in želim dodati kontaktni obrazevc. Forma je dorečena, dodal sem tudi nekaj PHP kode ki sem jo dobil na netu. SMTP server bo od GMaila, ustvaril račun samo za to. Ampak ne vem:
Kako uspešno vnesti te SMTP podatke v kodo?
Je potrebno tudi v php.ini dodati kaj?
Potrebujem kakšen dodaten modul?
<?php if (isset($_POST["submit"])) { $name = $_POST['name']; $email = $_POST['email']; $message = $_POST['message']; $human = intval($_POST['human']); $from = 'Ime'; $to = 'ime@gmail.com'; $subject = 'Povpraševanje s spletne strani '; $body ="From: $name\n E-Mail: $email\n Message:\n $message"; // Check if name has been entered if (!$_POST['name']) { $errName = 'Prosim vnesite svoje ime'; } // Check if email has been entered and is valid if (!$_POST['email'] || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $errEmail = 'Prosim vnesite veljaven e-poštni naslov'; } //Check if message has been entered if (!$_POST['message']) { $errMessage = 'Polje ne sme biti prazno'; } //Check if simple anti-bot test is correct if ($human !== 5) { $errHuman = 'Vrednost ni pravilna'; } // If there are no errors, send the email if (!$errName && !$errEmail && !$errMessage && !$errHuman) { if (mail ($to, $subject, $body, $from)) { $result='<div class="alert alert-success">Najlepša hvala za sporočilo!</div>'; } else { $result='<div class="alert alert-danger">Se opravičujemo, nekaj je šlo narobe. Prosim poizkusite ponovno.</div>'; } } } ?>
<form class="form-horizontal" role="form" method="post" action="index2.php"> <div class="form-group"> <label for="name" class="col-sm-2 control-label">Ime</label> <div class="col-sm-10"> <input type="text" class="form-control" id="name" name="name" placeholder="Vaše ime" value="<?php echo htmlspecialchars($_POST['name']); ?>"> <?php echo "<p class='text-danger'>$errName</p>";?> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label">e-Poštni naslov</label> <div class="col-sm-10"> <input type="email" class="form-control" id="email" name="email" placeholder="primer@domena.com" value="<?php echo htmlspecialchars($_POST['email']); ?>"> <?php echo "<p class='text-danger'>$errEmail</p>";?> </div> </div> <div class="form-group"> <label for="message" class="col-sm-2 control-label">Sporočilo</label> <div class="col-sm-10"> <textarea class="form-control" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea> <?php echo "<p class='text-danger'>$errMessage</p>";?> </div> </div> <div class="form-group"> <label for="human" class="col-sm-2 control-label">2 + 3 = ?</label> <div class="col-sm-10"> <input type="text" class="form-control" id="human" name="human" placeholder="Vaš odgovor"> <?php echo "<p class='text-danger'>$errHuman</p>";?> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> <input id="submit" name="submit" type="submit" value="Pošlji" class="btn btn-primary"> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-2"> <?php echo $result; ?> </div> </div> </form>
Nekateri ponujajo PHPMailer dodatek, nekateri PEAR Mail knjižnjico. Obstaja metoda da samo vnesem SMTP podatke v kodo ki jo imam ali res potrebujem še kak dodatek?
Hvala vnaprej.
d0rK ::
Ne rata mi. Zanemaril sem spam preverjanje zaenkrat, hočem samo usposobit toliko da dela. Polje za preverjanje sem pustil v formu, v phpju ni pa ničesar o tem. Openssl extension sem odkomentiral v php.ini. Pa smtp_server sem nastavil na 465, in SMTP = smtp.gmail.com, oboje v php.ini.
Dobim Pošiljanje ni uspelo!
<?php if(isset($_POST['submit'])) { $message= 'Vaše ime: '.$_POST['name'].'<br /> Email: '.$_POST['email'].'<br /> Message: '.$_POST['message'].' '; require "phpmailer/PHPMailerAutoload.php"; //include phpmailer class // Instantiate Class $mail = new PHPMailer(); // Set up SMTP $mail->IsSMTP(); // Sets up a SMTP connection $mail->SMTPAuth = true; // Connection with the SMTP does require authorization $mail->SMTPSecure = "ssl"; // Connect using a TLS connection $mail->Host = "smtp.gmail.com"; //Gmail SMTP server address $mail->Port = 465; //Gmail SMTP port $mail->Encoding = '7bit'; // Authentication $mail->Username = "uporabniško ime"; // Your full Gmail address $mail->Password = "mojegeslo"; // Your Gmail password // Compose $mail->SetFrom($_POST['email'], $_POST['name']); $mail->AddReplyTo($_POST['email'], $_POST['name']); $mail->Subject = "Povpraševanje s spletne strani"; // Subject (which isn't required) $mail->MsgHTML($message); // Send To $mail->AddAddress("naslov_kamor_hocem_da_prihaja_posta", "Janez"); // Where to send it - Recipient $result = $mail->Send(); // Send! $message = $result ? 'Uspešno poslano!' : 'Pošiljanje ni uspelo!'; unset($mail); } ?>
<div id="obrazec" class="section footer-padding"> <div class="container"> <h2>Kontaktni obrazec</h2> <div class="content"> <form class="form-horizontal" method="post" action="index.php"> <div class="form-group"> <label for="name" class="col-sm-2 control-label"></label> <div class="col-sm-10"> <input type="text" class="form-control" id="name" name="name" placeholder="Vaše ime" value="<?php echo htmlspecialchars($_POST['name']); ?>"> <?php echo "<p class='text-danger'>$errName</p>";?> </div> </div> <div class="form-group"> <label for="email" class="col-sm-2 control-label"></label> <div class="col-sm-10"> <input type="email" class="form-control" id="email" name="email" placeholder="Vaš e-naslov" value="<?php echo htmlspecialchars($_POST['email']); ?>"> <?php echo "<p class='text-danger'>$errEmail</p>";?> </div> </div> <div class="form-group"> <label for="message" class="col-sm-2 control-label"></label> <div class="col-sm-10"> <textarea class="form-control" id="message" placeholder="Sporočilo" rows="4" name="message"><?php echo htmlspecialchars($_POST['message']);?></textarea> <?php echo "<p class='text-danger'>$errMessage</p>";?> </div> </div> <div class="form-group"> <label for="human" class="col-sm-2 control-label"></label> <div class="col-sm-10"> <input type="text" class="form-control" id="human" name="human" placeholder="Koliko znaša 2 plus 3?"> <?php echo "<p class='text-danger'>$errHuman</p>";?> </div> </div> <div class="form-group"> <div class="col-sm-10 col-sm-offset-3"> <input id="submit" name="submit" type="submit" value="Pošlji" class="btn color"> </div> </div> <div class="form-group"> <div class="col-sm-5 col-sm-offset-3"> <?php echo $message; ?> </div> </div> </form> </div> </div> </div>
Dobim Pošiljanje ni uspelo!
Zgodovina sprememb…
- spremenil: d0rK ()
d0rK ::
Še eno vprašanje.. Kaj narediti da se bodo polja v kontaktnem obrazcu izbrisala ko uporabnik pošlje obrazec?
Zdaj vse ostane noter in vsakič ko se refresha se pošlje še en email.
Zdaj vse ostane noter in vsakič ko se refresha se pošlje še en email.
Zgodovina sprememb…
- spremenil: d0rK ()
Apple ::
Še eno vprašanje.. Kaj narediti da se bodo polja v kontaktnem obrazcu izbrisala ko uporabnik pošlje obrazec?
Zdaj vse ostane noter in vsakič ko se refresha se pošlje še en email.
Inicializacija polj?
LP, Apple
Apple ::
VALUE attribute can be used to initialize the text string shown in the field when the document is first loaded.
Link
Link
LP, Apple
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | Funkcija mail() v PHPOddelek: Izdelava spletišč | 3453 (3077) | 4kik4 |
» | Uporaba spremenjivke iz JavaScript v PHPOddelek: Programiranje | 1436 (1075) | direstrait |
» | Kontakt phpOddelek: Izdelava spletišč | 1081 (942) | gnomee |
» | Kontaktni obrazecOddelek: Izdelava spletišč | 1583 (1421) | leonkozar |
» | Joomla (mail not send)Oddelek: Izdelava spletišč | 1110 (1013) | f4rr3ll |