PHP iščitava sve podatke iz MySQL baze, kako to zabraniti |
Dobrodošli, goste ( Prijava | Registracija )
![]() ![]() |
PHP iščitava sve podatke iz MySQL baze, kako to zabraniti |
Jun 29 2010, 10:01
Poruka
#1
|
|
|
Molim Vas za pomoć.
PHP iščitava sve podatke iz MySQL baze i kada nije unet nikakav zahtev a klikneš dugme search. Kako zabraniti u PHP skripti to izlistavanje, nego tek kad uneseš zahtev onda traži ono što treba. Evo ga i form i PHP skript: CODE <table width="540" border="0" cellspacing="20" cellpadding="0">
<tr> <td><p class="naslov">Plan očitavanja</p> <form id="form1" name="form1" method="post" action="plan.php"> <p> <label> <select name="id" class="text" id="id"> <option value="mesec">Mesec čitanja</option> <option value="datum">Datum</option> <option value="prethodno">Prethodno</option> <option value="broj">Broj dana</option> <option value="id" selected="selected">Dan</option> </select> </label> <input name="rec" type="text" class="text" id="rec" size="50" maxlength="50" /> <input name="post" type="submit" class="text" id="post" value="Pretraži" /> </p> </form> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td> <?php $id = $_POST['id']; $rec = $_POST['rec']; $id = addslashes($id); $rec = addslashes($rec); if($_POST['post']) { if(!$id&&!$rec) { die('Niste ukucali potrebe podatke za pretrazivanje.'); }else{ mysql_connect('localhost','root',''); mysql_select_db("ime_baze"); $rezultat = mysql_query("SELECT * FROM tabela WHERE ".$id." LIKE '%".$rec."%'"); $broj_rezultata = mysql_num_rows($rezultat); echo "Broj rezultata je ".$broj_rezultata."<br> <hr width='100%' size='1' noshade color='#990000' />"; while($red = mysql_fetch_assoc($rezultat)) { echo "Dan očitavanja: ".$red['id'].'<br></b>'; echo "Mesec čitanja: ".$red['mesec'].'<br>'; echo "Datum očitavanja: ".$red['datum'].'<br>'; echo "Prethodno očitano: ".$red['prethodno'].'<br>'; echo "Broj obračunatih dana: ".$red['broj'].'<br>'; echo '<br>'; } } } ?> |
|
|
|
|
Jun 29 2010, 10:36
Poruka
#2
|
|
|
Problem je u uslovu jer tvoje selekt polje nije prazno.
if(!$id&&!$rec) => ovo znači da će da se prekine izvršenje samo ako su oba prazna. S obzirom da selekt u ovoj tvojoj formi uvek ima vrednost mislim da bi trebao staviti operator || dakle: if(!$id || !$rec) Ako je jedno od dva polja (tj tekst polje) prazno skripta se ne izvršava dalje. edit: a ako želiš možeš i da ubaciš prazno polje u selekt listu pa će postojati mogućnost da i ono bude prazno, ovako ti sve zavisi samo od tekst polja. |
|
|
|
|
Jun 29 2010, 11:30
Poruka
#3
|
|
|
Funkcionise operator || .
Sada je sve OK. HVALA! Sada cu da probam i foru sa praznim poljem u selekt listi, ali kapiram da ce funksionisati, ali ovo sa || je mnogo elegantnije. |
|
|
|
|
![]() ![]() |
| Lo-fi verzija | Trenutno vreme: Tuesday 21. May 2013 - 17:56 |