WebPillangó főoldal
Oldalak: 1 ... 8 9 [10] 11 12   Le
  Nyomtatás  
Szerző Téma: PHP  (Megtekintve 4220 alkalommal)
Csiga
Új tag
*
Nem elérhető Nem elérhető

Hozzászólások: 36

Csúszómászó


WWW
« 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... Mosolyog
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Haladó tag
*****
Nem elérhető Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 36

Csúszómászó


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 36

Csúszómászó


WWW
« Válasz #185 Dátum: 2008. 03. 23. - 21:33:23 »

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 Mosolyog
Naplózva
Tupacko
WebPillangó

Adminisztrátor
Haladó tag
*****
Nem elérhető Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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.  Kacsint

Kód:
if ( isset($_GET['mode']) && strcmp($_GET['mode'], "upload") == 0 ){
  // igen, letezik es egyenlo uploaddal
}
Naplózva
TreamX
Tag
**
Nem elérhető Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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? Hááát

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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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ő Nem elérhető

Hozzászólások: 413


WWW
« 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ő Nem elérhető

Hozzászólások: 165


WWW
« 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 Sír
Friss: megvolt a gond, updatenel nem irtam bele hogy WHERE id='".$id."' Mosolyog
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ő Nem elérhető

Hozzászólások: 413


WWW
« 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  
 
Ugrás: