Hirdetés
- Hieronymus: Új biztosítási kártyát kap a nagymama
- eBay-es kütyük kis pénzért
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Rák
- vrob: Az utolsó DOS játékok 1996 - 1997-ben, egy korszak lezárul
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Minek raksz minden sorba nyitó PHP-taget és zárót?
<?php
for ($i = 1; $i <= 24; $i++) {
if ($i == $ora[0]) {
echo "<option value=" . $i . " selected=selected>" . $i . "</option>";
} else {
echo "<option value=" . $i . ">" . $i . "</option>";
}
}Egyébként ebben nincs szintaktikai hiba, tehát máshol kell keresned a hibát.
#11379: ha megoldódott, illik közölni, mi volt a hiba oka. -
Sk8erPeter
nagyúr
Feltételezve, hogy jó, ha az aktuális év lesz az évszámnál, meg feltételezve, hogy mindig vezető 0-kkal kezdődik a dátum a 10-es számok alatt (tehát pl. hónap második napja 02, óra harmadik perce 03), ez működőképes (aztán a formátumot tetszőlegesen testreszabhatod, ez a szokásos "év-hónap-nap óra:perc:másodperc" formában lesz):
$date = DateTime::createFromFormat('d.m H:i', '28.07 17:00');
echo $date->format('Y-m-d H:i:s');KIMENET:
2012-07-28 17:00:00 -
Sk8erPeter
nagyúr
-
Sk8erPeter
nagyúr
A karakterkódolásaid mindenhol stimmeljenek, legyen a karakterkódolás konzekvens - tehát ha az a fájl, ahonnan meghívod, UTF-8 kódolású, akkor a forrásfájl is legyen az. Notepad++-szal meg tudod nézni, most ANSI-ban vagy UTF-8 kódolásúban van-e. Valamelyik legyen a kettő közül, vagy konvertáld.
Esetleg megpróbálkozhatnál az mb_strlen, mb_substr és társaival.Egyébként a content-type-nál a text/plain helyett nem text/html kéne neked? Csak hogy ne plain textként írja ki pl. a <br />-t.
-
Sk8erPeter
nagyúr
Nem egy tömbbe "szippantja", hanem sima stringbe.
Az a különbség, amit írtál, meg hogy könnyebben áttekinthető és kezelhető, plusz hogy nem soronként olvas be, hanem egyszerűen mindent berak egy stringbe, ömlesztve, azt' kész.
DE természetesen ha neked kifejezetten arra kell az fgets függvény, hogy soronként olvasd be a fájlt, akkor NEM felejtős a dolog, csak ha egyszerű fájlbeolvasás/kiíratás kell, akkor jóval könnyebb használni a file_get_contents()-t. -
Sk8erPeter
nagyúr
PazsitZ már leírta az esélyes megoldást.
Szerintem ezt a fájlbeolvasási módszert nyugodtan elfelejtheted (hacsak nincs valami különleges okod rá, hogy így használd), nyugodtan használhatod a file_get_contents()-et.
Akkor az ennyi:
$filename = 'e.txt';
$filecontent = file_get_contents($filename);
echo $filecontent;======
(#9876) Speeedfire:
"BOM-olva"
az meg milyen? -
Sk8erPeter
nagyúr
while(....){
$visitors_data['visitors']=array(
....
);
}Itt minden cikluslépésben felülírod a $visitors_data['visitors']-t.
Tehát inkább így kéne (lásd a szögletes zárójeleket):while(....){
$visitors_data['visitors'][]=array(
....
);
}Aztán a foreach-nél:
foreach($visitors_data['visitors'] as $visitor)
{
echo '<div>visitor\'s IP address: <strong>'.$visitor['ip_address'].'</strong>, date of visit: <strong>'.$visitor['visited'].'</strong></div>';
} -
rt06
veterán
igen., lehet 3 egyenlosegjel (vagy annak tagadasa lehet a !==)
annyiban kulonbozik a rovidebb parjatol, hogy itt a tipus is szamit, vagyis mig a 0 == "0" feltetel igaz, addig a 0 === "0" mar nemez a te esetedben nem igazan okozhat problemat, optt kell ra figyelni, ahol egy fgv visszaadhat 0-t, mint szamot, es false, mint logikai erteket is (ilyen pl a preg_match, ami ha nincs egyezes 0-at ad vissza, mig ha hiba tortent, akkor false-t)
-
PazsitZ
addikt
A == automatikus változó cast-olással hasonlít össze, míg a === operátor mivel nem cast-ol, szigorúan típust és tartalmat is figyelembe véve.
[link] When converting to boolean, the following values are considered FALSE:
the boolean FALSE itself
the integer 0 (zero)
the float 0.0 (zero)
the empty string, and the string "0"
an array with zero elements
an object with zero member variables (PHP 4 only)
the special type NULL (including unset variables)
SimpleXML objects created from empty tagsJelen esetben viszont a connection vagy link id.-al vagy false-al tér vissza, tehát nem okozhat gondot, mint azt előttem is írták.
-
Tele von Zsinór
őstag
Számíthat, de itt nem emiatt kaptad a fehér oldalt.
Létezik === operátor.
-
Tele von Zsinór
őstag
Error log mit mond?
Ha ez fejlesztői gép, akkor kapcsold be a php.ini-ben a hibajelzést:
- display_errors legyen On
- error_reporting legyen E_ALL | E_STRICTA leírásod alapján legvalószínűbb ok a mssql kiterjesztés hiánya, ezt a php.ini-ben tudod engedélyezni (windowson általában csak ki kell venni a pontosvesszőt az ext=php_mssql.dll sor elől).
-
Tele von Zsinór
őstag
Igen, lehet. Ha van curl modulod, azzal csináld, valahogy így.
Ha mindenképp fsockopennel akarod, akkor a fejlécek elején GET helyett POST legyen, a küldendő változókat ugyanúgy rakd össze, mint ha get lenne, lehetőség szerint http_build_query()-vel, ez a többi fejléc után egy üres elválasztva írd, és valahová a többi fejléc közé kerüljön be ennek a hossza, mint Content-Length. -
Sk8erPeter
nagyúr
Konkrétan SQLite-nál ezt írják:
"In version 1.0.x of SQLite, a database is just a directory with table files in it. In versions 2.x an 3.x, the database is a single file. Unlike other relation database systems, there is no daemon managing the database, the SQLite API interprets queries and runs them against the file(s) directly. I usually create a directory /usr/local/sqlite/var and create database directories or files there as follows. SQLite database users are equivalent to unix users. Database directory and file permissions dictate what permissions a user has on the database.
mkdir -p /usr/local/sqlite/var
chown testuser /usr/local/sqlite/var
chmod 755 /usr/local/sqlite/var
"
És a következőkben már az adatbázishoz való csatlakozást írja le. Olvasd el.Amúgy hogyhogy SQLite-ot használsz, és nem MySQL-t? Csak kíváncsiságból kérdezem.
-
Sk8erPeter
nagyúr
Ha csatlakozas a függvény neve, akkor minek hozol létre benne egy új táblát is?
Még időben szokj le arról, hogy a függvényeid mást is csináljanak, mint az eredeti feladatuk...
Ráadásul ha még nincs adatbázisod, akkor nehéz lesz nem létező adatbázisban táblát létrehozni.
Amúgy olyan fél perc guglizással lehet találni oldalakat, ahol létrehoznak adatbázist és adattáblát (azt nem tudom, mennyire jók az oldalak, és nem ismerem az SQLite-ot): [link], [link], [link], [link] -
shev7
veterán
na megegyszer talan nem ertetted mit irtam.
Mikor meghivod a php oldalt, akkor elkezdodik a feldolgozas, es a html kodot megjeleniti a bongeszod. amikor az action reszhez er NEM TORTENIK SEMMI. Az actionben megadott script akkor fog lefutni amikor megnyomod a submit gombot.
-
Sk8erPeter
nagyúr
Mi az, hogy "ha minden php blokknál meghívja a self részt"?
Az if(!isset ($_POST['tipp'])) sorral ellenőrzöd, hogy elküldték-e a formot, ha még nem (tehát még nem volt tipp), akkor a kiírandó üzenet az üdvözlés. Egyéb esetben meg már elküldték a formot, és itt ellenőrzéseket végzünk (kisebb-nagyobb-egyenlő), és ennek megfelelően állítjuk be az $uzenet változó tartalmát.
A $probalkozasok változó növelgetését is ki kellene még azért egészíteni valamivel (legalább egy feltétellel), mert nem túl szép, hogy első meghíváskor (amikor még nyilván nincs beállítva a $_POST érték) egy definiálatlan változó értékét adod át, és azt próbálod növelgetni. -
Speeedfire
félisten
tisztában vagyok vele h régi, de sajnos sok mindent nem támogatott, ezért raktam fel a régebbi verziót
az aktuális wamp:
WampServer 2.0i [07/11/09]
Includes :
- Apache 2.2.11
- MySQL 5.1.36
- PHP 5.3.0a könyvet meg barátomtól kaptam kölcsön, ő amikor vette nagyon istenítette
ezért is tanulok abból, pénz meg nincs új könyvre
neten meg kevés a magyar nyelvű részletes leírás -
Speeedfire
félisten
jelenleg wamp van fent
de manul-ba indítottam xampp alatt a szolgáltatásokat
admin voltam, beis jött a felület
elküldheted, bár nem hinném h sokra megyek vele wamp alattnekem most így néz ki az ini fájl, nem tudom h ez így jó-e
semmit nem módosítottam rajta
php.ini@php.txt -
Tele von Zsinór
őstag
-
Nem te hamisítod, hanem a feltöltésnél. A MIME-t asszem a böngésző adja meg, szóval megfelelő eszközökkel lehet akármi a MIME, mint ahogy a kiterjesztés is. var_dump()-pal nézd meg mégegyszer az xls MIME-ját mégegyszer, lehet hogy szóköz van valamelyik végén a sztringnek, vagy lehet elírtál valamit. Ki tudja...
-
1ed
csendes tag
Szia!
Ha ezt írod: "C:\xampp\htdocs\upload\" a \ nem más mint escape karakter ezért kettő kell belőle. De van ilyen konstans DIRECTORY_SEPARATOR ami mindig a megfelelő könyvtár elválasztó karaktert jelenti. Mondjuk használat nem szükséges, mert ha \ helyett simán /-t írsz akkor az is működni fog mindenféle oprendszeren, szóval érdemes inkább ezt használni.
Illetve jó hogy ha mindig relatív elérési útvonalt adsz meg a fájlokhoz (hordozhatóság) pl. így:
dirname(__FILE__).'/../upload/
Az első rész visszaadja azt a könyvtárat amiben az éppen futtatott script fájl található. A /.. azt jeleni hogy egy könyvtárral vissza (feljebb) lép. (Mondjuk az upload könyvtárat éppen a document root-on belülre szokás tenni, hogy pl a feltöltött képek elérhetők legyenek)
A Vistás jogokhoz sajnos nem értek, XP alatt a jogokkal még nem volt problémám. -
Sk8erPeter
nagyúr
Csak próbaként: működik az "upload/" könyvtár megadása NÉLKÜL? Próbáld ki, hogy azt kiszeded (persze a konkatenáló pont ('.') karakterrel együtt), hogy úgy feltölti-e.
Szerk.: ja, de most látom, hogy a temp file-od elérési helye:
C:\xampp\tmp\php121A.tmp
te pedig a
C:\xampp\htdocs könyvtárba szeretnél feltölteni.
Először is: lehet, hogy simán a xampp főkönyvtárba próbálja feltölteni, ott meg esetleg nincs upload könyvtár.
Ezt is próbáld meg. Mármint hogy a sima xampp könyvtárban hozol létre upload névvel könyvtárat. (Ezt még a fenti kiszedés előtt tedd meg.) Ki tudja, hátha valami hülye beállítás eredménye.
Egyébként nem igaz, hogy nem lehet szóköz a fájl nevében, simán töltöttem már fel csomószor szerverre ilyen fájlt. -
Sk8erPeter
nagyúr
"Submit gomb minek? Enterrel is végrehajtja az action-t."
Nem jó, ha megszokod, hogy nem használod a submit gombot, mert később, ha honlapot akarsz csinálni, akkor figyelembe kell venned, hogy a legtöbben az egerüket szeretik használni böngészés közben, és nem a billentyűzetet. Különösen igaz ez akkor, ha opciók közül kell majd választani, nem csak begépelgetni. -
fordfairlane
veterán
Különféle biztonsági okok miatt a szerver a kapott paramétereket manapság már nem globális változókba, hanem a $_GET, $_POST, $_REQUEST, $_COOKIE, $_FILES, $_SERVER ... egyéb asszociatív tömbökbe tárolja el, részletekbe nem akarok belemenni. Elég az hozzá, hogy a legtöbb webszerveren mára már ki van kapcsolva a register_globals, és a 6-os PHP-ból, a PHP következő verziójából teljesen ki fogják szedni. Már csak ezért is jobb meg sem szokni ezt a fajta programozási stílust.
-
cucka
addikt
Azért veszélyes, mert url paraméterek segítségével kezdőértéket tudok adni a szkriptedben használt változónak. Arra pedig kevesen figyelnek oda, hogy a php programban használt összes változónak adjanak kezdőértéket.
Nagyon precizen megírt, jó minőségű kóddal ki lehet küszöbölni a problémát, de azért ismerjük el, a php nem tesz túl sokat azért, hogy rákényszerítse a programozót, hogy normális kódot írjon. Az általam látott, más által írt php kódok nagy része a rettenetes gányolás kategóriába tartozik. -
cucka
addikt
De arra rájöttem ha a php.ini-ben bekapcsolom a register_globals = On akkor müxik.
Igen, de ettől függetlenül ne kapcsold be. Nagyon komoly biztonsági lyuk, gyakorlatilag nem fogsz találni olyan webszervert, ahol be lenne kapcsolva. Amúgy a php fejlesztők is rájöttek erre, a php5-ben alapból ki van kapcsolva, a php6-ban pedig be sem lehet majd kapcsolni. -
fordfairlane
veterán
Azért nem működik, mert rossz a kód. A form submitje után nem fogod megkapni $tipp változóban a "tipp" inputmező értékét, hanem jelen esetben a $_POST['tipp']-ben lesz benne. Kábé 4-5 éve már így szokás php kódban a formmezőket kezelni. Egyébként a formnak nincs submit gombja, ez meg van oldva?
-
PazsitZ
addikt
A $_POST,$_GET,... tömbök.
Tömbre pedig a string azonosító miatt hivatkozol 'névvel'.
" " macskakörmöt használva be lehet szimpla változókat rakni a string közé, amit a fordító behelyettesít.
Ha egy tömbön belül string azonosítóval való hivatkozás viszont már viszont hibát dob.
Ekkor a stringhez . -al hozzá tudod fűzni az értéket további . -al pedig folytatólagosan fűzöd az újabb string elemet.Remélem jól magyaráztam és érthető is.
-
raczger
őstag
<html>
<head>
<title>9_3 Egyszerû HTML ûrlap feldolgozása</title>
</head>
<body>
<?php
print "Üdvözlet <b>".$_GET['felhasznalo']."</b><P>\n\n";
print "A címe:<P>\n\n<b>".$_GET['$cim']."</b>";
?>
</body>
</html>Ha pedig valami hibát ad ki a program általában leírja hányadik sorban van, és pontosan mi az, próbáld majd magad javítani, azt sem árt gyakorolni
-
vancha2
aktív tag
phpDesigner 2008 - ebben talán nem kell annyit gépelni (mondjuk én még soha nem használtam
)
-
raczger
őstag
mert a html kiterjesztésű (vagy htm) fájlokat amikor értelmez a szerver, csak akkor értelmezi a fájlokban lévő php kódot, ha az jelen esetben php kiterjesztésű, de ha van saját szervered beállíthatod, hogy a .asd .fgsdg .html, vagy akármilyen kiterjesztésű fájlokat is úgy értelmezzen, mintha .php lenne
Új hozzászólás Aktív témák
- Fujifilm X
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Kerékpárosok, bringások ide!
- Gitáros topic
- Egymásra licitálnak a kiadók, hogy kihasználják a GTA VI késését
- Világ Ninjái és Kódfejtői, egyesüljetek!
- Motoros topic
- Counter-Strike: Global Offensive (CS:GO) / Counter-Strike 2 (CS2)
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- SQL kérdések
- További aktív témák...
- Bomba ár! MacBook Pro M1 14" 2021 - M1 Pro I 16GB I 512GB SSD I OS X Sequoia I Cam I Gari!
- Lenovo ThinkPad L16 Gen 1 - 16" WUXGA IPS - Ultra 5 135U - 16GB - 512GB - Win11 - 2,5 év gari
- Apple iPhone 12 Pro Max 128GB, Akku: 84%, Normál, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Bomba ár! MacBook Air M1 13" 2020 - M1 I 8GB I 256GB SSD I OS X Sequoia I Cam I Gari!
- Apple iPhone 13 Pro 256GB, Akku: 85%, Megkímélt, Kártyafüggetlen, Töltővel, 1 Év Garanciával!
- Xiaomi Redmi Note 13 256GB, Kártyafüggetlen, 1 Év Garanciával
- Lenovo ThinkCentre M720s SFF / M920T tower -Számla, garancia, WIN11
- Samsung Galaxy A05 64GB, Kártyafüggetlen, 1 Év Garanciával
- Acer Predator Helios 300 - 15,6"FHD IPS - i7-7700HQ - 8GB - 256GB SSD+1TB HDD - GTX 1060 6GB -MAGYAR
- BANKMENTES , KAMATMENTES részletfizetés ACER PREDATOR HELIOS 18
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest