Keresés

Részletes keresés

hitman28 Creative Commons License 2003.01.15 0 0 1117
dbm ! ez nem igaz,vagy ...?:)
hitman28 Creative Commons License 2003.01.15 0 0 1116
- valaki :) bocs
hitman28 Creative Commons License 2003.01.15 0 0 1115
Sziasztok!

Valaki tudna valaki segíteni,miért írja ki nekem ezt a hibaüzenetet a PHP gbm ,a file t sikerült létrhozni,a könyvtár jogai 777,és nem tudok írni bele...

Warning: dbmopen_gdbm(crawlers.dbm): 10 [Can't be writer]

Elöre is köszi a segítséget!

crockl Creative Commons License 2003.01.15 0 0 1114
nem ertelek: setcookie("userid", $user); = session kuki. Te mit irtal oda?
Előzmény: .attus. (1113)
.attus. Creative Commons License 2003.01.15 0 0 1113
Visszavonom: nem.
Csak azért gondoltam, mert a session cookie-t nem is írja felül az új setcookie parancs, így a régi érvényben volt, amikor én azt hittem, már az új van engedélyezve...
Előzmény: .attus. (1112)
.attus. Creative Commons License 2003.01.15 0 0 1112
Tapasztalati válasz: igen. :-)
Előzmény: .attus. (1111)
.attus. Creative Commons License 2003.01.15 0 0 1111
Nagyjából értem, amit írsz :-))

Kérdésem: Ha kihagyom az időkorlátot, és sessionlesz belőle, akkor könnyebben fogja az IE engedélyezni?

Előzmény: crockl (1110)
crockl Creative Commons License 2003.01.15 0 0 1110
hat, pedig ez teljesen jo, esetleg ha ugy van beallitva hogy setcookie("userid", $user); es igy session kuki lesz belole, tehat addit tart amig a bongeszo nyitva van, akkor alapcsonyabb biztonsagi szinten ( ez de szar:), nem neked irom csak ez rotlf:) ) is menni fog. Index is csak ilyen session kukikat dobal tobbnyire. Persze kerdes neked mire kell. Ha csak session miatt, tehat csak addig amig user oldalon van, akkor igy jo, de ha emlekezni akarsz a user-re avagy beallitasaira amit a kukiban tarolsz akkor kell az ido is, de akkor meg user legyen ennek tudataban, hogy ha ezt akarja akkor engedelyezni-e kell. Egyebkent is tiszta ostobasag ez az ie meg a kukis kavarasa, raadasul ie6-ba alapbol le is van tiltva minden fele kuki, eh, mind1, ez mar masik tortenet :)
Előzmény: .attus. (1109)
.attus. Creative Commons License 2003.01.15 0 0 1109
setcookie("userid", $user, time()+3600, "/");
Előzmény: crockl (1108)
crockl Creative Commons License 2003.01.15 0 0 1108
mutasd a setcookie parancsodat.
Előzmény: .attus. (1107)
.attus. Creative Commons License 2003.01.15 0 0 1107
Helló!

Mostanában ismerkedem a PHP-val. A következő a gondom: cookie-t akarok csinálni. Erre egy parancsot ismerek: setcookie(var, value, expire, path, domain). Ezt alkalmazom is. Csakhogy IE alatt nem hozza létre a cookiet, csak ha egészen alacsonyra állítom a biztonsági szintet, míg mások (pl. az Index) magasabbra állított szint mellett is tudnak cookie-t csinálni.
A felhasználók pedig panaszkodnak, hogy a program azt dobja ki, hogy "Engedélyezze a cookie-kat", miközben minden más oldal tud működni a meglévő beállításai mellett is.

Van erre valami megoldás?

A servert, amin a dolog fut, nem én adminisztrálom, csak megkértek, hogy dobjak rá valami cuccot. De persze ha ott kell valamit állítani, ezt meg tudom üzenni, és átállítják.

reset Creative Commons License 2003.01.15 0 0 1106
Ha van egy installald mysql-ed, akkor a load infile paranccsal egyszerüen beolvasod, field limiternek ':'-t adsz meg, es a szokasos SQL-utasitasokkal utana azt csinalsz az adatokkal, amit jonak latsz.
Eddigi tapasztalataim szerint ez ugy kb. 400-500 kB-nal nagyobb fajlok eseten gyorsabb megoldas, mint PHP-ben a Bandi-T altal javasolt megoldas. Arrol nem is szolva, hogy a szerver eröforrasait kevesbe veszi igenybe :)

Üdv :
reset

Előzmény: stonyo_ (1104)
Bandi-T Creative Commons License 2003.01.15 0 0 1105
Hmm, a felhasználástól függően vagy olvasd be az egészet, és utána mindig iterálj végig rajta és csak a megfelelő rekordokkal végezd el a szükséges műveletet, vagy már beolvasáskor csak a megfelelő rekordokat olvasd be, és utána azokon iterálva végezd el a megfelelő műveletet, vagy rögtön beolvasáskor a megfelelő rekordokra végezd el a műveletet.

Egy fájlt beolvashatszt tömbbe (egy sor - egy tömbelem) a file() függvénnyel. Ez azonban memóriát foglal, nagy fájl esetén ezért nem tanácsolom.

Ilyenkor nyisd meg a fájlt fopen()-nel, és utána fgets() segítségével soronként beolvashatod.

A beolvasott sorról rtrim() segítségével vágd le a sorvéget, majd ezután explode() segítségével vágd fel elemeire a kettőspontok mentén (vigyázat: ez bedöglik, ha valamelyik mezőben is van kettőspont) - ekkor a mezőket tartalmazó tömböt kapsz.

Így már a mezőket külön-külön fel tudod dolgozni, vagy a mezőtömböket belerakhatod egy tömbbe.

Tömbben lehet keresni saját kiértékelőfüggvényt használva: az array_search() az első megfelelő elemet keresi meg és adja vissza, míg az array_filter() olyan tömböt ad vissza, amiben csak a kiindulótömb kiértékelőfüggvény által megfelelőnek minősített elemei vannak benne.

Előzmény: stonyo_ (1104)
stonyo_ Creative Commons License 2003.01.15 0 0 1104
Sziasztok!

Elég kezdő vagyok a PHP-ban, és eddig csak mysql adatbázisokkal foglalkoztam igazából, de most egy új probléma merült fel: van egy txt file, ami tulképp egy adatbázis... soronként vannak a rekordok, és az 'oszlopok' ugy vannak megoldva, hogy ":"-al vannak elválasztva az adatok...:

1:géza:1084:Budapest:Havasi utca 47:256-84-75
2:jenő:7700:Kecskemét:Jósika utca 8:0687-547-584
3:bori:4400:hajdúszoboszló:bubu utca 7:0633-555-555
...
...
...
és igy tovább...

nomármost...én ezeket az adatokat szeretném szépen szétpakolászni és utánna szürni belőle (pl b-vel kezdődő nevek alapján, vagy 0633-al kezdődő tel. szám alapján..)...jómi? :-)

tudtok erre egy "kifejlesztett" megoldást?
pl hogy egy átmeneti adattáblába beleir, és onnan keres, vagy tömbbe, bár ott nemtom hogy megoldható e eccerüen a keresés....

előre is köszönök!

stonyo

Bandi-T Creative Commons License 2003.01.14 0 0 1103
No, hát örülünk, hogy sikerült! :)
Előzmény: Johny Bravo (1102)
Johny Bravo Creative Commons License 2003.01.13 0 0 1102
Szeretném mindkettőtöknek megköszönni a segítséget, végre működik! :)

(Már csak inci-finci dolgokkal szívok, de az már menni fog, remélhetőleg.)

A kutya ott volt elásva, hogy a temporary table-be valami hülye okból mindkét másik táblából akartam keresni, közben oda csak a topik-táblából kell válogatnom.

Johny Bravo Creative Commons License 2003.01.13 0 0 1101
Hmm, én sem értem, miért használok az első selectben két táblát, már javítom is... :)))
Előzmény: Bandi-T (1097)
crockl Creative Commons License 2003.01.13 0 0 1100
ÁÁÁÁÁÁÁÁ tekeri az oreg a szavakat ;)))
Amugy hatha erdekel valakit:
http://wmlbrowser.mozdev.org/
Előzmény: Bandi-T (1099)
Bandi-T Creative Commons License 2003.01.13 0 0 1099
Jól van na, nem hivaüzenet, hanem hibaüzenet - ezért igazán nem illene nevetni rajtam. ;)
Előzmény: crockl (1098)
crockl Creative Commons License 2003.01.13 0 0 1098
:))))))))))))))))))))))))))))))))))))))))
Előzmény: Bandi-T (1097)
Bandi-T Creative Commons License 2003.01.13 0 0 1097
Hmm, nem értem: az első SELECT-ben miért írsz két táblát?

Másodszor, a hibakeresés kedvéért kérlek tedd meg, hogy a változóneveket egyelőre kihagyod a lekérésekből, és mindenhol konstansokat használsz.

Harmadszor, kérlek irasd ki a crockl által is javasolt mysql_error() függvény által visszaadott hivaüzenetet. Ismered a viccet, amikor az állatorvos orvoshoz megy? Az orvos megkérdezi tőle: 'Mi a panasza?' - Mire az állatorvos: 'Ja, hát így könnyű!'

