Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Provera i unos u odgovarajuću formu

[es] :: PHP :: Provera i unos u odgovarajuću formu

[ Pregleda: 1880 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
194.106.171.*



+2 Profil

icon Provera i unos u odgovarajuću formu04.07.2005. u 02:19 - pre 228 meseci
Stao mi je mozak, a ovo trebam odraditi što pre.
Odradio sam to jednom, ali sam obrisao da bih napravio elegantnije rešenje, onda je komšinica zvala na kafu, i kad sam se vratio ne mogu da se setim kako opet da namestim moj kod da radi :)
Znači na jednoj stranici imam textualno polje i u to polje unosim registarski broj. Ako je registarski broj u bazi podataka, otvara mi se A ali mi se prosleđuje $_POST['reg_br'] na tu stranicu. Ako registarski broj nije pronađen u bazi podataka onda mi se otvara stranica B i opet se prosleđuje $_POST['reg_br']. Kako?
Hvala.

77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
*.dialup.neobee.net.

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 02:44 - pre 228 meseci
Znači tako, komšinica je da ti pamet stane :-)

$_POST['reg_br'] prima ta strana što obrađuje formular. Onda sledi redirekcija na stranu A ili B u zavisnosti od ispunjenog uslova. Registarski broj ne može dalje da putuje u $_POST nizu, ali može da se digne u $_GET ili $_SESSION. Odluku o tome donesi na osnovu toga da li ti je broj potreban samo na sledećoj stranici (A ili B) ili tokom cele dalje korisničke sesije (za ovo drugo naravno ide dizanje u sesiju), kao i o poverljivosti podatka.

... za redirekciju

header ("Location: ...
exit;
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
194.106.171.*



+2 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 02:53 - pre 228 meseci
Pa to sa $_GET mi ne odgovara, zanimalo me je dal nekako može da putuje sa $_POST.
Baš bedak što ne može :(
Hvala na brzom odgovoru.
pOz
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

noviKorisnik
Dejan Katašić
Novi Sad

Član broj: 13216
Poruke: 4533
194.247.222.*

Sajt: www.novikorisnik.net


+5 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 09:04 - pre 228 meseci
Da li je bitno da se vrši redirekcija? Ukoliko bi išlo bez redirekcije, Reg_br bi i dalje ostao u $_POST nizu (što je očigledno iz nekog razloga bitno), a sadržaj stranice može da odgovara stranici A ili B, jedino što bi u oba slučaja bio isti URL...
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
194.106.171.*



+2 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 11:53 - pre 228 meseci
Brate kad si ti pre ustao :)
Pa pazi ovako, na prvoj stranici, ajde da je nazovemo X, korisnik ukucava registarski broj. Ako je registarski broj nije pronađen u bazi podataka, on prelazi na stranicu A, gde se otvara forma za unos podataka o novom korisniku, s tim što polje polje za registarski broj mora biti popunjeno s podatkom iz prethodnog slučaja.
Ukoliko je pronađen registarski broj u bazi podataka, onda se otvara stranica B gde se unose usluge koje su vršene za klijenta s tim registarskim broj. Znači opet imam neke check boxe..., ali u prvom textbox-u treba da stoji popunjen registarski broj. Sad sam ja to izveo kao kombinaciju post i get ali nije to to. Ako GET postoji onda je vrednost za registarskog broja u stranici A - get, a ako ne postoji onda je izvlačim sa post.
Zašto mi je post toliko bitan? Zato što sam namestio da su mi na onoj prvoj stranici A, tamo gde se vrši unos novih klijenata, neka polja obavezna kao što su reg_br, boja, marka, model... a neka polja kao što su da li je metalik itd nisu.
I onda sam proveru vršio ovako:
Znači ovo je skica te stranice A

Code:

<?php
$reg_br=$_GET['reg_br'];
$marka = $_POST['marka'];
.
.
.
?>
<p><form name="Forma1" method="post"></p>
Registarski broj: <input type="text" name="reg_br" size="14" value="<?php print "$reg_br"; ?>"/>
Unesite marku: <select size="1" name="marka" value="<?php print "$marka"; ?>"/>
.
.
.
print "<p><input type=\"submit\" value=\"pošalji\" /></p>";
print "</form>";
<?php include 'provera.php' ?>


Kod za provera.php minijaturno bi izgledao ovako:
Code:

<?php 
$reg_br = $_POST['reg_br'];
$marka = $_POST['marka'];
.
.
.
if (isset($reg_br)){
if($reg_br !='' && $marka !='' ...){
$dbhost = 'localhost';
$dbuser = 'moj user';
$dbpass = 'moj pass';
mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'ime baze';
mysql_select_db($dbname);
$query=("INSERT INTO korisnici (reg_br, marka...) VALUES (\"$reg_br\", \"$marka\"...);");
mysql_query($query) or die('Error, insert query failed');
}
else {
echo 'Morate uneti: <font color = red>';

if ($reg_br=='')echo 'registarski broj ';
if ($marka=='')echo 'marku ';
if ($model =='')echo 'model ';
if ($boja=='')echo 'boju ';
}
}
?>
</font>



Sad eto detaljno znaš u čemu je problem.

edit:

Samo da dodam, nisam hteo da na jednoj stranici imam kao što si rekao, neki uslov pa ako je uslov ispunjen onda se na istoj stranici generiše jedna forma, a ako uslov nije ispunjen da mi se onda na stranici generiše druga forma, zato što mislim da će se sve to brže očitavati ako jednostavno iscepkam na više stranica, tako da ne moram da prolazim kroz if,for... petlje, pa da odmah u početku učitavam veliki fajl, kad mogu odmah mali... Znači iscepkano je zbog brzine učitavanja stranice.

[Ovu poruku je menjao Pharos dana 04.07.2005. u 13:23 GMT+1]
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.vdial.verat.net.



+257 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 12:21 - pre 228 meseci
Je*es mi sve ako sam te ja razumeo kako treba...
Prvo:
Citat:

$reg_br=$_GET['reg_br'];
$marka = $_POST['marka'];

Ovo ti nikad nece poleteti, jerbo forma moze da se prosledi:
a) GET metodom
ILI (obrati paznju, ne I/ILI vec ILI)
b) POST metodom.
Dakle, ukoliko do ove stranice dolazis sa get metodom, $reg_br ce imati vrednost, ALI ce $marka biti PRAZNO (nedefinisano), barem koliko je meni poznato.
Vazi i obrnuto, za post metodu $reg_br ce biti prazan, a $marka popunjena.

Dalje, da pokusam da remiziram. Imas prvu stranicu, znaci gde nije dosao ni get ni post metodom (tj. to jest get metoda, ali nije iz forme sa prethodne stranice), i tu mu trazis da upise reg_br u input polje i da se posalje get metodom, jel tako?
Onda na sledecoj stranici proveravas da li je raj reg_br u bazi, ako jeste onda mu das neke operacije koje moze da vrsi, a ako nije postavljas novu formu gde mu trazis da upise marku i slicno, sa vec popunjenim reg_br?

Pitanje je sto to sve ne radis iz jedne stranice proveravajuci odredjene promenljive i nacin koji koristi forma? npr nesto ovako:
Code:

if ($_SERVER['REQUEST_METHOD']=="POST" && $action=="dodaj")


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.inabox.net.



+30 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 12:40 - pre 228 meseci
Evo nesto na brzinu-> Ako sam ja tebe shavtio ! Mozda sam negde napravio gresku !!
Ja bi to ovako uradio ako sam te dobro shavtio:

index.php
Code:

<?
    require "podesavanja.php";
    $reg_broj = $_POST['$reg_broj'] ;
    $reg_broj = stripslashes($reg_broj); // Bezbednost SQL Inekcije
    // ili ovako
    //$reg_broj = mysql_real_escape_string($reg_broj);  // Bezbednost SQL Inekcije
    $provera = "SELECT  * FROM tabela WHERE registarski_broj= '$reg_broj'";
    $rezultat_provere = mysql_query($provera, $db_veza) or die ('Konekcija nije u redu');
    if (mysql_num_rows($rezultat_provere) >0) // Provera da li postoji reg broj
    { 
         // session_start(); //stratujemo sesiju ako je potreban
         //header("Location: negde-A.php"); // preusmeravanje
         //exit();
         echo "Taj  registarski broj postoji";
         echo $reg_broj; // cisto da proveris da li tvoj reg broj jos tu a naravno da jeste 
         // znaci ovo echo $reg_broj; ti netreba
         // ovde mozes da stavis formu za ponovu registraciju i ostace ti $_POST['$reg_broj'] ;
    }
    else {
        //session_start(); //stratujemo sesiju ako je potreban
        // header("Location: negde-B.php"); // preusmeravanje
        // exit();
        
         echo "Registarski broj ne postoji";
         echo $reg_broj; // Jos uvek imas $_POST['$reg_broj'] i sad mozes da 
         // iskoristis taj reg broja da se nastavi dalje posto ga nema u bazi!
    }

?>


podesavanje.php
Code:

<?

$hostM  = "localhost"; // MySql server
$imeM   = "root"; // Korisnicko ime za pristup MySql serveru
$sifraM = " "; // Sifra za pristup MySql-u
$baza   = "vezba"; // Ime baze podataka
$db_veza = mysql_connect("$hostM", "$imeM", "") or die("Nemogu da se povezem na server!");
 mysql_select_db("$baza", $db_veza) or die("Nemogu da izaberem bazu");
?>


jbg valjda je to ono sto zelis! Isto sam ti stavio ako budes uzimao sa sesijom!
Ako to nije to javi ..... Da mi radimo a ti mozes do Komsinice na jos koju kafu " hahaha"

Pozzzzzzzzzzzzzzzzz

[Ovu poruku je menjao sale83 dana 04.07.2005. u 13:42 GMT+1]
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.vdial.verat.net.



+257 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 13:34 - pre 228 meseci
Uzecu samo primer i reci ti ZASTO taj kod ne valja:
Citat:

if (mysql_num_rows($rezultat_provere) >0) // Provera da li postoji reg broj
{
// session_start(); //stratujemo sesiju ako je potreban
//header("Location: negde-A.php"); // preusmeravanje
//exit();
echo "Taj registarski broj postoji";
echo $reg_broj; // cisto da proveris da li tvoj reg broj jos tu a naravno da jeste
// znaci ovo echo $reg_broj; ti netreba
// ovde mozes da stavis formu za ponovu registraciju i ostace ti $_POST['$reg_broj'] ;
}

Kada sa header ODE na drugu stranicu, i zavrsi sa exit;, SVE ono ispod njega (a to je:
Citat:

echo "Taj registarski broj postoji";
echo $reg_broj; // cisto da proveris da li tvoj reg broj jos tu a naravno da jeste
// znaci ovo echo $reg_broj; ti netreba
// ovde mozes da stavis formu za ponovu registraciju i ostace ti $_POST['$reg_broj'] ;

NIKAD nece biti IZVRSEN...

Nisi dobro savladao gradivo ;P

Drugo: zasto bi proveravao i ucitavao SVE podatke iz baze za reg_br SAMO DA BI PROVERIO da li postoji neki?
Znaci, umesto
$provera = "SELECT * FROM tabela WHERE registarski_broj= '$reg_broj'";
ja bih stavio count(*) ili recimo registarski_broj samo ,zasto bi morao da uzima sve podatke iz baze i puni memoriju?

Trece: sesije mu trebaju samo ukoliko misli da prenosi podatke dok sesija traje. U drugom slucaju mu ne trebaju.


Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

Pharos
Pančevo

Član broj: 20664
Poruke: 1029
194.106.171.*



+2 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 13:50 - pre 228 meseci
Citat:
Jbyn4e: Je*es mi sve ako sam te ja razumeo kako treba...

Bila je moja greška u kucanju! Nije GET nego je POST

edit:

Odardio sam ja proveru da li se reg_br nalazi u bazi ili ne. I to veoma elegantno, za to mi ne treba pomoc. Ajde znači još jednom da pojasnim.
Imam neku default stranicu X i tu ukucavam reg_br i sa onim dole include proveravam da li se reg_br nalazi u bazi. Ako jeste otvara se stranica B i u neko polje se upisuje podatak reg_br. Ako nema podatka u bazi podataka, otvaram stranicu A i opet u neko txt polje upisujem podatak reg_br. Ne želim da mi se podaci šalju preko GET tako da ih ja hvatam sa $reg_br=$_GET['reg_br'], nego sam mislio da se odradi sa post ili kako već, samo da nije GET. Sa GET mogu i sam da ga odradim.
Obevezna je redirekcija ili na stranicu A ili na stranicu B, a provera i sve ostalo, sasvim je nebitno kako je odrađeno. Znači bitna je redirekcija na stranicu A ili stranicu B u zavisnosti od uslova da li je reg_br u bazi ili ne, i da se u odgovarajuće txt polje upiše taj podatak reg_br ali nikako GET metodom.
Nadam se da je bar sad nešto malo jasnije.

[Ovu poruku je menjao Pharos dana 04.07.2005. u 15:13 GMT+1]
77 77 77 2E 65 73 6E 69 70 73 2E 63 6F 6D
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.inabox.net.



+30 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 13:52 - pre 228 meseci
Jbyn4e!!!
1) To sto ti mislis da ja nisam savlado PHP svako ima svoje misljenje!

