neznanje ili problem ? pozivanje php-a preko method="ge

1

neznanje ili problem ? pozivanje php-a preko method="ge

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

Totalni pocetnik... mozda treba navesti Smile

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.
offline
  • 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.



offline
  • 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 Smile
tnx Smile

offline
  • 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 Smile

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

Uspeo sam da izlisam nesto iz baze podataka, ali unos... Sad

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 !

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23208
  • 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'])) {

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

auuu radi bez greske
tnx peco Smile

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"....

offline
  • Peca  Male
  • Glavni Administrator
  • Predrag Damnjanović
  • SysAdmin i programer
  • Pridružio: 17 Apr 2003
  • Poruke: 23208
  • 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']."');";

offline
  • Pridružio: 24 Mar 2004
  • Poruke: 3962
  • Gde živiš: Zemun

Da da... evo popravio sam na tu preporucenu vrednost Smile

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....

offline
  • 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.

Ko je trenutno na forumu
 

Ukupno su 544 korisnika na forumu :: 11 registrovanih, 2 sakrivenih i 531 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Bobrock1, Boter, Buda Baba, celik, draganl, FileFinder, Heavy Jerk, Mixelotti, nemkea71, opt1, Van