- sziku69: Fűzzük össze a szavakat :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Steven: Sokat utazó kávéfüggők ide!
- bambano: Bambanő háza tája
- eBay-es kütyük kis pénzért
- bitpork: Malac java, új kuMpi, káposzta sali
- btz: Internet fejlesztés országosan!
Új hozzászólás Aktív témák
-
Peter Kiss
őstag
-
blacee
csendes tag
válasz
Sk8erPeter #11796 üzenetére
Újabb reménysugár... ...volt.
A zoneinfo-core installja lefut, de a zoneinfo-europe -ra azt mondja:
Unknown package 'zoneinfo-europe'
Nem találja szegényke. Ő ugyanis a vargalex.uw.hu -ról rántja le a csomagokat, és azok közt nincs.
A /etc/config/system idevonatkozó része így néz ki nálam:
config 'system'
option 'hostname' 'OpenWrt'
option 'zonename' 'Europe/Budapest'
option 'timezone' 'CET-1CEST,M3.5.0,M10.5.0/3'
option 'conloglevel' '7'
option 'cronloglevel' '8' -
pvt.peter
őstag
Sk8erPeter, oleslie, cucka: azóta rájöttem, hogy eléggé nagy butaságot kérdeztem, illetve az ötlet is elég sz*r. Viszont meglehet oldani, elegánsabbnak mondható módszerrel.
sztanozs: elég sok időt fordítottam arra, hogy a felhasználó mit vihet be és mit nem. Szerver és kliensoldalról is történik ellenőrzés, természetesen biztos, hogy nem tökéletes, mert mindig lehet találni vmi kiskaput.Íme a kérdésemre a válaszom:
Tehát az űrlapon labelek és hozzájuk tartozó beviteli mezők vannak.
Labelekből lesznek az oszlopok és beviteli mezők lesznek sorok.
(Megfelelő függvényekkel le van kezelve, hogy mik kerülhetnek be értékeknek, bár biztos lehetne kiskaput találni.)
Nos, bevitelnél leellenőrzöm, hogy történt-e már táblalétrehozás.
Ha igen, akkor ugrás tovább.
Megnézem hogy a már meglévő tábla oszlopszáma kevesebb-e mint a labelek száma, ha igen, akkor az azt jelenti, hogy adtam hozzá újabb beviteli mezőt.
Ekkor for ciklussal megfelelő számú ALTER TABLE $tablename ADD $columns[$i] VARCHAR(40); utasítást adok ki, ahol a $columns változó tartalmazza az újonnan hozzáadott beviteli mezők labeljeit, mint oszlopnevek.
Ha ez megvan, akkor mehet az érték feltöltés, ami dinamikus, teljes mértékben alkalmazkodik az adatbázis esetlegesen növekvő oszlopszámú táblázatához.
Nagyjából ennyi, ez volt a lényege. -
Sk8erPeter
nagyúr
válasz
blacee #11795 üzenetére
Most kicsit keresgéltem, ezt találtam:
[link]运行网站 错误解决
- ezzel a mondattal mondjuk nem teljesen értek egyetNa, de komolyra fordítva:
elvileg ez kellhet még neked:opkg install zoneinfo-core zoneinfo-europe
aztán
vi /etc/config/system
itt beállítod a megfelelő timezone-t:
Europe/BudapestNincs személyes tapasztalatom vele, de így leírás alapján elvileg ennyi.
-
blacee
csendes tag
válasz
Sk8erPeter #11779 üzenetére
(#11779) Sk8erPeter,
Köszi a segítőkészségedet, de az utóbbi linkjeid tartalmát már "átnyálaztam" rég. Egyébként azok a doksik nagyon hasznosak, de az ott lévő beállítások nálam OK-k, és nem is térnek ki az én problémámra. Biztos, hogy jó az általam írt PHP kód, mert kipróbáltam ultrawebes tárhelyen és ott futtatva csont nélkül működik a date() függvény.
Biztos, hogy OpenWRT-s konf-oknál keresendő a megoldás. Nyomozok tovább, de ha esetleg belebotlasz ilyen infoba, jelezd légyszi'! Köszi
Üdv.: BLacee
-
Inv1sus
addikt
Sziasztok! Segítséget szeretnék kérni.
Az új honlapomon számomra újfajta WYSIWYG editort akarok használni: Tinymce-t egy különálló pluginnal: Tinybrowser.
Ez a plugin arra jó, hogy képeket lehessen feltölteni, szerkesztgetni, átméretezni, átnevezni stb.
Az a probléma, hogy átméretezés esetén ez a plugin nem tartja meg az eredeti fájlt, hanem felülírja. Ez nem teszi túl egyszerűvé azt a lehetőséget, amikor mondjuk egy kis bélyegképet akarunk berakni, amire rákattintva a kép rendes méretét kapnánk meg egy külön ablakban.
Próbáltam megkeresni, hogy hol történhet a felülírás, de ez a progamozási szint kicsit túlnő rajtam. Úgy sejtem, hogy talán ebben a kódban történhet a dolog:
// Resize any files with new size
if(isset($_POST['resizefile']))
{
foreach($_POST['resizefile'] as $sizethis => $newsize)
{
$newsize = intval($newsize);
if($newsize)
{
// detect silly sizes
if($newsize > $tinybrowser['thumbsize'])
{
// do image resize
$targetimg = $tinybrowser['docroot'].$editpath.$_POST['actionfile'][$sizethis];
if (file_exists($targetimg))
{
$mime = getimagesize($targetimg);
if($_POST['resizetype'][$sizethis]=='width')
{
$rw = $newsize;
$rh = $mime[1];
}
else
{
$rw = $mime[0];
$rh = $newsize;
}
$im = convert_image($targetimg,$mime['mime']);
resizeimage($im,$rw,$rh,$targetimg,$tinybrowser['imagequality'],$mime['mime']);
imagedestroy($im);
$resizeqty++;
}
else $errorqty++;
}
else $errorqty++;
}
}
}Esetleg tudtok némi iránymutatást adni ezzel kapcsolatban?
UI: Csak tisztázásképpen: azt szeretném, hogy az eredeti fájlt megtartsa a program. Csak hogy nehogy félreértsetek.
-
sztanozs
veterán
válasz
Sk8erPeter #11787 üzenetére
Gondolom csak az avatarjaink miatt kevertél össze minket
-
Sk8erPeter
nagyúr
válasz
sztanozs #11786 üzenetére
Eleve nem értem, miért akarod felhasználókra bízni ezt a dolgot. Ez a fejlesztők dolga, hogy kialakítsák a megfelelő adatbázis-hátteret, és jól működővé tegyék az alkalmazást. Ilyen feladatokat tényleg nem szabad rábízni akárkire.
De ha ilyen jellegű céljaid vannak, én azt javasolnám, hogy válassz egy bevált, karbantartott megoldást, mint amilyen a Drupal, ahol egyes content type-okhoz tetszőlegesen hozzá lehet adni különböző mezőket. Nagyon jól megoldották, van hozzá elég jó API is, így a core dolgait tovább lehet bővíteni, ebből az is következik, hogy rengeteg modul készült már, ami bővíti a Drupal működését hasznos mezőtípusokkal.
Szerk.:
bocsánat, ez pvt.peternek szólt, tényleg összetévesztettem az avatarok miatt... -
sztanozs
veterán
Amit a felhasználó írhat be, az el is lesz írva... Láttam én már nagy adatbázisokat (neveket, címeket) a felhasználók (vagy akár az operátorok) által felvíve - rémálom volt. Hát ha még mezőnév is általuk definiálható, akkor kész az idegbaj. Persze nem most, majd pár száz/ezer rekord múlva
-
Sk8erPeter
nagyúr
válasz
oleslie #11781 üzenetére
"Én ha nem akarnám indexelni/keresni az újonnan felvett oszlopokat (csak tárolni az adatokat)"
Ilyen esetre nem szabad számítani, mert az adatok nyilvántartásának az a lényege, hogy a korábban elmentetteket meg lehessen jeleníteni akármilyen nyakatekerten, és tetszőlegesen keresni is lehessen köztük; valamint mindez a lehető legkevésbé legyen erőforrás-igényes.TEXT mezőbe behányni mindent, aztán "serialize/unserialize" pedig nagyon csúnya megoldás, egy normális query-t se lehet írni rá, ami ne zabálná tök feleslegesen az erőforrásokat.
-
cucka
addikt
válasz
sztanozs #11783 üzenetére
Persze így halál lesz az 'egyéb' bezőkben keresni - ha még a mezőnév sem állandó...
Összekapcsolod a két táblát join-al és kereshetsz mindenféle feltétel szerint, legyen az mezőnév vagy bármi más.Persze a mezőnevek is lehetnek külön táblában, hogy véletlenül se legyen elírva - de azért bővíthető legyen.
Ha fontos, hogy ne legyenek elírva, akkor igen, célszerű külön táblába tenni őket. Így lesz normalizált az adatbázisod. -
cucka
addikt
válasz
pvt.peter #11780 üzenetére
Nem szeretném, hogy úgy tűnjön, leugatok a magas lóról, de ez az elképzelés úgy szar, ahogy van. Egyszerűen felejtsd el, nem lesz jó, nem fog működni, sz*pni fogsz vele.
Ezt a feladatot úgy oldod meg, hogy 1 helyett 2 táblád van: az egyikben vannak a személyek, a másikban meg a személyek extra mezői. Így tetszőleges számú extra mezőt felvihetsz tetszőleges számú személyhez. -
-
pvt.peter
őstag
válasz
Sk8erPeter #11779 üzenetére
Szia!
Nem lesz éles helyzetben használva a kód.
Csupán ötletelés szempontjából van ez a feladat, és amit leírtam, annál jobbat/hatékonyabbat erre nem tudok mondani, ezért is fordultam az itteni szakértőkhöz.
És igen, a jelenlegi modell szerint NULL értékékek lennének a megfelelő helyeken :/
Tlképpen röviden összefoglalva van egy tábla, amit oszlopokkal szeretnék bővíteni.A valós életben ezt úgy kell elképzelni, hogy:
Van egy űrlap mely egy felhasználó adatait képes felvinni egy adatbázisba.
Név, lakcím, telefonszám.
A 3. adat felvitele megtörtént, közben a tábla is létre lett hozva.
Majd úgy döntünk, hogy az űrlapon a már 3 meglévő adatot még 1 -gyel bővítjük, pl. anyja neve.
Így a következő felhasználónál már 4 adat lenne rögzítve.
Az előző usernél pedig az anyja neve NULL érték lenne.
Ez lenne a cél. -
Sk8erPeter
nagyúr
válasz
pvt.peter #11778 üzenetére
"Amennyiben hozzáadtunk új beviteli mezőket akkor bizony az oszlopok nem fognak megegyezni. Tehát vmilyen módon bővíteni kellene a meglevő struktúrát"
Ez nem túl jó ötlet. Ha valaki rosszindulatúan, vagy csak szórakozottságból hozzáad még 30 textfieldet, akkor annyival több meződ lesz az adatbázisban, ahol meg ezek nincsenek kitöltve, ott mind NULL érték lesz, tök feleslegesen?
Vagy nem értem, mi a cél ezzel, mi benne a ráció, szerintem ez rossz tervezés.
Nehéz általános receptet adni, sztem jobb lenne, ha a konkrét célt írnád le (milyen célra kell nyilvántartani az adatokat, stb.), úgy könnyebben tudnánk konkrét ötletet is írni.(#11771) blacee :
ez az elérési út létrehozására vonatkozó instrukció elég furcsa "megoldásnak" tűnik valóban, kétlem, hogy ez lenne a helyes út.
Nem tudom, OpenWrt-s cuccra nem raktam még fel webszervert és PHP-t, nem próbáltam, de itt konkrét leírások vannak:
http://wiki.openwrt.org/doc/howto/php
ez konkrétan Lighttpd-re:
http://wiki.openwrt.org/doc/howto/http.lighttpd#configuring.lighttpd.and.php5
Ez alapján sem sikerül? -
pvt.peter
őstag
Sziasztok!
Igazából nem tudom, hogy melyik témába illik legjobban a kérdésem, PHP+MySql keveréke. Lássuk:
Adott egy esetlegesen dinamikusan bővülő html form. Ez alatt azt értem, hogy az űrlap alapjáraton tartalmaz mondjuk 2 db textfield meg egy checkboxot. És mindegyik előtt van label.
Elküldéskor létrehoz az adatbázisban egy táblát melynek neve a form neve, illetve az oszlopok nevei pedig a labelek.
A sor értéke pedig a megfelelő textfield illetve checkbox értéke.
A dinamikusan bővülő alatt pedig azt értem, hogy mindig csak hozzáadhatunk pl. textfieldeket.Ha az adatbázisban nincs még létrehozva az adott tábla mely a form neve alapján kerül ellenőrzésre, akkor első alkalomnál létrehozzuk a táblát és be is szúrjuk az adatokat.
Amennyiben van ilyen tábla akkor csak az adatokat szúrjuk be, amennyiben nem adtunk hozzá új beviteli mezőket, tehát emiatt az oszlopok is ua maradtak.
Amennyiben hozzáadtunk új beviteli mezőket akkor bizony az oszlopok nem fognak megegyezni. Tehát vmilyen módon bővíteni kellene a meglevő struktúrát
És itt jönne a kérdés: milyen módszer lenne erre a legmegfelelőbb?
Én arra gondoltam, hogy inicializáláskor, tehát amikor még nem létezik az adott űrlapnévvel táblázat, akkor mindig [beviteli mezők száma]+1 darabszámú oszlopot hoznék létre.
Ha új mező adódik hozzá, akkor pedig használjuk azt a +1 oszlopot szúrjunk be vmi azonosítót, majd hozzunk létre egy új táblát melynek oszlopainak száma megfog egyezni a következővel:
1. oszlop: kulcs, mely az előző tábla azonosító értékét tartalmazza
2.tól (N+1) oszlopig: az újonnan hozzáadott beviteli mezők, mert nem feltétlenül csak 1 -el növelhetjük a beviteli mezők számát
N+2. oszlop pedig szintén egy üres oszlop, a következő bővítésekre gondolva.És innentől kezdve a folyamat ismétlődik, már csak azt kellene kitalálni, hogy az adatok hogyan szúródjanak be a táblákba. Viszont ez így eléggé bonyolult és összetett lenne.
Van-e esetleg erre vmi hatásosabb módszer? Ki mit ajánlana?
-
H.O.D.
senior tag
válasz
Speeedfire #11776 üzenetére
A www.seotools.hu-n néztem pl., az nem vágja, hogy mi van. Más oldalakét viszont hozza, tehát kell, hogy legyen valami gebasz...
-
H.O.D.
senior tag
Sziasztok,
Nem biztos, hogy pont PHP téma, de itt egy csomó értelmes ember van, ezért írok ide
Érdekes problémám akadt, a keresőmotorok nem látják a title és a meta tageket. Nem nagyon értem, miért.
Az oldal: http://www.kuponia.hu
A forrásban ott van, a browserek kiírják a title-t, szóval nem tudom, mi a hiba, illetve hiba-e egyáltalán.
-
Swifty
csendes tag
válasz
bobace #11700 üzenetére
Szerintem sehogyan...
Főként azért, mert a rewrite arra való, hogy a "csúnya" vagy esetleg nem létező URL-eket átírjuk használhatóra, esetleg SEO friendly-re...
Viszont ha a használhatót szeretnéd megszüntetni, akkor mi fogja lekezelni a lapod???Persze saját magad átírhatod kézzel a kódodban a "csúnya" URL-eket, és működni fognak, de erre nincs automatizált módszer...
-
pvt.peter
őstag
válasz
Peter Kiss #11768 üzenetére
Sikerült elérni a kívánt eredményt, köszi
-
pvt.peter
őstag
válasz
Peter Kiss #11768 üzenetére
elmés megoldás, kipróbálom és megnézem mire jutottam vele
Köszönöm szépen -
blacee
csendes tag
válasz
Sk8erPeter #11770 üzenetére
Nem írtam le valóban a talált megoldást, de az volt, hogy hozzak létre a /etc -ben egy hivatkozást a /usr/share/zoneinfo -ban az Europe/Budapest -re. Ez persze nem hozott eredményt mert ezen az elérési úton nincs semmi, konkrétan már a zoneinfo sem volt meg. Azt létrehoztam, de persze az üres...
Az általad küldött linkeken levő megoldások sem jók nekem mert az egyiknél Apache a webserver a másikakban pedig olyan parancsok vannak amit ez az OpenWRT -s linux nem ismer.
Ettől függetlenül nem kizárt, hogy én is bénáztam valahol. Ha van még ötlet, szívesen fogadom.
-
blacee
csendes tag
Sziasztok!
WR1043ND (OpenWRT) routeren futtatok egy 1.4.29-3 lighttpd webszervert PHP 5.3.10-1 -el "kiegészítve". Be vannak konfigurálva, minden megy kintről is bentről is. Olyan gondom van, hogy ha egy php oldalon a date() függvényt akarom használni, (pl.: print date("Y-m-d H:i:s"); ) akkor
"Fatal error: date() [<a href='function.date'>function.date</a>]: Timezone database is corrupt - this should *never* happen!"
hibával leáll. Neten fellelt megoldás sem működik. Ha valaki tudja a megoldást, kérem segítsen!
-
Peter Kiss
őstag
válasz
pvt.peter #11767 üzenetére
Alapötletként ezt tudnám javasolni:
<?php
class View {
private $_file;
public $Data;
public function __construct($viewFile, array $data) {
$this->_file = $viewFile();
$this->Data = $data;
}
public function Render() {
require $this->_file;
}
}Ebben az esetben, a view fájljában hozzáférsz a $this-hez, így eléred a $Data-t is benne:
<ul>
<?php
foreach ($this->Data["rows"] as $object) {
echo "<li>";
echo $object->Name;
echo "</li>";
}
?>
</ul>Nehogy sima query result-ot adj a view-nak! Csak sima bejárható kollekciókkal szabad dolgoznia, amelyekben objektumok vannak.
Ne használd a mysql_ cuccokat. Válaszd a mysqli_-t vagy inkább PDO-t. -
pvt.peter
őstag
válasz
Peter Kiss #11766 üzenetére
Úgy lenne, hogy a megjelenítő réteg fogadna egy bizonyos lekérdezés eredményt, amit egy metódussal adunk át, melynek első paramétere maga a nézet, a második pedig a lekért adat.
Lehet kicsit túlzás az MVC, de most ebben lett elindítva a feladat.szerk.: az adott nézet *.php fájlban maga a táblázat fejléc, illetve ciklus lenne ami végzi az adatok kiíratását a lekérdezés eredményéből.
-
pvt.peter
őstag
Egy furcsa kérdésem lenne:
Adott egy mysql lekérdezés:
$stmt = 'SELECT * FROM utazas';
$akarmi= mysql_query($stmt);Hogyan tudnám az $akarmi változót átadni egy másik *.php fájlnak?
A lekérdezésből is látszik, hogy jobb esetben táblázattal térek vissza, amit majd mysql_fetch_row() fgv-el szedek szét a fogadó oldalon.
Az oldal amire átpasszolnám a változót, az végezné majd a megjelenítését az adatoknak, ugyanis MVC modellben lesz megvalósítva a feladat.Választ illetve segítséget előre is köszönöm.
-
Speeedfire
félisten
.
-
papa019
senior tag
Sziasztok!
Lehetőségem adódott egy cég számára elkészíteni egy leltározáshoz szükséges web alapú alkalmazást, viszont nem vagyok még túlságosan nagy guru php és mysql témában, így érdeklődnék, hogy nincs-e a fórumtársak körében, aki bekapcsolódna a dologba és tudna segíteni?
A feladat számomra nem tűnik bonyolultnak, a specifikációt elküldöm annak, akit érdekel.Akit érdekel keressen meg privátban, e-mailben küldöm neki a tudnivalókat.
-
tomchy
tag
válasz
Peter Kiss #11753 üzenetére
Köszi, megoldódott, kicsit máshogy. A hibát kiírta és ezért sem így csináltam.
"És melyik iskolában garázdálkodnak mysql_ cuccokkal plusz escape-eléssel? A gányos megoldásról nem is beszélve."
Iskolában? Abszolút kezdő vagyok és a fent linkelt oldalon találtam hasonló megoldást, mint amire nekem lett volna szükségem. Max. magam garázdálkodok, gányolok (vagy nem veszem észre, ha más).
-
tomchy
tag
válasz
Tele von Zsinór #11752 üzenetére
Hibaüzenet nem volt, mert csak utána tettem be, amit Athlon64+ írt...
De azóta már átalakítottam, hogy nem ilyen két fájlos legyen és végül is működik, csak máshogy.
De köszi, legalább ezt is tudom
-
sss
őstag
válasz
Sk8erPeter #11755 üzenetére
Köszi, valami ilyesmi kell majd nekem igen.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #11756 üzenetére
OK.
-
Peter Kiss
őstag
válasz
Sk8erPeter #11755 üzenetére
E_STRICT-et szerettem volna.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #11753 üzenetére
"Minden fájlod elejébe nagyon gyorsan:
error_reporting(E_ALL | E_NOTICE);"Ennek így nincs túl sok értelme, mivel az E_ALL-ban eleve benne foglaltatik az E_NOTICE is. Akkor már
error_reporting(E_ALL);
De aminek még több értelme van:
error_reporting(E_ALL | E_STRICT);
Mivel az E_STRICT csak 5.4.0-tól felfelé van benne az E_ALL-ban.===
(#11754) sss : nem ártott volna kicsit több infót közölnöd, pl,. hogy hogyan szeretnéd fájlba íratni.
Legegyszerűbb pl. egy tömbön végigiterálni, és minden kulcs-érték párt akár rekurzív módon kiíratni fájlba, ha épp az kell. Pl. file_put_contents() is megfelelő lehet. -
sss
őstag
Hi,
Egy fájlba szeretnék kiíratni több változót. Fwrite-tal (vagy valami más függvénnyel) lehet ilyet? Vagy ahány változó annyi fwrite?
-
Peter Kiss
őstag
válasz
tomchy #11745 üzenetére
Az első fájlban nem mysql_fetch_array-t, hanem mysql_fetch_assoc-t kell használni.
A másodikban az UPDATE id alapján frissítene, de a $id változód nem is létezik gyakorlatilag.
Minden fájlod elejébe nagyon gyorsan:
error_reporting(E_ALL | E_NOTICE);
ini_set('display_errors', 1);---
És melyik iskolában garázdálkodnak mysql_ cuccokkal plusz escape-eléssel?
A gányos megoldásról nem is beszélve.
-
válasz
Speeedfire #11750 üzenetére
Szóval lesz egy tömböd sok kulcs érték párral és az urlmanager értéke pedig egy tömb lenne?
-
Speeedfire
félisten
Ilyen fajta megoldásból lehet nekem később problémám? Vagy teljesen jó?
Adott a yii config fájlja:
include 'urlmanager.php';
return array(
//sok sok array
'urlManager'=>$url;
);
//az urlmanager.php
$url = array(
//sok sok változó
); -
tomchy
tag
válasz
Tele von Zsinór #11747 üzenetére
Köszi!
Módosítottam így:
$sql = "UPDATE " . $tbl_name .
" SET email='" . mysql_real_escape_string($_POST["email"]) .
"', company='" . mysql_real_escape_string($_POST["company"]) .
"', telefon='" . mysql_real_escape_string($_POST["telefon"]) .
"', active='" . mysql_real_escape_string($_POST["active"]) .
"' WHERE userid='" . mysql_real_escape_string($_POST["id"]) . "'";De így sem akar működni...
-
válasz
Tele von Zsinór #11747 üzenetére
Köszi! Hasznos! (Bár most restellem, mert megtaláltam csak "átugrottam rajta".
)
-
Tele von Zsinór
őstag
válasz
tomchy #11745 üzenetére
A problémád az, hogy a kódod feltételezi, hogy a register_globals be van kapcsolva. Ez egy nagyon régi, elavult, php5.4-ben már benn sem levő kapcsoló. Az update_ac fileodban a mysql_real_escape_string hívásokban a $_POST superglobalt használd (például $_POST["id"]).
mobal: nem tudok magyar leírásról, de szerencsére az angol változat is elég rövid és könnyen érthető.
-
Grrr, ez a PSR-0 standard ma reggel megszívatott! Van róla valami jó dokumentáció magyarul? Jó látni, hogy "Jávásodik" a PHP!
-
tomchy
tag
Sziasztok!
Adott az alábbi php+mysql cucc:
Az update.php:<?php
$host="XX"; // Host name
$username="XX"; // Mysql username
$password="XX"; // Mysql password
$db_name="XX"; // Database name
$tbl_name="users"; // Table name
// Connect to server and select databse.
mysql_connect($host, $username, $password) or die('cannot connect');
mysql_select_db($db_name) or die('cannot select DB');
$id=$_GET['id'];
$sql="SELECT * FROM $tbl_name WHERE userid='$id'";
$result=mysql_query($sql);
$rows=mysql_fetch_array($result);
?>
<form name="form1" method="post" action="update_ac.php">
<table>
<tr>
<td><input name="email" type="text" id="email" value="<? echo $rows['email']; ?>"></td>
<td><input name="company" type="text" id="company" value="<? echo $rows['company']; ?>" size="15"></td>
<td><input name="telefon" type="text" id="telefon" value="<? echo $rows['telefon']; ?>" size="15"></td>
<td><input name="password" type="text" id="password" value="" size="15"></td>
<td><? if ($rows['active']== 1 )
{
echo "<strong>aktiválva!</strong>";
}
else {
echo "<input name='active' type='radio' id='active' value='' style='vertical-align:top;'> aktiválás";
} ?></td>
</tr>
</table>
<input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
<input type="submit" name="Submit" value="Submit">
</form>
<?php
// close connection
mysql_close();
?>elméletileg a Submit-kor meghívja az update_ac.php-t:
<?php
error_reporting(E_ALL);
$host="XX"; // Host name
$username="XX"; // Mysql username
$password="XX"; // Mysql password
$db_name="XX"; // Database name
$tbl_name="users"; // Table name
// Connect to server and select database.
mysql_connect($host, $username, $password) or die('cannot connect');
mysql_select_db($db_name) or die('cannot select DB');
// update data in mysql database
$sql = "UPDATE " . mysql_real_escape_string($tbl_name) .
" SET email='" . mysql_real_escape_string($email) .
"', company='" . mysql_real_escape_string($company) .
"', telefon='" . mysql_real_escape_string($telefon) .
"', active='" . mysql_real_escape_string($active) .
"' WHERE userid='" . mysql_real_escape_string($id) . "'";
$result = mysql_query($sql);
// if successfully updated.
if($result){
echo "Successful";
echo "<BR>";
echo "<a href='users.php'>View result</a>";
echo mysql_affected_rows();
}else {
echo mysql_error();
}
?>De hiába írja ki az update_ac.php, hogy sikeres, nem módosítja a tartalmat. Mi lehet ennek az oka? Úgy látom, hogy nem veszi át az update.php által küldött adatokat. De miért???
Plíz help...Köszi!
kieg: mysql_affected_rows(); mutatja, hogy nem lett érintve egy sor sem, de hibát sem ad, szóval tuti, hogy nem kap semmilyen infót az update.php-tól, csak nem értem, hogy miért. Az eredeti leírás itt található: http://www.phpeasystep.com/mysql/9.html
-
Relisys
senior tag
Sziasztok!
Nagyon kezdő vagyok még php-ben, de össze kéne dobnom egy táblázatot, amibe az adatok adatbázisból jönnek és nem szeretnék jqueryzni.
Szóval jelen tudásom szerint egy html táblába beletudom tenni az adatokat php segítségével. A probléma ott jön, hogy kellene tudnom szerkeszteni az egyes sorokat. Erre azt találtam ki hogy a tábla celláiba textbox-ot teszek és abba rakom bele az adatokat. Viszont itt jön a lényeg, hogyha átírok mondjuk egy sort akkor azt hogy tudom visszatolni adatbázisba? Olyasmire gondoltam, hogy minden sor végére beteszek egy checkbox-ot és amelyik sort frissíteni szeretném ott ki kell jelölni a boxot, majd nyomni az update gombot.
Itt állt meg a tudomány.. és jönnek a kérdések:
hogyan tudom ellenőrizni, hogy melyik checkbox van bepipálva?
hogyan tudom azonosítani a bepipált checkbox alapján a sort, hogy az update utasításban hivatkozni tudjak rá?Végezetül még egy kérdés: ha sok sor van akkor azt nem szerencsés egy oldalra kitenni. Van valami lehetőség arra hogy legyen valami táblatörés, mint a jquery datatables esetében?
Lehet elég paraszt módszert találtam ki, de jobb nem jutott eszembe
Előre is köszi!
-
Speeedfire
félisten
-
bobace
addikt
válasz
Sk8erPeter #11741 üzenetére
Küldtem privet.
Amúgy persze, hogy nem best, olyan egyszemélyes projektnek tűnik, van benne hiba is szép számmal, de könnyen tudtam vele boldogulni. Ránézésre a linkelt modulok nem tudják, ami nekem kell ebből. -
Sk8erPeter
nagyúr
válasz
bobace #11739 üzenetére
Hát nem tom, egy CMS is kínál sztem ilyen lehetőséget, úgy tudom, a Drupalban is megvannak erre a megfelelő modulok az Ubercart és Commerce segítségével.
Amúgy bírom az ilyen önismertetőket egy terméknél, amiben eleve az szerepel, hogy "... is the best ..." - ja, persze, a "best".
A saját mércéjük alapján, vagy ki mondta ezt róluk, ki határozza meg, mi a "legjobb"?
Nekem az ilyesmi valahogy nem szimpi, de ez már OFF.
Pl.
Ubercartnál: Ubercart Auction
Commerce-nél: Commerce AuctionSzóval azé' van alternatíva.
-
bobace
addikt
válasz
Sk8erPeter #11737 üzenetére
Ez lenne az. Egy sima webáruházat (virtuemart és társai) sokkal nehezebb lett volna átszabni.
-
válasz
Sk8erPeter #11737 üzenetére
Értem. Egyszerűbben leírhattad volna, hogy az "árva tag ott marad oszt jónapot". Mellesleg ugyan ezeket a táblanevekete "content" és "tags" végül "contents_tags" használom!
-
Sk8erPeter
nagyúr
Azért nem világos a dolog, mert nem értem, miért okoz neked problémát egy "árva" tag.
Vegyük a legegyszerűbb példát: van mondjuk egy tags, egy tags_contents és egy contents táblád (most az elnevezés és struktúra csak hevenyészett, lényeg szempontjából tök mindegy, csak szemléltetés úgyis).
A tags táblába gyűjtöd az összes taget, van neki id-ja, elnevezése, leírása (most csak egy nyelven, mondom, legegyszerűbb példa). A contents táblában meg mondjuk cikkeid vannak, amikhez kapcsolhatsz tageket, van nekik id-juk, title mezőjük, meg body-juk, amiben a tartalom van. Aztán a tags_contents táblában pedig összekapcsolod a contentekkel a tageket; tag_id és content_id mezők vannak itt. Pl. ha a 123-as id-jú tag a "teszt" (a tags táblában), a 499-es id-jú content (a contents táblában) pedig az "Akármi" című, és a "teszt" taget az "Akármi" tartalomhoz akarod kapcsolni, akkor a tags_contents táblában lesz egy ilyened:
123 | 499
össze van kapcsolva a két id.
Ha a "teszt" taget leszeded az "Akármi" tartalomról, akkor kitörlöd a tags_contents táblából a 123-as id-jú taget, amihez a 499-es id van kapcsolva (mittomén, DELETE FROM tags_contents WHERE tags_id = 123 AND content_id = 499; vagy ilyesmi, de ez most túlzottan leegyszerűsített példa; de egyébként lehet, hogy értelmesebb egyszerűen az ehhez a 499-es id-jú tartalomhoz tartozó tageket egyszerűen leszedni, majd újból feltölteni az egészet, a módosításoknak megfelelően).Tehát az "árva", "teszt" nevű tag ottmarad a tags táblában, aztán bármikor hozzákapcsolható megint az "Akármi" tartalomhoz. Senkit nem zavar, hogy ott van egyedül egy másik táblában.
Most így már tisztább?
========
(#11736) bobace :
melyik CMS-ről van szó?
Egyébként pont a support hiánya vagy kisebb aktivitása miatt nem érdemes kevésbé ismert CMS-eket, frameworköket választani, mert ha kell valami új dolog, akkor egyszerűen meg vagy rekedve, ha nem tudod, hogyan fejleszd tovább. -
bobace
addikt
válasz
Sk8erPeter #11732 üzenetére
Egy a gond, hogy az enyém is egy CMS rendszer alapból (csak nem ismert, de ez volt a legmegfelelőbb arra, amit akartam), ezt már átültetni nem gyenge dolog lenne. Ejj nem bíztatóak a kilátások.
-
válasz
Sk8erPeter #11734 üzenetére
A cikk maradhat természetesen, csak az "árva" tag sorsa érdekel!
Sajnos fogalmam sincs, hogy jó és bevált rendszerekben mit kezdenek vele!
(Remélem végre érthető voltam
)
-
Sk8erPeter
nagyúr
De miért ne maradhatna egy cikk tag nélkül? A tag csak kiegészítő elem, plusz infókkal ruházza fel a tartalmat, meg segít a kategorizálásban és a tartalom adott szempontok szerinti szűrésében.
Ha nem adsz hozzá taget, akkor nem kell semmit pakolni az adott tartalom és tag összekapcsoló táblájába; ha meg a tartalom módosításakor minden korábbi taget leszedsz róla, akkor egyszerűen az összekapcsoló táblából az összes, az adott tartalom id-jához tartozó tag id-t kitörölsz, és kész. -
válasz
Sk8erPeter #11732 üzenetére
Szia!
Ez oké és így is van. De mondjuk egy "cikkhez" és/vagy "hozzászóláshoz" már csak egy tag tartozik, ami között a kapcsolatot törlöm akkor az ott marad "árván". Konkrétan azt is vizsgálja, hogy most ő "árva"-e vagy nem?
-
Sk8erPeter
nagyúr
Ha módosítasz egy bejegyzést (blogbejegyzés, cikk, akármi, amihez a tag rendelve van), akkor meg kell nézni, most milyen tagek vannak hozzácsapva, és annak megfelelően módosítani az adatbázis-bejegyzéseket (ha valamilyen tag előtte rajta volt, de az elmentéskor nincs, akkor persze azt kiszedni a megfelelő táblából).
Nincs jobb megoldás, mint hogy végigmenni a tageken mentéskor, és összehasonlítani a korábbi állapottal, és csak azokat megtartani az összekapcsoló táblában, amik a mentéskor is érvényesek.
A tag teljes törlésekor (tehát nem a bejegyzés módosításakor) pedig egyszerűen kitörölni a tag sorához tartozó sort a tags táblából, plusz törölni az ennek az id-nek megfelelő bejegyzéseket az összekapcsoló táblákból is (ez elég egyszerű jól kialakított rendszernél).(#11730) bobace :
uhh, hát ez elég összetett téma, nem tudom, tud-e valaki így hirtelen mutatni erre valami jól összeszedett linket. Érdemes megnézni, hogyan csinálják a frameworkök és CMS-ek, de akkor már valószínű, hogy inkább az a megoldás, hogy átállsz ezek használatára. Az sem két perc, hogy lemásold a routing működését, meg az sem, hogy átköltöztesd a mostani oldalad mondjuk egy frameworkre vagy CMS-re (bár érdemes). -
válasz
Sk8erPeter #11728 üzenetére
Azért gondolom Kalandor sem a semmiért szól, hogy mind két oldal kapjon jót s meg rosszat is, viszont a szükségességét is megkérdőjelezem! (Legyetek szívesek erre ne válaszoljatok! Csak nem hagyhattam ki!
)
Szerk.: blognál szeretném megoldani a "tagek" és "kategóriák" kezelését rendesen (adatbázis, táblák közötti kapcsolattal). Működik is rendesen a "create" és az "update". Viszont, ha egy taggel és/vagy kategóriával nincsen már hozzászólás akkor mi a rendes menete a "takarításnak". Minden egyes update-kor nézzem meg, hogy van e még hozzá tartozó és töröljem?
-
bobace
addikt
válasz
Sk8erPeter #11729 üzenetére
Közben ezt a dolgot feladtam. A rewriteok működtek, amiket megadtam, de visszafelé nyilván értelmetlen is a dolog, ez volt egy sor:
RewriteRule ^(.*)termek/(.*)$ item.php?id=$2 [L]Azt akartam megoldani, hogy ha beírom hogy item.php?id=123, akkor a böngészőben termek/123 legyen.
Mai kutatásaimnak köszönhetően arra jutottam, hogy PHP rounting kellene.
Itt csak ennyi a .htaccess: RewriteRule ^.*$ index.php És akkor csinálok egy route funkciót, és az index.php-ba írom be, hogy mi mire mutasson. Most arra próbálok rájönni, hogy ezt hogyan is kell. -
Sk8erPeter
nagyúr
Pontosan, teljesen egyetértek.
Ilyen tök ártalmatlan viták miatt moderátorokhoz szaladgálni nem kicsit vicces. Sajnos épp emiatt a moderálás a topicban kezd Athlon64+ noszogatása révén egy kicsit egyoldalúvá válni (nem túl jó, hogy egy ember szájízének megfelelően alakul a topic sorsa, és még egy minimális vitába sem lehet belemenni (és ha vita, akkor mi van?
), mert aztán jön az óvóbácsi
).
-
Soak
veterán
válasz
Sk8erPeter #11719 üzenetére
Most nem tudom, hogy sirjak vagy nevessek, de igazabol az a kakaskodas az utolso hsz.edig tartott volna amugy is. Csak annyit tudok mondani hogy akit zavar az menjen at a noi oltozobe.
-
bobace
addikt
Na látom, sikerült itt indulatokat kelteni.. Azért bátorkodtam ide feltenni a kérdést, mert az apache topikba nem írtak 3 éve, itt meg az apache-ra keresve elég sok friss találat is volt. Gondoltam köthető a témához, ha már más is meg merte kérdezni itt ezirányú baját
Ennyi.
Ja és:
- Nyilván beírtam, a keresőbe, de nem volt olyan, ami nekem kell.
- Azért tettem fel a kérdést, mert előtte már 2 napig a google-t túrtam, és nem jöttem rá a megoldásra. Nem szoktam olyat megkérdezni, amit meg bírok oldani...
- mivel nem én írtam a rendszer magját (csak átalakítom saját igényekre), és másrészt nem is vagyok programozó, így ebből kell főznöm.Én kérek elnézést...
-
válasz
Speeedfire #11722 üzenetére
Szerintem normális esetben igen, az fw dolga. Azt tudom, hogy pl. Kohana esetében a query külön van kezv
elve. -
válasz
Speeedfire #11720 üzenetére
Szerintem szimplán mindent az index.php -ra kéne irányítani. Külön kéne kezelni a query -t és a controllereket. Vagy nem?
mobal,
-
Sk8erPeter
nagyúr
válasz
Kalandor #11718 üzenetére
Részemről semmi gond nem volt, egyébként szerintem normális hangnemben beszéltünk Soakkal, nem volt semmi balhé. Athlon64+ kicsit túlzásba viszi a moderátorok idejének rablását, de egyébként köszönjük, hogy őrzöd a nyugalmat.
-
Sk8erPeter
nagyúr
1. ezzel a hozzáállással a Prohardver! már rég megszűnt volna létezni.
2. pedig direkt megelőztem ezt a hozzászólásodat, mert nem volt nehéz kitalálni, hogy ilyen színvonalas választ fogsz adni, ezt írtam, parse-old>> "Kíváncsian várom az ajánlatodat, hol tegye fel a kérdését, ahol van is esély rá, hogy kap releváns választ" (segítségül kiemeltem a fontos részt)
3. többre ment volna egy segítőkész válasszal, mint a kioktatásoddal.Ezért kérdeztem vissza tőle, hogy hogy oldotta meg a korábbit, abból kiindulva egyszerűbb lesz megoldani.
4. ezzel egyetértek.
5. ömmmm - inkább no comment. -
Speeedfire
félisten
Stewie meg Brian megint egymásnak esett.
-
Soak
veterán
válasz
Sk8erPeter #11713 üzenetére
1. Nem csak egy a forum létezik a földön
2. Nem hinném hogy kell konkrétumot mutatnom, be tud annyit irni akár ennek a forumnak a keresőjébe is, hogy apache (és ad találatot)
3. Azért irtam ezt, mert többre ment volna mintha egy 2 napos hozzászolásra ujra rákérdez egy nem releváns topikba.
4. ez inkább az alkalmazás megfelelő beállítása az igények szerint az adott szerverhez kapcsolódóan.
Az már régen rossz, ha ilyeneket kell állítani, hogy az alkalmazás megfelelően működjön . Egy normális routing megirásával alapból el lehetett volna kerülni a buzulást.
5. Csak a kedvedért, hogy releváns helyeket mutassak : [link] , de még itt csomoféle mindenre rá lehet keresni
(csak hogy a kötelező meglegyen
)
-
Sk8erPeter
nagyúr
Mi lenne, ha mutatnál némi konkrétumot? Kíváncsian várom az ajánlatodat, hol tegye fel a kérdését, ahol van is esély rá, hogy kap releváns választ.
Na ugye.Miért ne lehetne neki itt segíteni?
Legfőképp azért, mert ez a kérdés elég szorosan kötődik a PHP-fejlesztéshez is, mert a .htaccess-b×zerálás (vagy web.config) manapság szinte elengedhetetlen. Arról nem is beszélve, hogy ennek semmi köze az "Apache-szerver konfigurálásához", ez inkább az alkalmazás megfelelő beállítása az igények szerint az adott szerverhez kapcsolódóan.(#11712) dodopek :
soha életemben nem hallottam erről az oldalról. Nem mintha az jelentene bármit. -
dodopek
addikt
válasz
Sk8erPeter #11710 üzenetére
Ó, bocsánat.Csak azt hittem(valamiért), hogy mindenki ismeri. Html,PHP, és mindenféle scriptek gyüjtőoldala. Ilyen ámokfutó amatőröknek nagy segítség. Régebben csak ilyesmikkel foglalkoztak, most már kicsit átalakult... hitetlen
-
Soak
veterán
válasz
Sk8erPeter #11710 üzenetére
Az apache szerver konfigurálásnak mi köze a phphoz?
Szerk : A szemforgatós szmájlit majdnem elfejtettem
-
dodopek
addikt
válasz
Sk8erPeter #11705 üzenetére
Dehogy!
Van ugye egy feltelpített vírusírtóm, amit fixen használok. Meg néha, amikor rámtör a paranoia, az eset honlapjáról letöltök egy pár100 kb nagyságú cuccot, ami nem telepít nodot a gépre, csak addig megy az alkalmazás, amíg végigkeresi a gépet.Aztán az utolsó ablakban ott a pipa, hogy törlöd e a gépről. Jópár nagyobb cégnek van ilyen online-nak nevezett cucca... Hogy felhő alapú, vagy hogy működik, azt ne kérdezd...Milyen oldal? Jó!
Szeretem, mert akkor is használhatok (többnyire segítséggel) php dolgokat, ha nem értek hozzá. Mivel a tudásom nagyjából kimerül abban, hogy html oldalakkal összekössem a használni kívánt php cuccokat, nekem nagyon jó...
(és ahogy ezt leírtam, egyre hülyébbnek érzem magam...)
-
Inv1sus
addikt
válasz
Peter Kiss #11702 üzenetére
Nem fogom engedni képfeltöltéseknél, csak automatizált funkciót akartam, ami mindent képet beolvas egy könyvtárból és berakja slide-ba. De akkor megoldom annyival, hogy átnevezem, úgy is csak programozó nyúlhat majd hozzá a jövőben. Csak kíváncsi voltam meglehet-e csinálni fájlátnevezgetés nélkül.
-
Sk8erPeter
nagyúr
válasz
dodopek #11704 üzenetére
Milyen oldal az a "hitetlen"?
Az obfuszkált, összekutyult kód lényegében annyit tesz, hogy megpróbálják lehetetlenné tenni a kód továbbfejlesztését, lenyúlását, szóval jól értetted, szerintem nem érdemes ilyenekkel foglalkozni. Bár nyilván nem ártana legalább egy fájlt látni, amire ezt jelzi, bár most hirtelen azt sem értem, hogyan kotorászol a fájljaid között online víruskeresővel, mindet feltöltöd egyenként? Az se túl jó ötlet... -
dodopek
addikt
Sziasztok!
Online víruskereső majd minden php kódra ami a gépemen van elmentve, találatot dobott ki PHP/Obfuscated F névvel.Kicsit utánaolvastam, és nekem az jött le, hogy ez nem vyírus, hanem a kódvédelem egy formája. Akkor most mi ez? Töröljem a gépről a file-okat, vagy nem fertőzöttek?
Köszi előre is!
Ps: A kódok nagy részét a hitetlenről,vagy más (számomra)megbízhatónak tűnő oldalról szedtem. -
Tele von Zsinór
őstag
válasz
Inv1sus #11701 üzenetére
Mindossze annyit tesz, hogy a filerendszered mas karakterkodolast hasznal, mint a weboldalad. A gyorsmegoldas kiiraskor konvertalni a ketto kozt, de ez borzalmas problemakat fog okozni hosszutavon.
Elottem kollega kerdese jogos, miert teszel ekezetes karaktert a filenevbe? Felteltelezem, hogy adatbazisbol jon az adat, egyszeruen az id mezo alapjan nevezd el a kepet. Ha megsem adatbazisbol jon (mert mondjuk a kliensnek csak egyszeruen fel kell toltenie a kepet ftpn) akkor mondd meg neki, hogy ne hasznaljon ekezetes neveket.
-
Inv1sus
addikt
Sziasztok!
PHP-val kiolvasom egy könyvtárban található képfájlok neveit egy tömbbe, majd egy ciklussal <img> tagbe megírogatva echoval kirajzoltatom őket a lapra. Ha nincs ékezet bennünk, akkor probléma nélkül működik, de ha mondjuk van a könyvtárban egy ű.jpg:
Akkor valami karakterkódolási hiba jön elő. Mit lehet a gond?
Egyébként Codeignitert használok, annak is ezt a helper funkcióját:
if ( ! function_exists('get_filenames'))
{
function get_filenames($source_dir, $include_path = FALSE, $_recursion = FALSE)
{
static $_filedata = array();
if ($fp = @opendir($source_dir))
{
// reset the array and make sure $source_dir has a trailing slash on the initial call
if ($_recursion === FALSE)
{
$_filedata = array();
$source_dir = rtrim(realpath($source_dir), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR;
}
while (FALSE !== ($file = readdir($fp)))
{
if (@is_dir($source_dir.$file) && strncmp($file, '.', 1) !== 0)
{
get_filenames($source_dir.$file.DIRECTORY_SEPARATOR, $include_path, TRUE);
}
elseif (strncmp($file, '.', 1) !== 0)
{
$_filedata[] = ($include_path == TRUE) ? $source_dir.$file : $file;
}
}
return $_filedata;
}
else
{
return FALSE;
}
}
}
Új hozzászólás Aktív témák
Hirdetés
- Csere-Beszámítás! Sapphire Pulse RX 9070 XT 16GB Videokártya! Bemutató darab!
- ÁRGARANCIA!Épített KomPhone Ryzen 7 5700X 16/32/64GB RAM RX 7600XT 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Gigabyte A620M R5 7600 32GB DDR4 512GB SSD RTX 5060 Ti 16GB Zalman i3 NEO Enermax 650W
- BESZÁMÍTÁS! MSI B450M R7 5700X 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- Azonnali készpénzes AMD Radeon RX 5000 sorozat videokártya felvásárlás személyesen / csomagküldéssel
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest