» »

Napaka v skripti za pošiljanje podatkov na določen e-mail

Napaka v skripti za pošiljanje podatkov na določen e-mail

Bela01 ::

Prosim, če bi mi lahko povedli kje je napaka, da ne dela.

Torej delam eno prijavnico, kjer bo uporabnik izpolnil prijavnico in s klikom na gumb pošlji poslal prijavnico na e-mail.

Sem še čist frišna v php in ga še ne poznam ravno.


Koda za poslji.php:



if ($$_POST['Ime']==""){
echo "Pozabili ste vpisati vaše ime
";
die();
}


if ($$_POST['Priimek']==""){
echo "Pozabili ste vpisati vaš e-mail naslov
";
die();
}


if ($$_POST['Naslov']==""){
echo "Pozabili ste vpisati naslov sporoèila
";
die();
}

if ($$_POST['Posta']==""){
echo "Pozabili ste vpisati vaše ime
";
die();
}


if ($$_POST['Rojstvo']==""){
echo "Pozabili ste vpisati vaš e-mail naslov
";
die();
}


if ($$_POST['Osnovna_Sola']==""){
echo "Pozabili ste vpisati naslov sporoèila
";
die();
}

if ($$_POST['Gsm']==""){
echo "Pozabili ste vpisati vaše ime
";
die();
}


if ($$_POST['E_mail']==""){
echo "Pozabili ste vpisati vaš e-mail naslov
";
die();
}

$sporocilo_za_posiljanje .="Ime: $ime";
$sporocilo_za_posiljanje .="Priimek: $Priimek\n\n";
$sporocilo_za_posiljanje .="Naslov: $Naslov\n\n";
$sporocilo_za_posiljanje .="Posta: $Posta\n\n";
$sporocilo_za_posiljanje .="Rojstni datum: $Rojstvo\n\n";
$sporocilo_za_posiljanje .="Osnovna sola: $Osnovna_sola";
$sporocilo_za_posiljanje .="Gsm starsev: $Gsm\n\n";
$sporocilo_za_posiljanje .="E-mail: $E_mail\n\n";
$sporocilo_za_posiljanje .="Posta: $Posta\n\n";
$sporocilo_za_posiljanje .="Rojstni datum: $Rojstvo\n\n\n";

$sporocilo_za_posiljanje .="Kandidat je izbral naslednje dejavnosti:\n\n";

if ($$_POST['tenis']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- tenis";
}

if ($$_POST['sola_sporta']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- sola sporta";
}

if ($$_POST['Zaplavajmo']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- zaplavajmo - tecaj za neplavalce";
}

if ($$_POST['Pla_krozek']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- plavalni krozek - za plavalce";
}

if ($$_POST['Prvi_termin']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- Smucarski tecaj: prvi termin 24.12.2007 do 28.12.2007";
}

if ($$_POST['Drugi_termin']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- Smucarski tecaj: drugi termin 16.2.2008 do 19.2.2008";
}

if ($$_POST['Tretji_termin']=="Prijavljam")
{
$sporocilo_za_posiljanje .="- Smucarski tecaj: tretji termin 20.2.2007 do 23.2.2008";
}

$sporocilo_za_posiljanje .="Opombe: $Opombe";


$vas_email = "ines.gogeer@gmail.com"; // vstavite svoj email naslov, kam bo poslano sporocilo
$naslov_sporocila = "Prijavnica"; //spremenite naslov sporocila
$glava ="From: $E_mail"; //od koga je prišlo sporocilo

mail("$vas_email", "$naslov_sporocila", "$sporocilo_za_posiljanje", "$glava"); // in email je poslan!

Ziga Dolhar ::

Vklopi prikaz errorjev in povej, kaj "ne dela".

Sicer res, da koda ni najbolj optimalna (praviš, da si sveža) in ima par začetniških napak, tko da mi najprej le pojasni, čemu uporabljaš "$$" pri začetnem preverjanju.
Legal systems are not supposed to be efficient. They are
designed to ensure that innocent people are not found guilty.
If that requires inefficiencies, so be it.

Bela01 ::

Tam je napaka. Povsod bi naj bil samo en $. Zakaj pa se to preverja? Hm, naj bi to naredil, če delaš s submit. Tak mi je bilo rečeno.
No še vedno nič ne dela. Ko kliknem na gumbek submit mi hoče prenest skripto.

Bela01 ::

Ok, tega mi več ne dela.

Vendar pa sedaj ko kliknem na gumbek, se nič ne zgodi. Nič ne pošlje, tudi napake ne javi. Nekje more bit očitno pravopisna napaka.

Ice-Heki ::

Najprej pridiga: zakaj delaš v PHPju nekaj, če ne poznaš osnov? Ne moreš kar čez noč nekaj narediti! Torej, najprej se nauči osnove spremenljivk (kreiranje - $var="neki" ..., primerjavo, $_POST in $_GET funkcije ...), potem pa delaj stvari, ki se jih bo uporabljajo ... drugače zna kdo uporabit varnostne luknje in potem so težave.

Ok, sedaj pa pomoč :) (upam, da ne zameriš za pridigo)
Uf, v tejle kodi pa je napak:

Torej - najprej preverjaš če je vpisano:

if ($$_POST['Ime']==""){
echo "Pozabili ste vpisati vaše ime
";
die();
}

Pravilno bi bilo takole

if ($_POST['Priimek']==""){
echo "Pozabili ste vpisati vaš e-mail naslov
";
die();
}

Pa še to ni povsem optimizirano, ampak OK, bo delalo :D

V nadaljevanju kreiraš novo spremenljivko $sporocilo_za_posiljanje, v katero shraniš celo sporočilo:

$sporocilo_za_posiljanje .="Priimek: $Priimek\n\n";

Hm, mi lahko poveš, kje je spremenljivka $Priimek?
Predvidevam, da si jo pozabila ustvarit, zato pred tole vrstico napiši
$Priimek = $_POST['priimek'];

Ob tem naj te samo opozorim, da ja PHP občutljiv NA VELIKE in MaLe ČrKe!
Sedaj pa to popravi, pa bomo videli če bo že kaj delalo :)

Veliko sreče!

Bela01 ::

Hvala za tako hiter odgovor.

Ni problem glede pridike. Saj to ne bo tako hitro prišlo v na splet (če o sploh kdaj). Zdaj pač dela vendar čist osnovno. Moja želja pa je to malo polepšat. Problem pa je ker pojma nimam. Barem voljo mam :)

Ice-Heki ::

Okej :)
No, zej probej to kr sm napisal, pa bomo vidl kwa bo pol narobi ... aja - pa ne pisat po vseh forumih z eno in isto težavo, ok?

Bela01 ::

Ok:8)

Torej debata se nadaljuje tukaj


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Spamerji kuponko.si in ostali

Oddelek: Omrežja in internet
73218 (1939) marS
»

mail send php scripta

Oddelek: Programiranje
101139 (688) xsenon
»

Kako preveriti ali so vnosna polja izpolnjena?

Oddelek: Izdelava spletišč
111500 (1154) bluefish
»

[PHP] Kako izvesti neko kodo šele ob kliku

Oddelek: Izdelava spletišč
241433 (919) krho
»

PHP guruji prosim pomoč!

Oddelek: Izdelava spletišč
14983 (743) mare_

Več podobnih tem