2) Ovo sam ja napisao -> Isto sam ti stavio ako budes uzimao sa sesijom!
A sad kako si ti to shavtio to ja ne znam ali ocigledno pogresno:


Code:

// session_start(); //stratujemo sesiju ako je potreban
//header("Location: negde-A.php"); // preusmeravanje
//exit();



Jbyn4e zar se u ovome kodu ne nalaze ->. // ????? Sto znaci da taj deo koda nema nikakvu funkciju u ovome kodu! tj da ce se doticni kod:
Code:

echo "Taj registarski broj postoji";
echo $reg_broj; // cisto da proveris da li tvoj reg broj jos tu a naravno da jeste 
// znaci ovo echo $reg_broj; ti netreba
// ovde mozes da stavis formu za ponovu registraciju i ostace ti $_POST['$reg_broj'] ;

izvrsiti!!!!!

Znaci ja sam stavio sesiju u komentar ako bude nju korsitio valjda zna covek da posle
exit(); se nista ne izvrsava!!!!!!!!!!!!!!!!!!!

Uvek u svojim kodovim stavljam komentar na
exit();
// Pobrini se da se donji kod ne izvrsi!!!!!!!

Znaci Ovo sto si napisao da NIKAD NECE BITI IZVRSNE jeste tacno u praksi za exit(); ali kako sto sam vec jednom rekao u ovom kodu on neigra nikakvu ulogu posto je komentar ako bude koristio sesiju !
a echo "Taj registarski broj postoji"; i ostalo sam stavio da proveri kod sebe na localhostu sta mu vraca kod! cak sam gore nave da je to nepotrebno !
Ja uvek proveravam sa echo pa kasnije kad vidim da je sve OK TRUE tu gde mi je echo pisem kod koji trebam!

Napomena!!!
Kad si vec neki PHP koji je savladao vrati se na gradivo o komentarima!!!!!!!
PS " mala sala" ali celdeci put obrati paznju na kod!!!!

Sto se tice proveravanja u bazi! Tu se slazem da netreba da se seta kroz celu bazu Apsolutno tacno! Nego sam pisao kod napamet pa sam stavio count(*) sto neznaci da kod nece da radi!!!!!!
Pozzzzzzzzzzzzzzzz




[Ovu poruku je menjao sale83 dana 04.07.2005. u 14:53 GMT+1]
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

Jbyn4e

Član broj: 422
Poruke: 6049
*.vdial.verat.net.



+257 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 14:43 - pre 228 meseci
Eh danasnja mladez... jos nije naucila znake... ;P znaci da ti se plazim, u smislu zezam te, sto nije nikako znacilo da zelim da te omalovazim (mada to mozes sam uciniti burnim reagovanjem na zaje*anciju). Nemoj da se ljutis, to je bilo samo dobronamerno.
Jos nesto offtopica, pogledaj malo sajt (savlado,ne znam,neigra itd) :
http://pravopis.tripod.com/latinica/l-index.html


