- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- M0ng00se: Hardvert áruhitelre?
- Brogyi: CTEK akkumulátor töltő és másolatai
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Pajac: tpm.msc
- Steven: Sokat utazó kávéfüggők ide!
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
Új hozzászólás Aktív témák
-
cucka
addikt
válasz
8nemesis8 #3297 üzenetére
- PHP fekete könyv
- Notepad++ vagy zend 5.5 . Az újabb zend-ek már eclipse alapúak, ami nekem nagyon nem tetszik, mert nem az én munkamódszeremre vannak kitalálva. Beadandó írásához szerintem a notepad++ is bőven elég.(#3299) Blaise
Egyrészt elég drágának tűnik. Másrészt ilyen szövegektől falra tudnék mászni:Úgy gondoljuk, hogy az Olvasó ideje túl drága ahhoz, hogy új fogalmak bemagolására pazarolja, ezért a kognitív tudományok és a tanuláselmélet legújabb kutatási eredményeinek felhasználásával egy minden érzékszervre ható anyagot állított össze a szerzőpáros.
Namost a programozás az egy száraz tudomány. Van, aki képtelen arra, hogy megtanulja, az nem fogja színes ábrákkal meg egyéb parasztvakítással sem megtanulni. Szóval a leírás alapján nekem nagyon komolytalannak tűnik az egész, 9000 forintért vegyél egy szakkönyvet, ami rendes, alapos tudást ad. (Ha pedig szerinted is szárazak és uncsik a programozásról szóló szakkönyvek és képtelen vagy ilyenekből tanulni, akkor inkább hagyd az egészet a fenébe.)
-
Blaise
veterán
Sziasztok!
Ezzel a könyvvel van valakinek tapasztalata Agyhullám: PHP & MySQL ?
-
cucka
addikt
Hirtelen most erre a dologra azt tudom mondani, hogy használd az ob_start() függvényt a kérdéses fáj elején, s így akkor küldhetsz headert, amikor csak akarsz, mert pufferbe írja az adatokat elküldés helyett, amit a szkript lefutása után ürít ki, ha ez megold valamit.
Ilyet azért inkább neAmúgy meg nem értem a teljes problémát, amiről beszéltetek. Sok hosszú hozzászólás és egyszerűen nem látom bennük, hogy mi a gond.
Egy php-ban írt weboldal nagyjából a következő struktúrával rendelkezik:1. session indítás, változók beállítása, alapvető osztályok példányosítása
2. beküldött-e a felhasználó bármilyen adatot? Ha igen, akkor adatok ellenőrzése, a szükséges műveletek elvégzése.
3. minden olyan művelet elvégzése, ami ahhoz szükséges, hogy kiírjuk a html-t.
4. a html kiírása.Az 1-3 pontokban semmi nem kerül kiírásra, tehát lehet piszkálni a session-t meg átirányítani. A 4. pontban kizárólag a kiírás van, semmi más. Egyszerű, ha megnézel egy mvc-s keretrendszert, az is ugyanígy működik.
-
8nemesis8
veterán
Sziasztok!
Lehetőségem nyílik lassan egy kis szabadidőre és szeretnék közbe php-t tanulni, mert nemsokára le kell adnom benne majd egy kötprogot.
Azt szeretném kérdezni, hogy az első hszben említett PHP könyvek közül melyik a leghasználhatóbb? Mert megvan a 24órás könyv, de nem tűnik valami nagy irománynak.Illetve nektek milyen fejlesztőkörnyezet jött be?
Elsősorban eclipse-ben gondolkozom, mert javahoz azt használom és már c++hoz is. -
válasz
Sk8erPeter #3294 üzenetére
Bocs, elfelejtettem visszanézni a topikba.
Hirtelen most erre a dologra azt tudom mondani, hogy használd az ob_start() függvényt a kérdéses fáj elején, s így akkor küldhetsz headert, amikor csak akarsz, mert pufferbe írja az adatokat elküldés helyett, amit a szkript lefutása után ürít ki, ha ez megold valamit.
Mert amúgy nem értem mi nem megoldható ezen.
POST ürítésre a header('Location', $_SERVER['PHP_SELF']); cucc kell ugyebár. Amikor ezt meghívod, sessionbe is beraksz egy változót, hogy törölted a POST cuccokat, majd ezt a változót is törlöd, hogy később ne kavarjon be.
Ehh fáradt vagyok.
Illetve még annyit tudok ajánlani, hogy nézz utána az MVC-nek, ez biztos segítene a problémádon, csak idő kell hozzá...
-
Sk8erPeter
nagyúr
Ezek szerint az előző hsz. kicsit túl hosszúra sikeredett, sorry...
Igazából annyi lenne a lényeg, hogy hogyan tudom megoldani ezt a SESSION-ös trükköt úgy, hogy nem a headerbe, még a <html> cuccok megjelenése előtt szeretném kiíratni a sikeres feltöltésre utaló üzeneteket, hanem úgy, hogy rendesen megjelenjen az oldalon, menükkel, mindennel együtt.
Aztán frissítéskor viszont ne akarjon minden POST üzenetet újra elküldeni.Amielőtt még a lényeget feltölteném adatbázisba, elvégzek olyan műveleteket, mint a kép vízjelezése, felbontás kiíratása, thumbnailek készítése, és egyben megmutatása (tehát hogy megjelenik a kép több elkészített verziója is a felhasználó számára az oldalon), valamint egyéb megadott adatok kiíratása, majd ezt követően történik csak meg az adatbázisba való feltöltés.
Érdekes lenne, ha még azelőtt átirányítanám a júzert, mielőtt ezekből a feliratokból, képekből bármit is látna.
Akkor hogyan kéne megoldani szépen? -
Sk8erPeter
nagyúr
Hmm, akkor az a gáz, hogy ebben az esetben valamit nagyon át kéne írni az egész űrlapkezelésben.
Ez egyébként egy admin felület. Most egyelőre az a struktúrája a dolognak, hogy még a <html> kiírása előtt lecsekkolja, hogy az illető be van-e jelentkezve, ha igen, akkor megyünk tovább, ha nem akkor kirakja a bejelentkező formot, semmit nem is ír ki.
Elindít egy sessiont a session_start() fv.-nyel, stb...
Utána már kezdődik az oldal tényleges megjelenítése, és a középső részbe íratom ki a dolgokat, tehát már nem a headerben vagyunk, itt már nem adhatok ki header-re vonatkozó módosítgatásokat. Mindenképp ide kell jönnie a szövegnek, hogy sikeres blabla...
Itt következik a php-részben egy feltétel-ellenőrzés:1.) ha a $_POST üzenetek el vannak küldve, és minden adat megvan a megkövetelt elemek közül (kitöltötték, stb.), akkor megkísérlem feltölteni a fájlt, a megadott adatokat az adatbázisba, ha valamiért nem sikerül (pl. túl nagy a fájl), hibaüzeneteket íratok ki.
2.) ha a $_GET értékekbe elküldték már korábban (még egy form segítségével, aminél GET action van), hogy pontosan melyik elemhez is szeretnénk képet feltölteni, akkor azt megjelenítjük az adatbázisból, csak hogy látható legyen (megjelenítjük a már feltöltött adatokat, már fent lévő képet, stb.), itt jelenítjük meg azt a formot is, amivel konkrétan ki tudjuk választani a fájlt, amit feltöltünk!
3.) egyébként pedig megjelenítek egy formot (rádiógombokkal), amelyik tartalmazza a megfelelő szempontok szerinti ÖSSZES már meglévő elemet (csak egy kiskép és egy név van fent, ami utal rá, ez így a felhasználó számára egyértelmű), azok közül kiválaszthatjuk, melyikhez szeretnénk képet (és esetleg adatot) feltölteni.
Ez a struktúra így jól is van rendjén, jól is működik, a követelményeknek megfelelő, csak azt nem tudom, hogyan kellene úgy beilleszteni akkor ezt a SESSION-ös ellenőrzést úgy, hogy frissítés UTÁN ki tudjam íratni az adatokat, meg a sikerre utaló üzenetet, a headerben ez a rész NEM szerepelhet, mivel szükséges, hogy megjelenjen a fenti menü, stb...
MOST úgy csináltam meg azt, amiről beszéltünk, hogy az 1. részben miután konkrétan feltöltöttem az adatbázisba az adatokat, beteszem a $_SESSION['siker'] = true; értéket.
Aztán, ha mégis frissít a júzer, akkor van az a feltétel-ellenőrzés, hogy ez az érték true, akkor átirányít.Igazából már nem vágom, hogyan kellene akkor mégis szépen megoldani, hogy unset is legyen, átirányítás is legyen, és ne akarjon semmiféle POST adatot újból küldeni.
A jelenlegi működik, de így valóban kicsit gagyibb.
-
válasz
Sk8erPeter #3291 üzenetére
Kéne pedig használni unset-et, mert amúgy látszólag mindig azt írja ki, hogy sikeres, pedig nem is volt az. Meg még annyi, hogy fentebb írtad, hogy még megkérdezi hogy elküdje-e mégegyszer a postot. Pedig azt nagyon nem kéne neki...
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3290 üzenetére
bocs, lejárt a mod.
Ja, de végül is akkor nem is használtam az unset() függvényt, de ebben az esetben, ha átirányítás történik, akkor kell egyáltalán?
Az oldal tetején ott van a start_session(). A próba alapján nem muszáj, vagy csak épp szerencsém volt, vagy hogy is van ez? -
Sk8erPeter
nagyúr
Tökéletes!!
(nem is tudom, ez ebben a formában miért nem jutott eszembe már korábban
)
Az adatbázis feltöltése után betettem a $_SESSION['siker'] = true; sort, majd a fejlécbe, még a <html> cuccok elé betettem a header-re vonatkozó sort:if (true === $_SESSION['siker'])
header('Location: ', $_SERVER["PHP_SELF"]);és kipróbáltam, ha feltöltök, kiírja a szokásos sikeres feltöltés blabla szöveget, majd megnyomom a frissítést, a böngésző felteszi a szokásos kérdést, hogy még egyszer elküldöm-e a $_POST adatokat, és az OK-ra kattintva a kezdőoldal jön be.
Ja, és oda, ahol annak ellenőrzése zajlik, hogy megvan-e minden $_POST cucc, ami kell, betettem még azt a feltétel-ellenőrzést, hogyif ( //blabla...........
&& !isset($_SESSION['siker'])
)Nagyon köszönöm lezso6, sokat segítettél!
-
válasz
Sk8erPeter #3288 üzenetére
szerk: közbe átírtam, mert mégse jó úgy...
Nem kell a session-be tenni, hanem csak annyit csinálsz, hogyha sikeresen felvetted az adatbázisba a postolt adatokat, akkor csinálsz egy $_SESSION['siker'] = true; trükköt, majd header('Location: ', $_SERVER[''PHP_SELF'');, amivel eltűnik a $_POST, s akkor a $_SESSION['siker'] miatt kiíratod, hogy sikerült, majd unset($_SESSION['siker']). -
Sk8erPeter
nagyúr
Igaz, nem kell az egész sessiont destroy-olni, én is arra gondoltam egyébként, hogy $_SESSION['post'] vagy ehhez hasonló nevű változóba adom meg az értékeket. Ez így jó megoldás lenne?
Van egy űrlapom, ott elküldöm az értékeket, ugyanazon az oldalon fel is dolgozom őket, aztán szeretném, ha többé nem lehetne ugyanezeket az értékeket elküldeni frissítésnél.
No de akkor az konkrétan hogyan is néz ki?
$_SESSION['post'] = $_POST;
és aztán végül is mit csekkolok?(az oké, hogy aztán sikeres lefutásnál gondolom unset($_SESSION['post'])
Vagy mégis inkább pakoljam át külön php-fájlba a feldolgozást, és a form action-nél állítsam be annak az elérési útját? Igazából azért gondoltam arra, hogy ugyanazon az oldalon dolgozom fel az adatokat, hogy ha hiba van, tehát nem adtak meg minden szükséges értéket, akkor egyszerűen írja ki a form fölé a hibákat, aztán jelenítse meg ugyanúgy, a már megadott értékekkel (! hogy ne kelljen újra begépelni), ne kelljen mindig "vissza" linkekre kattogni hibánál.
Na de ha átirányítom az oldalt feldolgozás érdekében, akkor az eredeti oldalon hogy fog megjelenni a szükséges kimenet, ha a feldolgozás után ismét visszairányítás történik? -
válasz
Sk8erPeter #3285 üzenetére
Hát ez elég gány, akkor inkább a SESSION['post'] vagy valami másba adod meg, s aztán azt unsetteled, nem az egész sessiont. De minek kell ez? fentebb olvastam valami átirányítós dolgot, akkor amiatt kell? És konkrétan mit postolsz?
-
Sk8erPeter
nagyúr
áá, bocs, nem vágom, hogy sikerült pont a lényeget lehagynom róla...
Arra gondoltam, hogy nem sima változónak, hanem egy SESSION-nek adod át a POST értékeit, aztán amikor megtörtént az adatbázis feltöltése, akkor meghívod a session_destroy() függvényt.
Ez így nem jó? Vagy hogyan kéne? (Huhh, mostanra már úgy összezavartam saját magamat, hogy azt se tudom, mit is akarok kihozni ebből.)
-
válasz
Sk8erPeter #3282 üzenetére
Ezt nem értem. Miért ne lenne ugyanaz az eredménye a két példának? o.O
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3266 üzenetére
Egyébként igazából ez a böngészőfrissítős dolog azért volt érdekes, mert akkor igazán szép megoldást nehéz találni arra, hogy űrlapokat egy fájlban írassunk dolgozzunk fel, hogy a felhasználó ne küldhesse el minden egyes frissítésnél a korábban megadott adatokat. (nem is lenne biztonságos, így könnyen ki lehetne akasztani az oldalt
)
Mivel ebben az esetben a $_POST változók értékeit át kell adni egy másik változónak, és akkor azt vizsgálni:$akarmi = $_POST['valami'];
if ( !empty($akarmi) )
{ //pl. adatbázisba való feltöltés (persze kritériumok teljesülése esetén)
}
else
{ //űrlap kiíratása
}Azt viszont ebben az esetben NEM lehet csinálni, hogy:
if ( isset($_POST['valami']) ) //vagy akár !empty($_POST['valami']) is lehetne
{ //pl. adatbázisba való feltöltés (persze kritériumok teljesülése esetén)
}
else
{ //űrlap kiíratása
}Mivel akkor a $_POST-nak nyilván minden egyes böngészőfrissítésnél mindig van értéke, se nem üres (empty), se nem beállítatlan (unset).
Vagy tudtok valami elegáns megoldást az _első_ példa helyett?
-
biker
nagyúr
viccesnek vicces, de nem működött.
végül az mb_uppercase és mb_lowercase lett a haverom
így jó, csak kétszer kell kerestetni, egyszer lower, egyszer upper, hogy tutti jó legyenszerk: nem, normál tárolás van. egyszerűen az utf-8 még mindig hadilábon áll, láthatóan, és space a keresett szó előtt és után van, mármint a táblában, de a post-ban nincsen, de ott a %...% metódus rá.
Mondjuk ezzel a k.. táblával eddig csak a szívás volt.
küldenek táblát importálni. a tábla a létező összes karaktert normál úton is tartalmazza, amit a csv tagolásra és delimiterre lehet használni, tehát a szöveg bővelkedik ' " , tab, space, - _ @ # $ jelekkel is. már néha sírok... -
biker
nagyúr
válasz
PazsitZ #3269 üzenetére
namost ezt a LOWER() dolgot nem értem, nem is működik, és nem is találom a mysql manualban.
Ellenben további érdekesség, hogy a LIKE strtolower($keresett) ugyanazt produkálja, mint eddig.
vagyis hiába strtolower, a plüss szóra 0 találat, a PLÜSS szóra 84 találat, holott ugyanazt kell eredményezze. mert strtolower(PLÜSS) = plüss, szerintem legalábbis. -
biker
nagyúr
esetleg milyen paranccsal lehetne átrendezni a 15.000 sor (x 12 oszlop) tartalmát úgy, hogy az uppercase visszaálljon Xxxx formába, ahol uppercase
-
biker
nagyúr
egy teljesen idióta hibába futottam bele, csak erős idegzetűeknek, de kellene a segítség.
$osszsor = mysql_query("SELECT COUNT(*) FROM webshop_termekek WHERE inaktiv='' AND ((termek_leiras LIKE '%{$_POST['keresett']}%') OR (termek_nev LIKE '%{$_POST['keresett']}%') OR (termek_cimke LIKE '%{$_POST['keresett']}%'))");
$osszsor2 = mysql_fetch_row($osszsor);Van ez a keresés.
Két hiba van benne, és frászt kapok már tőle.1: ebben az állapotában tökéletes (majdnem)
2: ezt visszavonom, a másik hiba még él
3: a LIKE %...% is kurva érdekesen működik. ha beírom: plüss, akkor kiadja az összes ...plüss... és ...Plüss... találatot, de a PLÜSS szóra (uppercase) nem ad találatot, csak ha PLÜSS keresőszót írok be. De a PLÜSS szóra nem adja ki a Plüss szót
ez normális?
ezt a két hibát kellene kiküszöbölni.
-
Gyuri16
senior tag
ez egy beallitas a php.ini-ben. on/off lehet. ha be van kapcsolva, akkor az osszes Environment, GET, POST, Cookie, Server valtozohoz hozzafersz anelkul, hogy ki kellene ele irni hogy melyikre gondolsz. pl ha van egy index.php fajlod, es ezt meghivod igy:
index.php?id=5
akkor a kodban az $id nevu valtozoban megkapod az 5-ot
ha ki van kapcsolva akkor ugyanitt $_GET['id']-ben kapod meg az erteket.
bekapcsolasa csokkenti a biztonsagot (akarki kuldhet valtozokat a kododnak a fenti pelda szerint), igy nem ajanlott
mindig ird ki, hogy milyen valtozoval dolgozol (GET,POST)
itt reszletesen:
[link]
[link] -
koxes
tag
hello
ez micsoda: Register Globals:??
-
1ed
csendes tag
válasz
Sk8erPeter #3262 üzenetére
Helló!
POST után át kell irányítani egy másik oldalra.
form -> adatok feldolgozása (itt nincs semmilyen kimenet) -> eredmény kiírása -
Sk8erPeter
nagyúr
Hali!
Azt el lehet érni valahogy, hogy a böngészők frissítésekor a korábban már elküldött $_POST adatok ne legyenek elküldhetők még egyszer? Erre a dologra egyes böngészők (pl. Chrome, FF) fel is hívják a figyelmet, ha $_POST adatokat tárol, rákérdez, biztos el akarjuk-e küldeni megint az adatokat.
Szóval lehet úgymond törölni a böngésző "agyából" a korábban elküldött értékeket?
Vagy ez csak böngészőfüggő, annak a memóriájához ilyen módon a PHP program nem tud hozzányúlni? -
H.O.D.
senior tag
Akadt egy elég érdekes problémám.
PHP-vel töltök fel file-t távoli szerverre. A gond csak annyi, hogy a file vége "lemarad", függetlenül a mérettől. Már hülyét kapok, egyszerűen nem tudom, mi van.
-
Alex91
félisten
Konyvtarak:
/quixplorer konyvtar, amiben van az indito index.php
az index.php-ben meghivja "./.include/init.php"-t, ami most mar elindul
ott meghivna "./.config/conf.php"-t ami kiakad, ha jol ertem
/quixplorer konyvtar alatt van a .include es a .config konyvtar is
Na, most az a kerdes, ha fut a .include/init.php, akkor a benne levo ./.config/conf.php-t hol keresi? /qiuxplorer/.config/conf.php vagy a /quixplorer/.include/.config/conf.php ?
-
Alex91
félisten
Na, haladtam elore
, de itt megint gond van
Warning: main(./.config/conf.php): failed to open stream: No such file or directory in /proto/SxM_webui/quixplorer/.include/init.php on line 87 Fatal error: main(): Failed opening required './.config/conf.php' (include_path='.:/proto/SxM_webui/admin:/proto/SxM_webui/admin/inc:/proto/SxM_webui/share/config:/proto/SxM_webui/share/include:/proto/SxM_webui/help:/proto/SxM_webui/ctcs:/proto/SxM_webui/cpsync:/proto/SxM_webui/podcast') in /proto/SxM_webui/quixplorer/.include/init.php on line 87
Na, most nem talalja conf.php-t?
-
cucka
addikt
Ha jól értem, van egy linuxos géped, amire fel szeretnél rakni egy weboldalt (ez a quickexplorer nevű alkalmazás).
A hiba egészen biztosan nem a php-ben van, hanem a quickexplorer alkalmazás nem találja a filet. Meg kéne keresni, hogy hol is találhatóak pontosan a quickexplorer filejai és ott megnézni, hogy van-e .include könyvtár és azon belül a keresett file. Tehát nem az include könyvtárról van szó, hanem a .include könyvtárról és semmiképp sem a /include könyvtárról, hanem a quickexplorer mappájában találhatóról. (Valószínűleg az apache-nál beállított wwwroot mappában érdemes keresgélni, általában ez a /var/www, de persze bárhol máshol is lehet)
Mivel a hiányzó file a quickexplorer nevű program része, ezért hiába telepítesz akármilyen php-s csomagot, mert úgysem lesz benne. -
Alex91
félisten
Egy NAS, amin linux az alap. Ahogy elneztem valoszinuleg nem a nagy rendszereken megszokott konyvtar strukturaja van. Es meg lett az include konyvtar kozben, a php helyet is megadtam, de ami a Quixplorer az /include mappakra hivatkozik itt nincs.
Aztan rantottam ra megegy php-t, de ott meg semmilyen /include mappat nem hozott letre. Most ez minek a resze lehet? Esetleg kulon egy php-dev csomagban lehet?
-
cucka
addikt
A 44. sor azt jelenti, hogy az aktuálisan futtatott php szkript könyvtárában található .include/init.php-t szeretné beszedni. Gondolom linuxról van szó, ahol a .-al kezdődő könyvtárak és file-ok szoktak azok lenni, amelyeket a felhasználónak nem kell piszkálnia, tehát júzereknek szánt filekezelőkben általában ezek alapesetben nem látszanak.
(Amúgy fogalmam sincs, mi az a MyBook World, mit szeretnél rá telepíteni és így tovább..)
-
Alex91
félisten
Egy MyBook Worldre probalok feltenni egy Quixplorer-t. Sajnos php-hez nem ertek
.
A kovetkezo hibauzit kapom a bongeszoben (mar belenyultam a forrasba, enelkul meg idaig se jutott).
Warning: main(./.include/init.php): failed to open stream: No such file or directory in /proto/SxM_webui/quixplorer/index.php on line 44 Fatal error: main(): Failed opening required './.include/init.php' (include_path='.:/proto/SxM_webui/admin:/proto/SxM_webui/admin/inc:/proto/SxM_webui/share/config:/proto/SxM_webui/share/include:/proto/SxM_webui/help:/proto/SxM_webui/ctcs:/proto/SxM_webui/cpsync:/proto/SxM_webui/podcast') in /proto/SxM_webui/quixplorer/index.php on line 44
A 44. sor:
require "./.include/init.php"; // Init
Most ez az /.include konyvtar hol van? ( A MyBook-on van php, de lehet, hogy valami butitott.)
-
Tele von Zsinór
őstag
-
DviDee
csendes tag
<?php
// ez megy a megjelenítő php -be
$handle = fopen("info.txt", "rb");
$contents = '';
while (!feof($handle))
{
$contents .= fread($handle, 8192);
print nl2br($contents);
}
fclose($handle);
?>Van ez a fentebb írt kódom és azt szeretném, hogy fordított sorrendben jelenítse meg a txt tartalmát. Mi tévő legyek? Láttam több megoldást is neten, de valahogy egyik sem jön be...viszont emlékszem (de nem biztos
) van valami rövid array...
Pl ez van a txben (alap sorrendben):
Szeretem az IT café-t!
Szeretem a PROHARDVER!-t is!!!Így jelenítse meg a fentebbi szöveget a php:
Szeretem a PROHARDVER!-t is!!!
Szeretem az IT café-t! -
vamzi
senior tag
Sziasztok. Van egy nagyon egyszerű oldalunk php-ból és html-ből. Eddig az ingyenes atw.hu-t használtuk, de az 50 látogató felett összeomlott nekünk hosszú percekre(vagy tiltottak) ezért saját szerverre akarunk költözni. Ami egy ubuntu 9.04ből és xampp-ből áll. A hiba az, hogy 1-1be átmásolva atw-ről a szerverre kb 5-6 hibát eredményez. A xampp jelenleg nincs beállítva, csak fel van telepítve. Mi lehet a hiba?
-
Tele von Zsinór
őstag
válasz
pumatom #3241 üzenetére
$dir_objektum = dir("pics/");
$tomb = array();
while (false !== ($bejegyzes = $dir_objektum->read())) {
if (!is_dir($bejegyzes)) $tomb[] = $bejegyzes;
}
$dir_objektum->close();ez egy tömbbe pakolja a mappában levő fileokat, ebből kell neked egy random elemet kiválasztani.
jobb megoldás, ha adatbázisban tárolod, milyen filejaid vannak, és onnan választasz ki egy elemet, mysql esetén ez például
order by rand() limit 1
-
pumatom
aktív tag
Sziasztok!
Tudnátok segíteni egy olyan script megtalálásában, ami egy képre való kattintáskor egy másik random képet jelenít meg egy pl: pic mappából?
Gyakorlatilag ilyenre gondoltam!
Köszi a segítséget előre is!
-
1ed
csendes tag
A FILE_TEXT-re ezt írja: 'This flag is only available since PHP 6.' Szal az szerintem nem is kell. Illetve lemaradt egy ' a fájlnév után.
file_put_contents('../levelek/mails.txt', $to.$subject.$msg.$mailheaders."\n\n", FILE_APPEND);
Ez a rész: '../levelek/mail-'.date("Y-m-d-His",time()) mindig új fájlnevet generál az aktuális időből, szal ha egy fájlba akarod akkor ez nem jó.
-
DviDee
csendes tag
Köszönöm szépen mindkettőtöknek. Így már világosan értem és működik is! Első osztályú...
-
1ed
csendes tag
Akkor mondjuk:
file_put_contents('../levelek/mail-'.date("Y-m-d-His",time()), $to.$subject.$msg.$mailheaders, FILE_TEXT);
A mail ($to, $subject, $msg, $mailheaders); helyére.
Persze még ki lehet egészíteni hibaellenőrzéssel és valami random számot is lehet belerakni hogy biztos ne legyenek egyforma nevű fájlok, vagy lehet egy fájlba is menteni.http://www.php.net/manual/en/function.file-put-contents.php
http://www.php.net/manual/en/function.fwrite.php -
DviDee
csendes tag
Sziasztok! Ismét php gondom van és hozzátok fordulok mert egyszer már tudtatok segíteni, hát ebben a reményben írok most is.
Az alábbi kóddal azt szeretném elérni, hogy a beírt adatokat ne mélbe, hanem egy txt fájlba küldje:<?php
extract($_POST);
if ($op != "ds") {
$a = rand(1,9);
$b = rand(1,9);
$c=$_SESSION['c']=$a+$b;
$form_block = "
<form method=\"post\" action=\"\">
<div class=\"housing-left\">Név *</div>
<div class=\"housing-right\"> <input type=\"text\" name=\"name\" size=30 value=\"$name\"></div>
<div class=\"housing-left\">E-mail cím *</div>
<div class=\"housing-right\"> <input type=\"text\" name=\"email\" value=\"$email\"></div>
<div class=\"housing-left\">$a + $b</div>
<div class=\"housing-right\"><input type=\"text\" name=\"abc\" value=\"$abc\"></div>
<input type=\"hidden\" name=\"op\" value=\"ds\">
<input type=\"submit\" name=\"submit\" value=\"Mehet\">
</form>";
}
if ($op != "ds") echo $form_block;
if ($op == "ds") {
if ($name == "") {
$name_err = "Név hiányzik<br>";
$send="no";
}
if ($email == "") {
$email_err = "E-mail hiányzik<br>";
$send="no";
}
if($abc != $_SESSION['c']) {
$abc_err = "Rosszul adtad össze<br>";
$send="no";
}
if ($send !="no") {
$msg .="Név: $name\n";
$msg .="E-mail cím: $email\n";
$to = "a@a.a";
$subject = "teszt";
$mailheaders = "From: $name <$email>\n";
mail ($to, $subject, $msg, $mailheaders);
echo "<p>Elküldve sikeresen :)</p>";
}
else if ($send == "no") {
echo $name_err;
echo $email_err;
echo $abc_err;
echo $form_block;
}
}
?>Tudtok valami megoldást? Előre is köszi!
-
cucka
addikt
válasz
Odiepapa #3226 üzenetére
Úgy kell megoldani, hogy a webszerver ütemezője időnként elindít egy php programot, ami megcsinálja a feladatot (természetesen a php-t parancssorosan hívja). Ha ilyen kérdéseid vannak, akkor remélhetőleg nem te vagy a szerver rendszergazdája, szóval kérdezd meg nyugodtan, egy rendszergazdának ez nem számít sem túl bonyolult feladatnak, sem pedig extrém kérésnek.
-
Odiepapa
csendes tag
válasz
PazsitZ #3222 üzenetére
"A trigger is defined to activate when an INSERT, DELETE, or UPDATE statement executes for the associated table"
Nekem nem az update alkalmaval kellene eletebe leptetni a functiont, hanem minden ejszaka egyszer.
Kovetkezo a szitu, biztos hogy ismerosebb lesz a helyzet:
vannak projectjeim, amelyek "expire date"-tel vannak ellatva. Azt szeretnem elerni, hogy ha az expire date egyenlo vagy kisebb a mai datummal, akkor atbillentek egy project_active kapcsolot es deaktivalom.Gondolom hasonlo modon van megcsinalva a limitalt napra bejelentkezo tagsagi metodusa is.
A linuxos fuggvenyek szepek es jok, de nekem php-ban kellene megoldanom a feladatot.
-
válasz
Sk8erPeter #3223 üzenetére
Nem kötelező paraméter(ek) megadása:
function foo(bar=null)
{
// blah-blah
}A null helyére bármit írhatsz, az lesz az alapértelmezett értéke a paraméternek, ha nem adod meg.
Ha korlátlan számú paramétert akarsz megadni, akkor a func_get_args() függvény jöhet jól. Ez a a függvény visszaad egy tömböt, amiben a megadott paraméterek vannak. Az első paraméter 0-s indexű, a második 1-es, stb. A func_num_args() függvénnyel a megadott paraméterek számát tudod lekérni. Illetve van még a func_get_arg($index) függvény, amivel az ($index + 1)-dik paramétert tudod elérni.
-
Sk8erPeter
nagyúr
Hali!
Csak egy rövid kérdés:
a függvénydefinícióban hogyan tudok megadni "nem kötelező" paramétert?
Ugyanúgy, ahogy a round() vagy az imagefilter() vagy ezernyi más függvénynél azok közül, melyek a PHP alapfüggvényeinek számítanak.
Megadhatok saját függvényt is hasonlóan nem kötelező paraméterekkel?Tehát egy függvényt pl. meg lehet hívni úgy is, hogy
valami(1,2);
és úgy is, hogy valami(1,2,3,4); (Amennyiben van több, mint pl. 2 paraméter, akkor használjuk fel azokat is, de egyébként nem muszáj.) -
Odiepapa
csendes tag
Sziasztok,
szeretnek futtatni egy functiont minden reggel hajnali 2-kor. Hogyan tudnam a legegyszerubben megoldani? (az a valasz nem fer bele, hogy minden hajnalban a gep mellett uljek) A function neve mondjuk: function wakeup()
Elore is koszi az otleteket,
udv,
Odiepapa -
DArchAngel
tag
-
cucka
addikt
válasz
raczger #3215 üzenetére
Egyrész a php interpretált nyelv, tehát nincs olyan, hogy php fordító. (Ez nem igaz, mert létezik php fordító mint fizetős 3rd party termék, de nem nagyon használja senki)
Másrészt pont a php nyelv lazasága miatt kell nagyon észnél lenni és minden részletre odafigyelni, már amennyiben szeretnél jó kódot írni. -
rebugra
aktív tag
Sziasztok. Könnyen kezelhető webshop rendszert keresek, ahova könnyű terméket feltenni, módosítani levenni, van valami egyszerű megoldás? (akár Joomla, Drupal, e107-be?)
-
akopacsi
csendes tag
Ez nem technikai kérdés lesz, csak egy késő esti morgolódás. Elég sokféle programozási nyelvet kipróbáltam már, de eddig először a PHP-nél érzem úgy, hogy "szedett-vedett" a kódom. Ti nem éreztek ilyesmit?
-
Sk8erPeter
nagyúr
válasz
maLakai #3212 üzenetére
Hmm, hát nem tudom, hogy gyakoribb-e, de adott esetben felesleges. Én most végül megoldottam a vendégkönyvet úgy, hogy ugyanazon az oldalon dolgozom fel az adatokat, nem adok meg az actionnek címet, így volt a legegyszerűbb, és PazsitZ által mutatott módon random számokat generálok, és sessiontömbben tárolom a randomösszeget, így frissítésnél már más lesz az összeadandó eredmény, tehát nem küldi el még egyszer ugyanazt a hsz.-t, ha frissítgetek F5-tel. Működik, és kényelmes megoldás.
-
maLakai
csendes tag
válasz
Sk8erPeter #3198 üzenetére
Másik fileban feldolgozás szerintem gyakoribb (amit ugye a felhasználó nem igazán lát).
Inkább akkor látni, hogy az action ugyanoda mutat, ha a kiinduló oldal kimondottan az üzenet írására/küldésére szolgál csak. De szerintem manapság már ezesetben sem a legkedveltebb.Szerk: Persze átfogó felmérést nem tettem... Végeredményében, ami kényelmes, ha máshogy megoldod az is ugyanolyan jó. ^_^
-
Sh4rKy
senior tag
szevasztok
szeretnék tanácsot kérni tőletek, hogy milyen ingyenes tartalomkezelőt ajánlanátok nekem (joomla, php-nuke, stb...) amivel létretudnék hozni egy komolyabb portált...
régen használtam joomlát és php-nuke-ot, de előbbivel nagyon sokat szívtam, az utóbbi jó volt, de azt vagy 4-5 éve nem használtam így nem tudom, hogy "hol tart jelenleg..."
az elképzelés amiknek meg kellene felelnie..:
- gyors, akár több 100 user esetén is
- olyan plugin(ok)/modul(ok) amivel a userek tudnak feltölteni saját maguknak ezt-azt (videó, képek, mp3-ak)
- webshop
- minden user oldalára lehet írni nyilvános kommentet és privát üzeneteket is lehet könnyedén váltaniehhez mit ajánlanátok, amivel nem szívnék túl sokat, bár tudom, hogy rohadt nagy fába akarom vágni a fejszémet ismételten
remélem érthetően írtam le mindent
segítségeket meg előre is köszönöm -
cucka
addikt
válasz
Sk8erPeter #3206 üzenetére
A $_SERVER['PHP_SELF'] használatával óvatos lennék. Tegyük fel, hogy mod_rewrite-ot használsz.
Például a valami.hu/cikkek/elso_cikk url-ből csinálsz olyat, hogy valami.hu/show.php?cikk_id=123 . Ekkor a PHP_SELF-ben nem a böngésző fejlécében látható url lesz, hanem az, amire a mod_rewrite lecserélte. Ez akkor gond, ha az adott url a mod_rewrite miatt nem hívható meg direktben.A html formok amúgy úgy működnek, hogy ha nem állítod be az action paramétert, akkor alapértelmezés szerint saját magára fog átirányítani, tehát jelen esetben az egészet meg lehet spórolni.
-
raczger
őstag
Nem inkább ilyenre gondolsz?
<form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>?go=y">
ide jön a formod</form>
<?php
if ( $_GET['go']=="y" )
{ //ide jön a feldolgozás, vagy a ciklus vagy akármi, és ez csak akkor jelenik meg, ha már elkülde a juzer az űrlapot }
?> -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3205 üzenetére
Hoppá, lejárt a limit, kissé gyorsan írtam, véletlenül szóközt raktam az alsóvonás helyett, sorry, nem tudom, hogy sikerült, tehát a formnál a helyes action:
action=\"'.$_SERVER['PHP_SELF'].'\"
-
Sk8erPeter
nagyúr
Azt a formot, amit korábban kiírattál, eltárolod akár egy változóba is, vagy csak simán kiíratod (vagy akár függvényt is írhatsz az űrlap elkészítésére, és akkor még a korábban megadott adatokat újból beteheted a formba), és a form-nál a PHP_SELF-fel babrálsz, pl.:
//első legyen a program eredményeinek kiíratása előtt (!) az alábbi (csak példaként szolgáló) form-megjelenítés:
$form = '<form enctype=\"multipart/form-data\" action=\"'.$ SERVER['PHP SELF'].'\" method=\"POST\"><input name=\"valami\" type=\"text\" /><input type=\"submit\" value=\"Mehet\" /></form>';
if ( empty($_POST['valami']) )
{
echo $form;
}
else
{
echo $form;
//aztán ide jöhetnek a kiszámolt eredmények...
}Persze ez csak egy gyors, leegyszerűsített verzió, többféle megoldás is van, ez csak az egyik. Nem tudom, ezzel jutottál-e előrébb, ha nem, akkor konkretizáld a kérdést. Ha igen, akkor öröm és bódottá'.
-
dany27
őstag
hali
egy olyan kérdés hogy azt hogy tudom megcsinálni hogy adott egy form amit miután kitölt a juzer akkor lefut egy feldolgozó script és kiszámol egyet s mást de ez most nem fontos.
Az érdekelne hog hogyan tudom azt megcsinálni hogy az eredményt ne új oldalon hanem ugyan azon az oldalon csak a form alatt írja ki??
Valami várakozó parancs esetleg ami addig ami várakozik egy bizonyos dologig majd ez után lefuthat már az utánna lévő ciklus?? (ez lehet hülyeség, bocs, csak mondom hátha!!)UI: bocs a láma illetve buta kérdésekért nem rég kezdtem PHPzni!
Előre is köszi!
-
sonar
addikt
Ez a könyv jobb, mint a PHP4 24? [link]
Azonkivűl, hogy már a PHP5-öt tanitja? -
meone
tag
válasz
Sk8erPeter #3200 üzenetére
Nagyon szépen köszönöm.
Új hozzászólás Aktív témák
Hirdetés
- Lenovo ThinkPad T14 3 Gen 16/256GB SSD, Újszerű, 1 Év Garanciával
- Xiaomi 15 Ultra 512GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Odyssey OLED G8! 32"/4k/240hz/0,03ms/10BIT/Freesync-G-sync/HDMI 2.1/Smart Monitor
- Új 512GB WD SN5000S Gen4 x4/ Steam Deck ready/ garancia/ ingyen fox
- i7 8700/ RX6500/ 32GB DDR4/ 512GB m.2/ garancia/ ingyen foxpost
- Amazon Kindle 10th Generation ébresztős tok
- Csere-Beszámítás! Asus Prime RTX 5060Ti 16GB GDDR7 Videokártya! Bemutató darab!
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070 GAMER PC termékbeszámítással
- AKCIÓ! Csere-Beszámítás! Manli RTX 3070Ti 8GB GDDR6X Videokártya!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest