Poslao: 28 Nov 2006 19:28
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
Totalni pocetnik... mozda treba navesti
Napravio sam dve stranice...
Prva je HTML i sluzi za unos podataka, konkretno ime i prezime. Nalazi se u formi method="get"
Druga strana je php strana koja bi trebala da izbaci pozdravnu poruku za uneto ime i prezime....
Kada se pokrene HTML i unese neko ime i prezime, otvara se pozdrav.php ali izbacuje samo pozdravni tekst ali ne i ime i prezime... Ne kapiram gde gresim....
Evo i koda.
strana.html
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Poz</title>
</head>
<body>
<form action="pozdrav.php" method="get">
<table width="300" border="0" cellpadding="1" cellspacing="1">
<tr>
<td bgcolor="#00CCCC">Ime:</td>
<td bgcolor="#00CCCC"><input type="text" name="ime"></td>
</tr>
<tr>
<td bgcolor="#00CCCC">Prezime:</td>
<td bgcolor="#00CCCC"><input type="text" name="prezime"></td>
</tr>
<tr>
<td colspan="2" bgcolor="#00CCCC"><input type="submit" value="Potvrdi"></td>
</tr>
</table>
</form>
</html>
pozdrav.php
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Pozdrav</title>
</head>
<body>
<?
echo( " Dobrodošao, $ime $prezime" );
?>
</body>
</html>
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 28 Nov 2006 21:02
|
offline
- Radovan_III
- Ugledni građanin
- Pridružio: 14 Nov 2003
- Poruke: 367
|
nece da radi iz prostog razloga sto u pozdrav.php nije definisana promenjiva $ime i $prezime
1.
treba ti ova linija
$ime=$_GET['ime'];
tj
<?
$ime=$_GET['ime'];
echo( " Dobrodošao, $ime " );
?>
2.
za slanje podataka preko formi je bolje koristiti post metod od get metoda ( zameni rec GET sa POST , i u formi ), prednosti su:
a) nema stvaranja predugacnog linka
b) nema ogranicenja u duzini kao kod get metode
c) pruzas mnogo laksu mogucnost hakovanja ili nekog spama itd jer je veoma lako dati botu naredbu ako imas get metodu.
|
|
|
|
Poslao: 28 Nov 2006 21:19
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
@Radovan_III
to je to.... tnx....
Inace, znam za prednosti i mane izmedju get i post....
Sifra obavezno ide sa post i tako dalje... ovo sam samo hteo vezbe radi da uradim...
Ok, hvala... to je za sada, a verujem da ce uskoro biti jos pitanjca
tnx
|
|
|
|
Poslao: 29 Nov 2006 20:40
|
offline
- stankovic
- Prijatelj foruma
- Pridružio: 11 Maj 2005
- Poruke: 871
- Gde živiš: Aleksinac - Niš
|
Radovan_III ::
c) pruzas mnogo laksu mogucnost hakovanja ili nekog spama itd jer je veoma lako dati botu naredbu ako imas get metodu.
Veruj mi podjednako je lako napraviti bot i ako imas post metod
|
|
|
|
Poslao: 01 Dec 2006 04:25
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
Uspeo sam da izlisam nesto iz baze podataka, ali unos...
ako moze mala pomoc....
db = filmovi
table = filmovi
kolone su ID i naziv
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Ubaci film</title>
</head>
<body>
<?php
$povezivanje = @mysql_connect("localhost", "root", "");
if(!$povezivanje) {
echo("<p>Baza trenutno nije dostupna !</p><p>Molimo probajte kasnije</p>");
exit();
}
if(! @mysql_select_db("filmovi")){
echo("<p>Trenutno nije moguće pristupiti bazi filmova</p>");
exit();
}
if ("SUBMIT" == $posalji) {
$sql = "insert into filmovi set naziv='$naziv_filma'";
if (mysql_query($sql)) {
echo("<p>Upisan u bazu</p>");
}
else {
echo("<p>GRESKA PRI UPISU !</p>");
}
}
?>
<form action="<?php echo($PHP_SELF); ?>" method="post">
Naziv filma: <input type="text" name="naziv_filma" size="50">
<input type="submit" name="posalji" value="Unesi">
</form>
</body>
</html>
Hvala !
|
|
|
|
Poslao: 01 Dec 2006 04:37
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
ovo:
$sql = "insert into filmovi set naziv='$naziv_filma'";
zameni sa:
$sql = "insert into filmovi values (NULL, '".$_POST['naziv_filma']."');";
i ovo:
if ("SUBMIT" == $posalji) {
zameni sa
if (isset($_POST['posalji'])) {
|
|
|
|
Poslao: 01 Dec 2006 05:24
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
auuu radi bez greske
tnx peco
Dopuna: 01 Dec 2006 5:24
hmmmm cek je moglo nekako da se izvede ovo sa set ili moram sa value ???
php ucim, a sql vec znam tako da u bazi sigurno radi sa "set"....
|
|
|
|
Poslao: 01 Dec 2006 18:13
|
offline
- Peca
- Glavni Administrator
- Predrag Damnjanović
- SysAdmin i programer
- Pridružio: 17 Apr 2003
- Poruke: 23211
- Gde živiš: Niš
|
SET se koristi sa UPDATE, a ne sa INSERT.
Inace, INSERT moze da ide i ovako (cak je i preporucljivo):
$sql = "INSERT INTO filmovi (naziv) VALUES ('".$_POST['naziv_filma']."');";
|
|
|
|
Poslao: 01 Dec 2006 19:45
|
offline
- Svemirko
- Legendarni građanin
- Pridružio: 24 Mar 2004
- Poruke: 3962
- Gde živiš: Zemun
|
Da da... evo popravio sam na tu preporucenu vrednost
Nego kada uradim reload te strane on i dalje upisuje taj isti podatak...
Ima li tu neke zastite, da ako se uradi reload a input polje prazno da ne unosi stari podatak.... nesto na foru nekog izlaza ili brisanja.
I imam problem pretrage... isao sam isto na ovu foru ... mozda se tako ne radi....
if (isset($_POST['posalji'])) {
$pretraga = mysql_query("select id, naziv from filmovi where naziv like '".$_POST['naziv_filma']."';");
Ovako mi nalazi film ako unesem pun naziv.
A ako stavim ['naziv_filma%'] da mi nadje sve sto pocinje kao uneto ne nalazi nista....
|
|
|
|
Poslao: 01 Dec 2006 23:48
|
offline
- stankovic
- Prijatelj foruma
- Pridružio: 11 Maj 2005
- Poruke: 871
- Gde živiš: Aleksinac - Niš
|
Svemirko ::
Nego kada uradim reload te strane on i dalje upisuje taj isti podatak...
Ima li tu neke zastite, da ako se uradi reload a input polje prazno da ne unosi stari podatak.... nesto na foru nekog izlaza ili brisanja.
Ne mozes tako, naime kad radis reload, browser te pita da li zelis sa prethodne strane da opet posaljes polja. Tu se misli na stranu na kojoj si prvi put popunio formu. Mozes jedino da uvedes proveru da li je u bazi vec smesten taj film ili sta vec.
"SELECT naziv FROM filmovi WHERE naziv='".$_POST['naziv']."' "
i ako izvuces nesto iz baze onda to vec postoji i nema potrebe za ponovnim unosom.
|
|
|
|