[ derek @ 11.08.2004. 09:16 ] @
pa u principu, pocinjem nesto da citam o PHP=u, i tako, ukratko, odlucio da napravim mailing listu, cisto da povezem to nesto malo sa Mysql-om. Medjutim mislim da mi ovaj query koji saljem nije dobar, probavao sam na razlicite nacine da promijenim, ali ne ide...

$sql_query = "INSERT INTO baza1 VALUES ("{$HTTP_POST_VARS['email']}")";
$results = mysql_query($sql_query);

nikako da mi upise u bazu te neke probne mailove... pa ako bi neko imao kakav koristan prijedlog ili sugestiju, hvala...
[ afwt @ 11.08.2004. 10:59 ] @
Imas gresku u kodu, promeni prvi red u:
Code:

$sql_query = "INSERT INTO baza1 VALUES ('$_POST[email]')";


Ne mozes tek tako da otvaras i zatvaras navodnike.
[ noviKorisnik @ 11.08.2004. 11:19 ] @
Ja to pišem još malo drugojačije

$sql_query = "INSERT INTO baza1 VALUES ('{$_POST['email']}')";

OK, dereko od daleko, sve se vrti oko navodnika - negde su dupli, negde obični - i to je to.
[ derek @ 11.08.2004. 15:05 ] @
ok,probacu, sumnjao sam na query, ali nisam uspijevao nikako da napravim to da radi...
hvala!
ako ne proradi, citamo se opet!:)
[ NetworkAdmin @ 11.08.2004. 15:45 ] @
VRLO je opasno varijablu iz POST direkt ubaciti u query moj ti je savjet da probas:

Code:
$email = mysql_escape_string($_POST['email']);


Druga stvar je sintaksna greska pogledaj kako se radi insert u mysql:

http://dev.mysql.com/doc/mysql/en/INSERT.html

tvoj kod bi vjerovatno trebao nesto ovako da izglrda:

Code:
$sql_query = "INSERT INTO baza1 (email) VALUES ('$email')";


I to samo ako ti se tabela zove baza1 i ako ti se polje u tabeli u kojoj hoces da upises zove email.

I na kraju jos da dodam string $sql_query se nece sam izvrsiti nego ga moras poslati k serveru pomocu funkcije mysql_query($sql_query) i da bi imao uvid sta se desava i dobio eventualne greske:

Code:
$result = mysql_query($sql_query) or die ("Hmmm evo ga greska ". mysql_error());
[ derek @ 11.08.2004. 17:11 ] @
sad radi...
stavio sam ovako...:
$sql_query = "INSERT INTO mejlovi (email) VALUES ('$email')";
$results = mysql_query($sql_query)or die ("Hmmm evo ga greska ". mysql_error());

greska je bila u tome, sto sam previdio da se u toj naredbi insert stavlja ime TABELE, a ne ime BAZE... lapsus (ocigledno moram mnogo bolje procitati tu sintaksu)
ok, hvala svima. Pozdrav!
[ NetworkAdmin @ 11.08.2004. 20:20 ] @
Derek samo strpljivo i naprijed. Imam osjecaj da radis nesto samostalno... to je najbolji nacin da stvarno naucis nesto a ovi dripci sto misle da hotscripts = programiranje i dalje od config fajla nisu stigli mogu tapkati u mjestu 2 i vise godina bez progresa a samostalan rad i ucenje na sopstvenim greskama moze te za vec nekoliko mjeseci rada prekaliti u programera a par godina napraviti hardcore profesionalca a ostalo je instikt i iskustvo.
[ Zlatiborac @ 11.08.2004. 20:24 ] @
Bash na Zokin nagovor, mozda chak i grdnju, prionuo sam na rad, zasukao rukave, ukljuchio mozak i danas se mogu pohvaliti da sam napravio neshto shto je moje, i neshto shto radi sasvim OK.
Poslushaj njegov savet i necesh pogreshiti, ako imash nameru da se ovim poslom bavish ozbiljno.
Ako ne onda trk na HotScripts i moli boga da ono shto skinesh radi OK.
[ derek @ 12.08.2004. 20:41 ] @
napravio sma sve, zadnji skript, koji treba da mi salje newsletters, mi je sumnjiv,pa ajd da priupitam, ...
buduci da sve radim na svom racunaru... pod nusphere-om

$result=mysql_query($sql_query) or die ("Greska". mysql_error());
$header="From:derek.com";

while ($row=mysql_fetch_array($result))
{
$adress=$row[0];
mail($adress,$subject,$body,$header) or die("Greska". mysql_error());
print("Newsletter sent to:$adress<br>");
}
print("Completed sending emails!");

}


a Gresku mi prijavljuje sljedecu:
Warning: Failed to Receive in c:\program files\nusphere\apache\htdocs\sendnewsletter.php on line 20
Greska


Pa me zanima, je li to normalno, s obzirom da ti mailovi stvarno ne mogu nigdje da odu,ili nesto drugo nije u redu...