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

Dogadjaj dugmeta u PHP-u

[es] :: PHP :: Dogadjaj dugmeta u PHP-u

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.108.*



+4 Profil

icon Dogadjaj dugmeta u PHP-u25.05.2004. u 19:59 - pre 242 meseci
Da li neko zna zasto ne radi ovaj kod.
Cilj mi je da svakom dugmetu na strani dodelim kod koji ce da se izvrsava klikom na njega,
ali ovo nikako da krene.
Code:

<?
include("dbinfo.inc.php");

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT * FROM contacts WHERE id='$id'";
$result=mysql_query($query);
$num=mysql_numrows($result); 
mysql_close();

$i=0;
while ($i < $num) {
$id=mysql_result($result,$i,"id");
$first=mysql_result($result,$i,"first");
$last=mysql_result($result,$i,"last");
$phone=mysql_result($result,$i,"phone");
$mobile=mysql_result($result,$i,"mobile");
$fax=mysql_result($result,$i,"fax");
$email=mysql_result($result,$i,"email");
$web=mysql_result($result,$i,"web");
++$i;


if ($submit) {

if ($submit=="promeni")
{
    
    include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
$query="UPDATE contacts SET first='$ud_first', last='$ud_last', phone='$ud_phone', mobile='$ud_mobile', fax='$ud_fax', email='$ud_email', web='$ud_web' WHERE id='$ud_id'";
@mysql_select_db($database) or die( "Ne mogu da nadjem bazu!");
mysql_query($query);
echo '<b>Zapis promenjen.</b>';
mysql_close();
echo '<a href="add.html">Povratak na stranu za unos podataka...</a>';
break;


if ($submit=="obrisi") 
{

    include("dbinfo.inc.php");
mysql_connect(localhost,$username,$password);
$query="DELETE FROM contacts WHERE id='$id'";
@mysql_select_db($database) or die( "Ne mogu da nadjem bazu!");
mysql_query($query);
mysql_close();
echo '<b>Zapis je obrisan!</b>';
echo '<a href="add.html">Povratak na stranu za unos podataka...</a>';
break;
 }
}
?>

<a href="add.html">Povratak na stranu za unos podataka...</a>
<form>
<input type="hidden" name="ud_id" value="<? echo "$id"; ?>">
First Name: <input type="text" name="ud_first" value="<? echo "$first";?>"><br>
Last Name: <input type="text" name="ud_last" value="<? echo "$last";?>"><br>
Phone Number: <input type="text" name="ud_phone" value="<? echo "$phone";?>"><br>
Mobile Number: <input type="text" name="ud_mobile" value="<? echo "$mobile";?>"><br>
Fax Number: <input type="text" name="ud_fax" value="<? echo "$fax";?>"><br>
E-mail Address: <input type="text" name="ud_email" value="<? echo "$email";?>"><br>
Web Address: <input type="text" name="ud_web" value="<? echo "$web";?>"><br>
<input type="submit" name="promeni" value="Promeni podatke...">
</form>

<form>
<input type="submit" name="obrisi" value="Obrisi zapis!">
</form>




Ag + Na -> Xe
 
Odgovor na temu

popeye
Branko Ivanović
Beograd

Član broj: 3846
Poruke: 960
*.pristop.co.yu

Jabber: popeye@elitesecurity.org
ICQ: 18038966
Sajt: popeye.linuxo.org


Profil

icon Re: Dogadjaj dugmeta u PHP-u25.05.2004. u 20:03 - pre 242 meseci
Malo si pomesao naziv i vrednost promenljive.
 
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: Dogadjaj dugmeta u PHP-u25.05.2004. u 20:19 - pre 242 meseci
Prvo - javi da li dobijaš bilo kakve greške ili samo "neće da radi".

Drugo - iz formulara ne dobijaš $submit, dugmad koja pominješ generišu promenljive $promeni i $obrisi (to je taj name atribut inputa) pa stoga to neće da radi baš ni malko.

Treće - ova 2 submita tutni u isti formular inače nema teorije da skripta zna šta treba da se briše.

itd (odnosno - ima toga još, ali dosta za ovu priliku).
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.108.*



+4 Profil

icon Re: Dogadjaj dugmeta u PHP-u25.05.2004. u 21:05 - pre 242 meseci
Pa malko i hoce da radi...radi promena podataka,ali na brisanje reaguje samo izbacivanjem
poruke.
Inace znam koliko je kod odvratno napisan,ali vazno mi je da proradi :o)
Ag + Na -> Xe
 
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: Dogadjaj dugmeta u PHP-u25.05.2004. u 21:32 - pre 242 meseci
Koja je poruka?
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Dogadjaj dugmeta u PHP-u25.05.2004. u 22:41 - pre 242 meseci
Koristio si pogresan naziv varijable u if().
Stavio si u formularu name="obrisi" i name="promeni", a u if() koristis $submit. Trebas da koristis $_POST['obrisi'] i $_POST['promeni'] ili sa $_GET.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.108.*



+4 Profil

icon Re: Dogadjaj dugmeta u PHP-u26.05.2004. u 17:39 - pre 242 meseci
Mislio sam na poruku koja je u skriptu ("Zapis je obrisan/dopunjen"),nisam mislio na greske PHP
interpretera.
Ag + Na -> Xe
 
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: Dogadjaj dugmeta u PHP-u27.05.2004. u 06:53 - pre 242 meseci
Ne znam ja kako se skripta uopšte usuđuje da radi na tako napisan kod.

Normalno je da ne može da se izvrši brijanje ako nije definisan $id reda koji treba da se izbaci.

Nije normalno da dobiješ poruku Zapis je obrisan! zato što nije definisan $submit - kako da prođe provera if ($submit=="obrisi")?

Izražavam osnovanu sumnju da je predstavljeni kod isti onaj koji testiraš.
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.108.*



+4 Profil

icon Re: Dogadjaj dugmeta u PHP-u27.05.2004. u 15:27 - pre 242 meseci
Sumnja ti je osnovana...ovaj kod ne ipisuje poruku,nego posle pritiska
na dugme samo nestane ono sto je pisalo u poljima za unos.

U medjuvremenu,stavio sam:
umesto mysql_connect -> mysql_pconnect
da bih izbacio ponavljanje linija za prikljucenje na bazu
i stavio
Code:

<?
if ($obrisi) {
$ide=$_GET['$id'];
   ...
if ($promeni) {
  }
}
?>


koji odgovaraju imenima dugmadi na fomularu.E,taj kod onda izbacuje
poruku,odnosno onaj deo koji je zaduzen za brisanje zapisa,ali zapis
ostaje neobrisan,znaci upit nije izvrsio svoj posao.Ocigledno zbog toga
sto nema ID zapisa koji treba da obrise i to je problem.
Na pocetku koda posle if ($obrisi) stavio sam ono $ide=$_GET['$id'],
pokusavajuci da dodjem do ID-a zapisa,posto je prednji deo skripte vec
trebao da uzme tu promenljivu iz niza koji je vracen od SQL-a i...nista
se nije desilo:znaci opet ispisuje poruku "Zapis obrisan" bez brisanja.
Zabuna se desila zato sto sam vise puta u medjuvremenu prepravljao kod.
(to je posledica copy/paste programiranja :(
Znaci problem je ID koji deo koda zaduzen za brisanje zapisa ne moze
da nadje.
Ag + Na -> Xe
 
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: Dogadjaj dugmeta u PHP-u27.05.2004. u 20:13 - pre 242 meseci
Prvo, ne moraš uopšte da koristiš mysql_close jer se konekcija s bazom prekida po izvršenju skripte. Ako to ne koristiš, ne moraš ni više puta da otvaraš konekciju - otvoriš na početku skripte i koristiš bazu po potrebi.

Pri zadanom brisanju uopšte i nemaš $id zato što se to dugme nalazi u zasebnom formularu - to sam ti već pominjao - prebaci i to u isti formular i brisanje će da radi.
 
Odgovor na temu

Dejan Topalovic
Dejan Topalović
Senior Oracle DBA & Senior PL/SQL
Developer, Erste Sparinvest (Erste
Bank), Vienna, Austria
Vienna

Član broj: 635
Poruke: 1374
*.1.14.vie.surfer.at

Sajt: www.baze-podataka.net


+2 Profil

icon Re: Dogadjaj dugmeta u PHP-u27.05.2004. u 20:50 - pre 242 meseci
Dodaj u <form> tag i method koji koristis za slanje podataka, npr. <form method="POST">. Nakon toga kad kliknes na submit, $id dobijas na nacin:
$id = $_POST['ud_id'], posto si to hidden polje nazvao 'ud_id', a saljes ga POST metodom.
Pazi ubuduce na nazive varijabli u formularu i kako ih dodjeljujes u skripti. Imena varijabli su case-sensitive.
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA
 
Odgovor na temu

Mr. Rejn
Deki Karamatijević
Sremčica

Član broj: 2514
Poruke: 515
212.200.108.*



+4 Profil

icon Re: Dogadjaj dugmeta u PHP-u28.05.2004. u 14:15 - pre 242 meseci
Radi!
To je $id = $_POST['ud_id']; varijanta i
<form method="POST" action="<? echo "$PHP_SELF" ?>" >,
bez mysql_close() i sa 'name=obrisi' dugmetom medju
<form> tagovima.
Problem je bio u tome sto sam uzimao $id umesto $ud_id

Momci,mucho gracias!
Ag + Na -> Xe
 
Odgovor na temu

[es] :: PHP :: Dogadjaj dugmeta u PHP-u

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

Postavi temu Odgovori

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