Előzmény: Johny Bravo (1096)
Johny Bravo Creative Commons License 2003.01.13 0 0 1096
$mis=mysql_query("CREATE TEMPORARY TABLE new_topics SELECT * FROM $SQL_TOPIC_TABLE, $SQL_FORUM_TABLE
where $SQL_TOPIC_TABLE.forum=$SQL_FORUM_TABLE.f_id && $SQL_TOPIC_TABLE.active>0
order by $SQL_FORUM_TABLE.lastdate limit $honnan,$MCP");

$rbi=mysql_query("SELECT new_topics.*, $SQL_FORUM_TABLE.forum_name FROM new_topics, $SQL_FORUM_TABLE
WHERE new_topics.forum = $SQL_FORUM_TABLE.f_id
ORDER BY $SQL_FORUM_TABLE.f_id, lastdate DESC;");

$peti=mysql_fetch_array($rbi);

És a $petire ad egy "Supplied argument is not a valid MySQL result resource" üzenetet.

Előzmény: Bandi-T (1094)
Johny Bravo Creative Commons License 2003.01.13 0 0 1095
Megpróbáltam, szó szerint átmásoltam azt (persze a neveket kicseréltem a valódiakra), és semmi, hibaüzenet.

Arra gyanakszom, hogy nem csinálhatok temp.table-t, de lehet,hogy csak béna vagyok.

Előzmény: Bandi-T (1094)
Bandi-T Creative Commons License 2003.01.13 0 0 1094
Kedves Johnny Bravo, miért nem próbálod meg az 1083-as hozzászólásom szerint?
Johny Bravo Creative Commons License 2003.01.13 0 0 1093
Meglehet, hogy nincs is jogom temp table-t csinálni.

Akkor van megoldás?

Előzmény: Johny Bravo (1092)
Johny Bravo Creative Commons License 2003.01.13 0 0 1092
Mégsem működik... :(
Előzmény: Johny Bravo (1091)
Johny Bravo Creative Commons License 2003.01.13 0 0 1091
Egy ilyet csináltam, működni is látszik:

$robicsek=mysql_query("CREATE TEMPORARY TABLE fercsike select * from $SQL_TOPIC_TABLE, $SQL_FORUM_TABLE
where $SQL_TOPIC_TABLE.forum=$SQL_FORUM_TABLE.f_id && $SQL_TOPIC_TABLE.active>0
order by $SQL_TOPIC_TABLE.$listByT limit $honnan,$MCP");
if ($robicsek) {
$r=mysql_query("select from fercsike
where $SQL_TOPIC_TABLE.active>0
order by $SQL_FORUM_TABLE.$listByF,$SQL_TOPIC_TABLE.$listByT");
}

De nem tudom megállapítani, a fercsike (a temporary table) milyen mezőket tartalmaz, ezt hogyan tudnám megtenni? Mert anélkül nehéz benne rendezni.

Előzmény: crockl (1090)
crockl Creative Commons License 2003.01.13 0 0 1090
nemtom nem-e volna kedved a pre-t mellozni vagy enter utni idonkent;) megertjuk mi meg ha egybemaszik akkor is ;)
Amugy sql-be lehetoleg hasznalj AND szot, ne &&-et.
Amugy fogd a query-det:
$q1 = "CREATE ....";
print $q1."\n
\n";
mysql_query($q1);
es a masik-nal is, majd fogod kimasolod, es bemasolod peldaul phpmyadmin-ba es megnezed :) Amugy mysql_error(); ha hibad van, nezd meg mit ad vissza, valami sql syntax hiba lehet vagy akarmi.
Előzmény: Johny Bravo (1088)
crockl Creative Commons License 2003.01.13 0 0 1089
szerintem eloszor ismerkedjel az sql nyelv-el meg ha mysql hasznalsz is, mysql.com/doc es probalgass, tanuld meg az alap dolgokat, 2 tablat osszekapcsolni legalabb 3 modon, stb stb, ha nem megy akkor php-bol eloszor query -> ciklus -> query-k -> ciklus stb stb, ha mar megy az sql akkor lehet tudsz egyszerusiteni es 2-3 query helyett 1-2-t fogsz mar csak hasznalni.
Amugy ha van jogod create table-t mondani akkor siman $res=mysql_query("create temporary table ize select * from tabla order by oszlop limit 10");
if($res) { $res_2=mysql_query("select * from ize"); .. }

Itt egy select peldaul ami kiszedi hasonlo strukturaju 2 tablabol a legutolso egy hetes hozzaszolasokat, abbol is legfrissebb 10-et:

select m.grpid,g.grptitle,count(msgid) mcount,max(msgdate) msgdate from forum_msg m,forum_grp g where m.grpid = g.grpid and msgdate >= DATE_SUB(NOW(), INTERVAL 7 DAY) group by m.grpid order by msgdate DESC,mcount DESC limit 10

desc forum_msg;
msgid | int(9) unsigned | | PRI | NULL | auto_increment |
| grpid | int(9) unsigned | | | 0 | |
| userid | int(6) unsigned | | | 0 | |
| msgtitle | varchar(255) | YES | | NULL | |
| msgbody | text | YES | | NULL | |
| msgdate | datetime | | | 0000-00-00 00:00:00 | |
| msgvalid | enum('1','0') | 1
index van: msgid (primary key), grpid,msgdate,userid -n

desc forum_grp;
| grpid | int(9) unsigned | | PRI | NULL | auto_increment |
| grpparent | int(9) unsigned | | | 0 | |
| grptitle | varchar(255) | | | | |
| grpdata | text | YES | | NULL | |
| grpdate | datetime | | |

index van: grpid (primary key), grpparent,grpdate

Ez specialisan mysql-es query.

Előzmény: Johny Bravo (1086)
Johny Bravo Creative Commons License 2003.01.13 0 0 1088
Ilyet csináltam:


mysql_query("CREATE TEMPORARY TABLE fercsike select * from $SQL_TOPIC_TABLE, $SQL_FORUM_TABLE where $SQL_TOPIC_TABLE.forum=$SQL_FORUM_TABLE.f_id && $SQL_TOPIC_TABLE.active>0 order by $SQL_FORUM_TABLE.$listByF,$SQL_TOPIC_TABLE.$listByT limit $honnan,$MCP");
$r=mysql_query("select fercsike.*, $SQL_FORUM_TABLE.forum_name from fercsike, $SQL_FORUM_TABLE where fercsike.forum=$SQL_TOPIC_TABLE.f_id order by $SQL_FORUM_TABLE.$listByF,$SQL_TOPIC_TABLE.$listByT");

És ezt a választ kaptam rá:


Warning: Supplied argument is not a valid MySQL result resource in /var/www/bandijanos/mucsinak/trefforum2/index.php on line 160

Ahol a 160-as sor a $r-re akar hivatkozni

while ( $sor=mysql_fetch_array($r) ){
Előzmény: Bandi-T (1087)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!