Dosta offtopica, dakle da se vratimo na pharos-ov problem.
Ne vidim potrebu da se redirektujes (header), vec samo jednim include uzmi deo stranice koji ti treba. Dakle,
dobio si post metodom reg_br
proveris da li ima u bazi
ako ima
include-ujes stranicu koja dalje nesto radi sa tom promenljivom koju si vec uzeo iz posta.
ako nema
include-ujes stranicu koja ima formu, upises u polje reg broj, das mu ostale opcije koje treba da popuni i postavis da forma ide na neku stranicu dalje kad klikne na submit (ili cak da se vrati na ovu istu, samo dodas jos jednu proveru da li je recimo setovana promenljiva $newuser na 1 recimo ili true ili da ili ....)

Dakle, nesto ovako:

index.php
<?
$akcija=$_POST['akcija'];
$reg_br=....
....
//provera da li je u bazi (necu ponovo pisati kod)
if (u bazi)
include ('u_bazi.php');
else
if ($akcija=="newuser")
{
//dodaj ga u bazu i ispisi da je dodat
}
else
{
include ('forma_za_unos_novog.php');
}

forma_za_unos_novog.php se razlikuje od tvog dela
Citat:

<p><form name="Forma1" method="post"></p>
Registarski broj: <input type="text" name="reg_br" size="14" value="<?php print "$reg_br"; ?>"/>
Unesite marku: <select size="1" name="marka" value="<?php print "$marka"; ?>"/>

jedino sto je potrebno da ima jos jedno polje unutar forme, tj jos nesto ovako:
Code:

<input type="hidden" name="akcija" value="newuser">

i nista vise - na ovaj nacin imaces i reg_br u svim stranicama koje ti trebaju, jedino sto se nece videti u location baru da je ucitao recimo formu_za_unos_novog.php vec ce stojati samo index.php....

Nadam se da si uvideo nacin na koji mozes to da ostvaris (namerno nikad ne ostavljam ceo kod, jer onda niko nista ne bi naucio), a drugi nacin je kao sto je pomenuo kolega sale83, da startujes sesiju, da upises u sesiju promenljivu $reg_br i da tu promenljivu kroz stranice uporedjujes sa bazom ili vec gde ti treba.

P.S. sale, bre, NHF. Sto si toliko drcan, a tako mlad? Gde ce ti biti zivci za 10-ak god...

P.P.S. Pharos, ukoliko BAS hoces da prosledjujes na neku drugu stranicu nakon provere - moraces da koristis
a) sesije
ili
b) formu sa hidden poljima i javascriptom koji automatski redirektuje tu formu.





[Ovu poruku je menjao Jbyn4e dana 04.07.2005. u 15:51 GMT+1]
Kad sve ostalo zakaže, pročitaj uputstvo...
 
Odgovor na temu

sale83
Australia
Sydney

Član broj: 41625
Poruke: 729
*.inabox.net.



+30 Profil

icon Re: Provera i unos u odgovarajuću formu04.07.2005. u 15:01 - pre 228 meseci
Za pravopis "P.S. jako brzo kucam" pa pravim greske!
Svi gresimo pa koda je to bitno, bitno je da se zna sta hocemo da kazemo!

Dotican problem mozes da se uradi na vise nacina! Kako ce da radi to je na njemu da odluci!
Da li ce da prenosi sa hederom ili ce da ukljucuje novi kod ne bitno.

To sto kazes ja jesam mlad "Na mladjima svet ostaje". Pre svega sve do skora sam se ovim bavio onako cisto iz zanimanja da vidm dokle cu stici sa ovim, dok sam studirao nesto drugo u NS-u!

Mlad jesam pa ucim na sopstvenim greskam naravno i na tudjim tako da mi to ne smeta , buducnost je isperd mene pre svega nalazim se u dobroj drzavi gde je posao sa kojim zelim da se bavim jako lepo placen. Naravno u skorije vreme me ponovo ceka Fax " Univerzitet" tako da za mene ima vremena!

@P.S. sale, bre, NHF. Sto si toliko drcan, a tako mlad? Gde ce ti biti zivci za 10-ak god...

Gde ce mi biti zivci ??? To se i ja pitam :)

Pozzzzzz




[Ovu poruku je menjao sale83 dana 04.07.2005. u 16:08 GMT+1]
Sto mozes danas ne ostavljaj za sutra!
 
Odgovor na temu

[es] :: PHP :: Provera i unos u odgovarajuću formu

[ Pregleda: 1880 | Odgovora: 11 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.