WebPillangó főoldal
webszerkesztés és photoshop fórum - WebPillangó
WebPillangó
»
Programozás
»
PHP
Username:
1 óra
1 nap
1 hét
1 hónap
Mindig
Password:
Főoldal
Súgó
Keresés
Quick Search
Advanced Search
[Close]
Bejelentkezés
Regisztráció
Oldalak:
1
...
8
9
[
10
]
11
12
Le
« előző
következő »
Nyomtatás
Szerző
Téma: PHP (Megtekintve 4220 alkalommal)
Csiga
Új tag
Nem elérhető
Hozzászólások: 36
Csúszómászó
Re: PHP
«
Válasz #180 Dátum:
2008. 03. 23. - 00:52:16 »
Csináltam rá egy kiíratást és az én szemem számára fura dolgot láttam...
3 példauserem van az adatbázisomban, de mind a három jogait szépen kilistázta egymás alá...
Kód:
$eredm = "select `rights`.* from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id`";
$jogaim = mysql_query($eredm);
while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['id'] . "</span>" ."<br>";
}
Biztos csak én nem értem ezt...
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #181 Dátum:
2008. 03. 23. - 03:39:48 »
Igen, mert az SQL csak a jogok tábláját adja vissza. Próbáld így:
Kód:
$eredm = "select `rights`.`name` as `rights_name`, `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id`";
$jogaim = mysql_query($eredm);
while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";
}
Naplózva
Csiga
Új tag
Nem elérhető
Hozzászólások: 36
Csúszómászó
Re: PHP
«
Válasz #182 Dátum:
2008. 03. 23. - 10:29:01 »
No ezzel egy apró javítás után le lehet kérni, hogy kinek milyen joga van, és most jön a varázslatos kérdés, hogy mivel tegyük személyreszabottá?
Tehát, ha Béla néven lépek be és az user.id az nekem 8 akkor csak a saját jogaim szeretném megkapni.
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #183 Dátum:
2008. 03. 23. - 20:11:41 »
Egyszerű a dolog: a lekérésbe beteszed a feltételt, miszerint csak az adott, bejelentkezett, felhasználó jogát kérd le:
Kód:
$eredm = "select `rights`.`name` as `rights_name`, `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id` and `users`.`id` = ".$_SESSION['userId']." limit 1";
$jogaim = mysql_query($eredm);
while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";
}
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #184 Dátum:
2008. 03. 23. - 21:02:57 »
Vmiért nem tölti fel a filet, és mysql-be se irja be az adatokat. Mi lehet a gond?
Kód:
<?php
echo
"<table class=sample><tr><td width=260px><a href='index.php?module=donors'>Donorok megtekintése</a></td><td><a href='index.php?module=donors&mode=upload'>Donor feltöltése</a></td></tr></table>"
;
if (isset(
$_GET
[
'mode'
]) ==
"upload"
) {
if(
$auth
) {
print
"<p class=ntt>"
;
print
"<table class='up'><form name='upload' method=POST action=index.php?module=donors enctype='multipart/form-data'>"
;
print
"<tr width=520px><td width=80px><ul class='ulreg'>Autó neve: </td><td><input type=text name='carname' /></ul></td></tr>"
;
print
"<tr width=520px><td width=80px><ul class='ulreg'>Fájl: </td><td><input type=file name='file'></ul></td></tr>"
;
print
"<tr width=520px><td width=80px><ul class='ulreg'><input type='hidden' name='MAX_FILE_SIZE' value='100000' /><input type=submit name='submit' value=Mehet></form></ul></td></tr></table>"
;
print
"</p>"
;
if(isset(
$_POST
[
'MAX_FILE_SIZE'
])) {
if(!empty(
$_POST
[
'carname'
]) && !empty(
$_POST
[
'file'
])) {
$carname
=
$_POST
[
'carname'
];
$file
=
$_POST
[
'file'
];
//ha elküldtük az űrlapot
if (
$_FILES
[
"file"
][
"type"
] ==
"image/jpeg"
) {
//ezzel tudjuk ellenőrizni milyen típusú fájlt lehet feltölteni
mysql_query
(
"INSERT INTO `donors` (`carname` , `mehet`) VALUES ( '"
.
$carname
.
"' , '0'"
);
$kl
=
mysql_query
(
"SELECT * FROM donors WHERE carname = '"
.
$carname
.
"'"
);
$get_id
=
mysql_fetch_array
(
$kl
);
move_uploaded_file
(
$_FILES
[
"file"
][
"tmp_name"
],
"upload/donors/"
.
$get_id
[
'id'
].
".jpg"
);
//ez maga a feltöltés
echo
"<ul class='ulreg'>Sikeres feltöltés. Köszönjük!</ul>"
;
}
}
else {
echo
"<ul class='ulreg'>Nem töltöttél ki minden mezőt</ul>"
;
}
}
else {
}
}
else {
echo
"Ahhoz hogy feltölthess be kell jelentkezned. Amennyiben nem vagy regisztrálva, <a href=index.php?module=reg>itt</a> megteheted!"
;
}
}
else {
$csatizz
=
mysql_query
(
"SELECT * FROM donors WHERE mehet ='1' ORDER BY carname DESC"
);
while (
$r
=
mysql_fetch_assoc
(
$csatizz
)) {
echo
"<a href=upload/donors/'"
.
$r
[
'id'
].
".jpg'><img src=upload/donors/'"
.
$r
[
'id'
].
".jpg' class='smalldonors'></a>"
;
}
}
?>
Naplózva
Csiga
Új tag
Nem elérhető
Hozzászólások: 36
Csúszómászó
Re: PHP
«
Válasz #185 Dátum:
2008. 03. 23. - 21:33:23 »
Idézetet írta: Tupacko - 2008. 03. 23. - 20:11:41
Egyszerű a dolog: a lekérésbe beteszed a feltételt, miszerint csak az adott, bejelentkezett, felhasználó jogát kérd le:
Kód:
$eredm = "select `rights`.`name` as `rights_name`, `users`.`nev` as `user_name` from `users`, `rights`, `groups_rights` where `users`.`groups_id` = `groups_rights`.`groups_id` and `rights`.`id` = `groups_rights`.`rights_id` and `users`.`id` = ".$_SESSION['userId']." limit 1";
$jogaim = mysql_query($eredm);
while($sor=mysql_fetch_array($jogaim)){
echo "<span style=\"color: #FF3300\">" . $sor['user_name'] . "</span>";
echo "<span style=\"color: #0033FF\">" . $sor['rights_name'] . "</span>" ."<br>";
}
Köszi, így tökéletesen működik
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #186 Dátum:
2008. 03. 23. - 22:11:40 »
Csiga, szívesen!
TreamX ajánlom, hogy figyelmesen kódolj, mert így nem sokat ér az egész. Pl. már startból elszáll az egész müködési logika: if (isset($_GET['mode']) == "upload") ... Mivel az isset() egy igazságértéket térít vissza, ami lehet false vagy true, sosem lesz egyenlő egy "upload" értékű karakterlánccal. Ha fáradt vagy (én akkor szoktam ilyen óriási hibákat elkövetni), akkor hagyd abba egy keveset, pihenj, majd gondold át ismét és ezt követően jöhet a kódolás is.
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #187 Dátum:
2008. 03. 23. - 22:22:37 »
akkor hogy tudom azt megcsinálni, hogy a &mode=upload rész létezik e?
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #188 Dátum:
2008. 03. 23. - 22:43:58 »
Így vizsgálhatod, ha létezik az adott változó és az értéke is megfelelő. Amúgy erről többszöris szó volt, anno.
Kód:
if ( isset($_GET['mode']) && strcmp($_GET['mode'], "upload") == 0 ){
// igen, letezik es egyenlo uploaddal
}
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #189 Dátum:
2008. 03. 25. - 13:02:35 »
Hogy tudom megcsinálni, hogy mindegyik alatt legyen egy pipa, azzal a névvel hogy elfogad, és azzal hogy elutasít? és beállitani hogy ha elfogadja mit csináljon, meg ha elutasitja mit csináljon?
Kód:
elseif (!empty($_GET['id'])) {
$id = $_GET['id'];
$omg = mysql_query("SELECT * FROM upload WHERE id='".$id."'");
while ($cucc = mysql_fetch_assoc($omg)) {
echo "<form method=post action=admin.php?module=versenyre>";
echo "<tr valign=center><td align=center>Auto neve: " .$cucc['autoneve']. "<br>Beküldő: " .$cucc['user']. "<br>Leírás: " .$cucc['leiras'] . "<br>Fájl elérési útja: <a href='../upload/versenyre/" .$cucc['id'].".jpg'>Itt</a><br> <input type=submit name='mehet' value=Mehet></td></tr>";
echo "</form>";
}
}
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #190 Dátum:
2008. 03. 25. - 20:06:00 »
A formba beleteszel még két radio-t, s ott kiválasztod, hogy törlöd, vagy elfogadod. Amikor beküldöd a formot, feldolgozod az adatokat és attól függően, hogy elfogadtad vagy törölted, meghagyod vagy törlöd az adatbázisból az adott sort és a hozza tartozó fileokat a tárhelyről.
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #191 Dátum:
2008. 03. 25. - 23:05:07 »
Próbálkoztam eggyel, de nem működik... Nem is törli ki, és nem is teszi ki.
Kód:
<?php
if(empty(
$_GET
[
'id'
])) {
$id
=
$_GET
[
'id'
];
echo
"<tr width=520px><td width=180px>Autó neve</td><td>Autó</td><td width=140px>Beküldő</td><td width=130px>Eredeti</td><td>Elfogad/Elutasít</td></tr>"
;
$kapcsolodj
=
mysql_query
(
"SELECT * FROM `upload` WHERE `erveny`='0' AND `verseny` = '1' ORDER BY `id` DESC"
);
while (
$cucc
=
mysql_fetch_assoc
(
$kapcsolodj
)) {
echo
"<form method=post action=admin.php?module=admin_versenyre><tr width=520px><td width=180px>"
.
$cucc
[
'autoneve'
].
"</td><td><a href='upload/verseny/"
.
$cucc
[
'id'
].
".jpg'><img src='upload/verseny/"
.
$cucc
[
'id'
].
".jpg' class='kv'></a></td><td width=140px>"
.
$cucc
[
'user'
].
"</td><td width=130px><a href='"
.
$cucc
[
'eredeti'
].
"'>Eredeti</a></td><td><input type=hidden name='"
.
$cucc
[
'id'
].
"'><input type=radio name='elfogad'>Elfogad<br><input type=radio name'elutasit'>Elutasít</td></tr>"
;
}
echo
"<tr><td><input type=submit name='vkuld' value=Mehet></p></form></td></tr>"
;
}
if (isset(
$_POST
[
'vkuld'
])) {
if (isset(
$_POST
[
'elfogad'
])) {
$query
=
mysql_query
(
"UPDATE upload SET erveny='1' WHERE id='"
.
$id
.
"'"
);
}
elseif (isset(
$_POST
[
'elutasit'
])) {
$query_d
=
mysql_query
(
"DELETE FROM upload WHERE id = '"
.
$cucc
[
'id'
].
"'"
);
}
}
?>
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #192 Dátum:
2008. 03. 26. - 19:15:36 »
Nemfrissíti a hírt sql-be.
Mi lehet a gond?
Kód:
if(!empty($_GET['edit'])) {
echo "<div id=newsheader><p class=newssz>Hír módosítása</p></div>";
echo "<div id=newst><p class=ntt>";
$id = $_GET['edit'];
$leker = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$mi = mysql_fetch_assoc($leker);
$cim = $mi['cim'];
$szoveg = $mi['szoveg'];
echo "<form method=post action=index.php?module=main&doedit=".$id.">";
echo "<ul class=ntt>Cím: <br><input type=text name='cim' value='".$cim."'></ul>";
echo "<ul class=ntt>Szöveg:<br> <textarea cols=35 rows=8 name='szoveg'>".$szoveg."</textarea></ul>";
echo "<ul class=ntt><input type=submit name=submit value=Mehet></ul></form>";
echo "</p></div>";
}
elseif (!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$frissit = mysql_query("UPDATE hirek SET cim = '".$_POST['cim']."' AND szoveg = '".$_POST['szoveg']."' WHERE id = '".$id."'");
}
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #193 Dátum:
2008. 03. 26. - 20:11:28 »
Az elsőnél jó lenne ha újra átnéznéd, mert nem igen értem a logikád, lehet hogy te hamarabb rájössz, mit akartál elérni a következő kódrészlettel:
Kód:
if(empty($_GET['id'])) {
$id = $_GET['id'];
Ha üres, akkor írjá át? Mert?
A második kellene működjön. Esetleg próbáld meg azt, hogy kiíratod az SQLt, amit lefuttat, hogy lásd, ha helyesen van kiegészítve az IDvel. Ha igen, akkor próbáld meg lefuttatni phpMyAdminból, hogy lásd mi a gond, miért nem frissít.
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #194 Dátum:
2008. 03. 26. - 21:40:42 »
Nemtudom így gondoltam e, ha ennek 0, vagy 1 értéket kell visszaadni, akkor sztem jó. 1-est ír ki a böngészőbe.
Kód:
elseif (!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$frissit = mysql_query("UPDATE hirek SET cim = '".$_POST['cim']."' AND szoveg = '".$_POST['szoveg']."' WHERE id = '".$id."'");
echo $frissit;
}
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #195 Dátum:
2008. 03. 26. - 23:20:42 »
Akkor kell frissítsen, csak te nem látod valamiért. Nézted phpMyAdminból. Lehet, hogy valami cache hibád van ... érdemes megnézd és teszteld az SQL parancsokat phpMyAdminból is.
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #196 Dátum:
2008. 03. 27. - 08:43:01 »
azt hogy kell? ezekhez nem nagyno értek. ilyet találtam phpmyadmin-ban:
Tábla karbantartás
* Tábla ellenőrzés Dokumentáció
* Tábla vizsgálat Dokumentáció
* Tábla javítás Dokumentáció
* Tábla optimalizálás Dokumentáció
* Tábla kiírása ("FLUSH") Dokumentáció
Friss .:
szóval megtaláltam mire gondoltál, de ott működik. (SQL és oda UPDATE hirek stb...)
«
Utoljára szerkesztve: 2008. 03. 27. - 08:53:50 írta TreamX
»
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #197 Dátum:
2008. 03. 27. - 17:42:18 »
Ha phpMyAdminból müködik a dolog, akkor valamiért a kódod nem ér el arra a pontra, ahol kell frissítsen, viszont akkor nem is írta volna ki, hogy "1", vagyis, nem jutott volna el a konkrét szerkesztés folyamatához. A két leírt dolog akkor ellentétes ... szóval valami nem stimmel. Ilyen esetben, főleg ilyen kis mennyiségű kód láttán, azt tanácsolom, hogy készíts egy backupot az állományról és írd előről a szerkesztés lehetőségét. Sokkal hamarabb sikerül ilyen módon kiküszöbölni a problémát, mint ha keresnénk a hibát.
Naplózva
TreamX
Tag
Nem elérhető
Hozzászólások: 165
Re: PHP
«
Válasz #198 Dátum:
2008. 03. 27. - 18:21:38 »
Köszi. Így már jó, újrairtam az egészet, a gond nemtudom mivolt, de örülök hogy jó. A helyes kód:
Mégse jó, most meg az összes hírt felülírja
Friss: megvolt a gond, updatenel nem irtam bele hogy WHERE id='".$id."'
Kód:
if(!empty($_GET['edit'])) {
echo "<div id=newsheader><p class=newssz>Hír szerkesztése</p></div>";
$id = $_GET['edit'];
$leker = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$r = mysql_fetch_assoc($leker);
echo "<div id=newst>";
echo "<form method=post action=index.php?module=main&doedit=".$id."><p class=ntt>Cím:<br><input type=text name=cim value='".$r['cim']."'>";
echo "<p class=ntt>Hír:<br><textarea name='szoveg' cols=35 rows=9>".$r['szoveg']."</textarea>";
echo "<p class=ntt><input type=submit name=submit value=Mehet></p></form>";
echo "</div>";
}
if(!empty($_GET['doedit'])) {
$id = $_GET['doedit'];
$select = mysql_query("SELECT * FROM hirek WHERE id='".$id."'");
$update = mysql_query("UPDATE hirek SET cim='".$_POST['cim']."' , szoveg='".$_POST['szoveg']."'");
}
Következő kérdésem lenne, hogy ugye van egy híríró kódom, ahol textarea-ba kell beleirni a szöveget. De hogy tudom megoldani, hogy az érezze a linkeket, képek beszúrásás stb...? (a href, img src, stb...)
«
Utoljára szerkesztve: 2008. 03. 27. - 18:27:00 írta TreamX
»
Naplózva
Tupacko
WebPillangó
Adminisztrátor
Haladó tag
Nem elérhető
Hozzászólások: 413
Re: PHP
«
Válasz #199 Dátum:
2008. 03. 27. - 21:18:14 »
Komplexebb a probléma, nézz utána a TinyMCE nek, azt használja nagyon sok más webware is, pl. Wordpress.
Naplózva
Oldalak:
1
...
8
9
[
10
]
11
12
Fel
Nyomtatás
« előző
következő »
Ugrás:
Kérlek válassz egy célt:
-----------------------------
WebPillangó
-----------------------------
=> Általános társalgó
=> Programozás
=> Grafika
=> Weboldal készítés
Töltés...