Új hozzászólás Aktív témák
-
válasz
lanszelot #21756 üzenetére
Vannak bajok. Tehát neked azért nem jó, hogy a submit lefrissíti az oldalt, mert törli az összes többi form-odat. Ahelyett, hogy normálisan, ahogyan kell, egybe küldenéd az egészet. De az egyesével küldéshez meg nem érted az API-kat...
Rohadtul túlbonyolítod a kérdést és ez is azt mutatja, hogy sem a főzéshez, sem a programozáshoz nem értesz. Gondold át alaposan, lépésről lépésre, hogy mit és miért. Majd meglátod, hogy fogsz kapni egy kb max 3 táblás adatbázist.
Kezdem úgy érezni, hogy szándékosan akarod idegesíteni a Webfejlesztő topikok lakóit...
-
-
-
válasz
lanszelot #21693 üzenetére
Kommentelés előtt olvastad egyáltalán az előtted legutóbbi kommentet? Mert a leírásod alapján úgy gondolom, nem. De akkor elmagyarázom szájbarágósan, hogyan megy ez PHP-val, ha már ebben a topikban vagyunk...
1) Kell egy adatbázis.
2) Csatlakozz hozzá:<?php
$conn = new mysqli('dbName', 'userName', 'Password', 'dataBase');
?>
Azért 4 paraméteres, mert feltételezem, nem akarsz egyszerre több adatbázissal operálni.3) Fogalmazd meg, milyen lekérdezést szeretnél intézni az adatbázisod felé:
...
$sql = "SELECT `name` FROM `receptek`";
...
Látod? Ez rendes SQL, csak belerejtettük egy PHP változóba. A `` karaktereket pedig használja az SQL is névtér-megkülönböztetésre, úgyhogy ezen ne akadj fent.4) Küldd el a lekérdezésedet az adatbázisnak:
...
$result = $conn -> query($sql); // Vársz visszatérő tartalmat
if ($conn -> query($sql)) {...} // true / false visszatérő érték esetére
...Ha ezek alapján ha sem tudsz elindulni...
-
válasz
lanszelot #21686 üzenetére
Az, hogy megírtam: Ugyan úgy kell, nem azt jelenti, hogy egy az egyben natívan, hiszen PHP nyelvről beszélünk.
Először építs ki egy kapcsolatot. Utána egy változóba helyezed be a kívánt lekérdezést. Majd ezt követően elindítod az sql felé a kérésedet a változó adataival.
De ez a lépés elkerülhető, a közvetlen kérésbe is bepötyögheted, amit akarsz.Mit gondoltál? Ha leírod a PHP-nak azt, amit közölni akarsz majd az adatbázissal, akkor a PHP motorja (esetedben Apache) majd kiszopja a kisujjából, hogy pontosan mit kezdjen a string-eddel? Meg kell neki mondani
Talán nem bánnának veled enyire
magas lóról lekezelően
, ha feldolgoznád az általunk adott információk akár csak 10%-át ahelyett, hogy folyamatosan értetlenkedsz.
Lehet, mi eljutottunk arra a szintre, ahol egy ilyen projekt egy fél délelőttöt sem emésztene fel. Igen, voltunk mi is kezdők. De ha csak értetlenkedtünk volna meg panaszkodunk másoknak úgy, hogy azt már nem mondjuk el, mi a probléma, sosem jutottunk volna el oda, ahol ma tartunk.Lassíts. Dolgozd fel a kapott információkat. Kommentelj bölcsen, ne ingerből. És pontosítsd, hogy mit szeretnél / mi a problémád.
-
-
válasz
lanszelot #21665 üzenetére
USER ERROR!
Mi az, hogy PHP-vel nem lehet fájlokat létrehozni? Itt látszik meg igazán, hogy nem a programozó nyelvvel van a probléma, hanem a programozóval.
Probalunk segíteni, megmutatni a helyes irányt de neked semmi nem felel meg. Mit vársz el? Írjuk meg helyetted?! -
-
-
-
-
-
-
-
válasz
lanszelot #21590 üzenetére
Nem ez a lényeg. Ha PHP-ban gondolkodsz, a mail() beépített függvény nem követ semmilyen protokollt, nem biztonságos, az adatvonal nem titkosított, ráadásul többnyire az általa küldött üzenet a spam mappában végzi. Nem mindig, de többnyire.
Ellenben egy PHPMailer-el, ami minden protokollt betart, az adatvonal biztonságos és nem szükséges mindösszesen csak egyszer lefuttatni, függetlenül a címzettek darabszámától.
Viszont! Egyik esetben sem lesz nyoma a te email fiókodban annak, hogy köldtél egy emailt. Azonban a mail() függvény használatával még csak a saját email címedet sem kell megadni, elég annyit, hogy 'kiskacsa'. -
-
-
-
válasz
lanszelot #21561 üzenetére
Leírta és még te is kimásoltad: INC a kiterjesztés. De lehet akár 'kiskacsa' is. Lényeg az, hogyha olyan fájlt hívsz meg (persze DOCTYPE után, előtte semmi értelme), aminek kiterjesztése és tartalma is böngésző által futtatható, akkor futtatni fogja, nem szöveges fájlként meghívni.
Ha azonban mindenáron ebben a formátumban kívánod behívni, akkor include függvény helyett a file_get_contents() legyen a barátod. -
válasz
lanszelot #21549 üzenetére
A PHP által generált tartalom minden esetben oda kerül, ahol a fájlban a kiírató PHP kód lefut. Ha máshová szeretnéd helyezni, használj változót akár és a változót irasd ki ott, ahová szeretnéd, hogy kerüljön.
Továbbá ilyenkor érdemes figyelembe venni, hogy minden TAG megfelelő lezárással rendelkezzen, mert ugyan forráskódban nem, leképéskor okozhat ilyen problémákat is. -
válasz
hiperFizikus #21542 üzenetére
Nem tudtam, mi hiányzik így az ünnepekre...
-
-
-
-
válasz
Gardaai #21525 üzenetére
Részletezem:
Van egy .htaccess konfigurációs fájl, melyben vannak átirányítások.
Például aexample.hu/kereses/
valójábanexample.hu/index.php?project=kereses
.Itt ebben a kivételes esetben a 'Keresés' pont önmagára mutat, tehát a form adatai kitöltetlenek, egyedül a
method
került meghatározásra.
Ha a metódust átváltomPOST
-ra és arra vizsgálom a kódban, akkor minden a legnagyobb rendben megjelenik.Szerintem azzal lesz a gond, hogy mivel get kérés során az URL-ben kerül átadásra az adat, így a .htaccess átirányítás végett nem tudja pontosan, mit kellene tennie. Mert:
example.hu/kereses?search_now=Keresés
valójában:example.hu/index.php?project=kereses?search_now=Keresés
lenne, és ezt így talán, a dupla kérdőjel végett nem tudja értelmezni a PHP. -
-
Üdvözlet!
Most nekem akadt egy kis problémám.
Adott egy oldal, ahol egy kereső mezőt alkalmazok, a form GET metódussal dolgozik.
Van egy olyan eleme a form-nak, ahol tömböt készítek a több-opciós kiválasztásból:From részlet:
<input type='checkbox' name='status[]' value='before' id='before'>
<label for='before'>Felvéve</label>
<input type='checkbox' name='status[]' value='completed' id='completed'>
<label for='completed'>Kiadva</label>
<input type='checkbox' name='status[]' value='firstStep' id='firstStep'>
<label for='firstStep'>Javításra vár</label>
<input type='checkbox' name='status[]' value='underWork' id='underWork'>
<label for='underWork'>Javítás alatt</label>
<input type='checkbox' name='status[]' value='done' id='done'>
<label for='done'>Elkészült</label>Az URL-ben minden szépen átadásra került, már kínomban egy ilyen kiíratást is megcsináltam:
$fullUrl = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
echo $fullUrl;
// result: https://example.hu/kereses/?search_now=Keres%C3%A9s&status%5B%5D=underWork&status%5B%5D=doneA szerver oldal mégsem látja a status tömböt. Sőt, nem hogy tömböt nem lát, de egy random végigfuttatásra:
if (isset($_GET['status'])) {
if (is_array($_GET['status'])) {
echo "Első lépés";
$localStatus = $_GET['status'];
foreach ($localStatus as $key) {
echo $key . "<br>";
}
} else {
echo "'status' létezik, de nem tömb.";
}
} else {
echo "'status' nem létezik az URL-ben.";
}.. is az a válasz, hogy: 'status' nem létezik az URL-ben.
Az én olvasatomban márpedig ott van és látja, csak nem vesz róla tudomást. Van esetleg valakinek ötlete, mi lehet itt a ludas?
Köszönöm előre is!
-
-
-
-
Üdvözlet!
PHP-ben mySQL kapcsolatot hozok létre. Évek óta dolgozom vele hiba nélkül, és ami azt illeti, most sincsen hiba.
Csak éppen most vettem észre egy problémát, amit nem taglal az iskolapad.
Nézzük:$conn = @mysqli_connect(
$serverDatas['baseName'],
$serverDatas['userName'],
$serverDatas['password'],
$serverDatas['dataBase']
);
if(!$conn) {
die("Kapcsolódási probléma: " . mysqli_connect_error());
}Lehetne @ nélkül is, lényegtelen. Azt ugyanis arra használtam, hogy elkapja az esetleges PHP hibákat.
Felfedeztem azonban, hogy ez nem így van. Ha hiba történik (hibás jelszó, rossz db név, stb.), a "$conn = ..." sorban Fatal Error-t eredményez, úgyhogy az életben nem fog eljutni addig, hogy ellenőrizze: A függvény mosttrue
vagyfalse
értékkel tért vissza?Azonban amit itt leírtam, hogy ez a 'módi', így oktatják. De minek, ha semmit sem ér? Ha a program soha nem jut el addig a pontig?
Ti ismertek esetleg olyan megoldást, ami megfogja a PHP hibákat amire valaki egyszer a @-ot javasolta?
-
-
-
-
-
-
-
válasz
liksoft #21368 üzenetére
WTF? Nálad egy mezei PHP fájl át tudja lépni a 2 GB-ot? Mit raksz bele, túróspalacsintát?
A 2 GB = 2.048 MB = 2.097.152 kB = 2.147.483.648 leütött karakter = Kettőmilliárd-egyszáznegyvenhétmillió-négyszáznyolcvanháromezer-hatszáznegyvennyolc leütött karakter!
Nem áll ennyiből a Stephen King komplett munkássága (könyvek) sem...
-
-
Üdvözlet, hátha!
Van egy elég rendes ellentmondásom. És nem jövök rá a miértjére.
global $coDefinition;
ob_start();
var_dump($coDefinition);
$output = ob_get_clean();
error_log($output);
if($coDefinition != null) {
if($coDefinition === true) {
$debA[] = "success";
global $Ex_ok;
$debA[] = $Ex_ok;
$result[] = $debA;
} else if($coDefinition === false) {
$debA[] = "failed";
global $Ex_fail;
$debA[] = $Ex_fail;
$result[] = $debA;
}
}Ami fontos tudnivaló:
- Ez a kódrészlet egy függvényen belül van, ezért aglobal
jelzők a változóknál.
-$coDefinition
értékétnull
-ra azért vizsgálom, mert van, amikor ez az értéke és valahová ez kell.
-error_log()
eredménye a php.log fájlbantrue
.A probléma: Az a programrész fut le, aminek a feltétele
$coDefinition === false
.Esetleg van valakinek ötlete, hogy miért? Tehát közvetlen előtte ellenőrzöm és írom ki az értéket log-ba, majd a következő sornál már más az értéke...
Utó-tudnivaló: A függvény meghívásakor csak abban az esetben lehetne ez a változó
false
értékű, ha előtte lefut egy másik függvény is. Az viszont bizonyítottan nem történik meg. -
válasz
Gardaai #21347 üzenetére
Az, hogy a localhoston a keresés eredménye sikeres, míg a szerveren nem, azt sugallja, hogy a probléma valószínűleg nem a kódban rejlik, hanem a szerver konfigurációjában, vagy az oldalak generálásával kapcsolatos eltérések miatt van.
Egy lehetséges magyarázat az lehet, hogy a szerveren futó PHP verziója nem támogatja az összes HTML elemet és attribútumot, vagy más szerver konfigurációs beállítások vannak, amelyek befolyásolhatják a HTML megjelenítését.
Az is lehet, hogy a szerveren futó weboldalakban a "nofollow" attribútumot JavaScript kód segítségével adtad hozzá az elemekhez, amelyeket a curl lekérdezés nem fog feldolgozni.Próbáld meg ellenőrizni a PHP verzióját, amelyen a szerver fut, és győződj meg arról, hogy támogatja-e a DOMDocument és a DOMXPath osztályokat.
Vizsgáld meg a szerver logjait, hogy látsz-e bármilyen hibát vagy figyelmeztetést, és nézd meg a weboldalakat is a böngésző console-ban, hogy a "nofollow" attribútum valóban ott van-e a HTML kódban. -
Üdvözlet!
PHP-ban kívánok JSON fájlt szerkeszteni. Azt tudom, hogyan lehet olvasni, módosítani, új szekciót hozzádni, törölni, stb. De! Ezek mind egy-egy adatot jelentő műveletek. Vagyis a példa kedvéért:
[
{
"Első sor": "adat1",
"Második sor": "adat2",
"Harmadik sor:" "adat3"
}
]De mi van akkor, ha tömböket is szeretnék elmenteni?
[
{
"Első sor": "adat1",
"Második sor": "adat2",
"Harmadik sor:" ["adat3", "adat3", "adat5"]
}
]Vagy mégjobb lenne:
[
{
"Első sor": "adat1",
"Második sor": "adat2",
"Harmadik sor:" [
{
"adat3": "piros",
"adat4": true,
"adat5": 1978
}
]
}
]Ha ebben a formában lehet adatot szerkeszteni és menteni, valamint beleírni, kérlek a hogyanját osszátok meg velem. Köszönöm.
Ui.: Jelenleg használt metódus, mely az első példát képes bővíteni:
$data = file_get_contents('myFIle.json');
$json_arr = json_decode($data, true);
$json_arr[] = array('Code'=>4, 'Name'=>'Johan', 'Sports'=>'Cricket');
file_put_contents('myFile.json', json_encode($json_arr,JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES)); -
-
válasz
polymorphin #21236 üzenetére
Amikor egy framework-öt használsz, egyfelől nem feltétlen bogarászod át annak kódját, másfelől közel állsz a block-programming-hoz.
E kettőből kifolyólag pedig van esélye olyan dolgok előfordulásának, mint pl használni szeretnél egy olyan nevű változót, amit használ a framework is. Ezek pedig olykor képesek összeakadni. Lényegében erre gondoltam.
Illetve ott van még az a lehetőség is, hogy a framework és a kódod önrésze esetleg eltérő verzió szám alatt készült (pl a framework PHP5, míg a kód továbbiakban PHP7). Olykor ez is képes összeakadni. -
válasz
supercow #21234 üzenetére
Én meg tudom érteni az álláspontját.
Soha nem használtam én sem keretrendszer és igen, ha kellett, írtam egyet. Azzal szerintem nincs probléma, ha valaki úgy akarja Pure elven csinálni a dolgokat, hogy maga írja a kódot az utolsó karakterig. Így ugyanis pontosan tudni fogja, mit tartalmaz és mit nem, és ha esetleg valami kompatibilitási anomália keletkezik, érteni fogja, mi miért történik. -
válasz
hiperFizikus #21218 üzenetére
Ha küldő szervert bérelsz (előfizetsz), akkor nincs valójában kérdés. Választasz egy Domain-t, megkapod a hozzáférést és feltöltőd a fájlokat. Innentől kezdve azok kapnak egy URL-t (domain.felségjelzés/mappád/fájlod.php) amin kereszkül elérheti bárki.
Arra azonban figyelni kell, hogy nem minden tárhelybérlő állítja be a szervert automatikusan PHP kompatibilisre, vagyis ha nem fut, meg kell keresni annak beállításait.Amennyiben saját szervert szeretnél létrehozni, azt csak HOST-olni tudod. Vagyis belső hálózati szerver mintájára lehet rácsatlakozni (server\\C\ezazamappa\ezazafájl.php). Namost, ebben az esetben ugyan bárki hozzáfér a link birtokában (persze ha aktív a host), azonban csak meg tudja nyitni, esetleg szerkeszteni, de futtatni nem. Ahhoz ugyanis szükségeltetik egy PHP Local Server, amit nem is neked, hanem az adott illetőnek kell futtatnia.
Valójában nem macera megcsinálni egyiket sem. De láthatod a két végkimenetelt. Így először is el kell dönteni, mit szeretnél: Hozzáférjenek a fájlhoz, vagy futtassák azt?
Előbbi esetre alkalmas a saját szerver.A tárhelybérlés (+ domain) árai változóak, 10+ ezertől a sokáig... A saját szerverhez nem kell erőgép, hacsak nem igen-komoly látogatóbázisra számítasz. És ott ugye már az sem mindegy, milyen a neted.
-
válasz
hiperFizikus #21216 üzenetére
Ez az érthető része. De szeretnél ehhez tárhelyet bérelni és domain-t vásárolni, vagy a saját számítógépedet áldoznád be szerverként?
-
válasz
hiperFizikus #21214 üzenetére
Ez elég nagy katyvasz, így tisztázzuk. Mi a cél? 0-24-ben saját szerverről (saját gépről) sugározni a weboldaladat?
-
válasz
polymorphin #21092 üzenetére
Értem, köszönöm.
-
Sziasztok!
Szeretném azzal kezdeni, hogy NEM vagyok jártas PHP-ben, csak annyit foglalkoztam vele, amennyi kellett az éppen aktuális projekthez.
Továbbá zéró tapasztalatom van a mySQL (vagy bárminemű SQL) adatbáziskezelésről PHP-n keresztül. Viszont most kelleni fog
Annyit kitapasztaltam már, hogy ha egy gomb PHP kódot futtat (felveszi a kapcsolatot a szerverrel és módosítást hajt végre), akkor az adott oldal lefrissít (akkor is, ha nincs visszakapott érték). Ez így működik, elfogadom.
A kérdésem az lenne, hogy amennyiben egy adatbázist módosítok, avagy gombnyomásra onnan olvasok ki információt, akkor is lefrissül-e, vagy sem?Azért teszem fel a kérdést és nem lepróbálom, mert csak most kezdtem el olvasgatni a használatáról és nincs jelenleg időm próbafájlokat csinálni, viszont szeretném tudni, mire kell számítanom.
Köszönöm előre is!
-
-
-
-
válasz
sztanozs #21021 üzenetére
Értem, ez így tiszta. A forráskódban a PHP kódot valóban nem lehet elérni kliens számára láthatóan, de a JS-t igen. Namost, az első PHP kódom mikor lefuttatja a lekérdezést, az hívja be a JS-t is. Tehát: Ameddig nincs bejelentkezés a megfelelő adatokkal, addig nem látszanak a JS kódok sem. Számomra ez volt a fő lényeg.
De mindattól függetlenül amit írtál, az alap probléma fent áll és magyarázat nem született rá: Miért frissíti le magát az oldal, miután lefut a JS kód? Hiszen, mint magad is írtad, a JS kliens oldalon fut, szerver felé lekérdezés nem történik.
-
Nem kliens oldalon használom. Van először is egy admin felület, ahová be kell jelentkezni. Ez az első PHP. Ha a bejelentkezési adatok megfelelőek, akkor tölti be PHP az oldal többi részét. Ezt részben azért csináltam így, hogy belépés nélkül ne tudja senki megnézni a forráskódot, hiszen abból nekem károm is származhat.
Ezt követné pár JS művelet, melyek közül az egyikkel gond van.
Megnéztem egyébként egy friss rendszerre telepített Chrome-on (MacOS), hogy mit csinál. Ott szintén ugyan ez volt a jelenség, de valamivel lassabban futott, így telibe láttam, hogy amint lefutott a JS és visszatért az őt meghívő PHP fájlban lévő button-hoz, akkor frissíti le az oldalt az alap, bejelentkezés előtti állapotra. -
válasz
disy68 #21016 üzenetére
Oké, akkor érthetőbben:
Mikor elindul az első PHP kód, akkor a szerverről lekérdez, pontosabban include-al behív egy külső HTML fájlt, ami tartalmazza a form-ot a továbbiakhoz. Ha ebben az állapotban megpróbálom lefrissíteni az oldalt, azonnal tájékoztat, hogy elveszhetnek az eddigi adatok. Ez eddig tiszta sor. Nálam a böngésző úgy van beállítva, hogy bezárás utáni nyitáskor minden visszajöjjjön. Amennyiben viszont el volt indítva ez a PHP, akkor nem tölt be, csak manuális újratöltésre, de ekkor a már meghívott információkkal együtt.
Namost, a behívott form tartalmaz egy submit-et, ami egy fájlt módosít a szerveren. Mivel ebben a kódban nincsen benne ismételten a külső HTML meghívása, így a kód lefutása után, mikor frissül az oldal, az eredeti állapot jelenik meg. Ez történik most, a JS lefutását követően is, holott a másik JS kód után nem csinál ilyet.
Tehát de, van egy elindított folyamat (egy adott betöltött oldal, ami nem egyezik az URL-en találhatóval). És azt nem értem, hogy ha a JS csak annyit is tartalmaz, hogy
alert("kód");
, miért frissül le lefutást követően az oldal, amikor ezt csak a különálló submit gomb tehetné meg?! -
-
-
Sziasztok!
Nem tudom biztosan, hogy ide kéne ezt írjam, vagy a JS csoportba esetleg, mert mindkettőt érinti, de nem tudom, mi okozza a problémámat.
Adott egy lefutó, de félbeszakított PHP kódsor. Ez a kód, amennyiben megfelelőek a feltételek, a szerverről lekérdez adatokat, létrehozva belőlük egy form-on belüli további feltételrendszert. Ezen feltételrendszerben van egy gomb, mely szintén egy PHP kódot indít el. Az a kód a szerveren végez módosítást, majd pedig egyéb utasítás hiányában újratölti az oldalt. Mindezt azért írom le, hogy érthető legyen: Az első PHP megindítása szükséges a második futtathatóságához. És ez remekül működik.
Azonban. Van nekem ebben a létrehozott form-ban egy select menü, mely JS háttérrel rendelkezik, vagyis minden option kiválasztáskor lefut egy hozzá kötött function, ami szintén remekül működik, semmi baj vele.
És ezért nem értem azt, hogy miért csinálja a következőt:Van a form-on belül egy olyan button, mely JS háttérrel rendelkezik. Futtatásakor azonban azt vettem észre, hogy bezárja a futó PHP kódot, vagyis esetemben lefrissíti az oldalt. Ekkor rámentem manuális kijelölésre és soronkénti futtatásra, hogy láttam, mi lehet a gond.
Na így szembesültem a következővel:A háttér JS kód lefut hibátlanul. Ezt követően megnyit egy logic.js nevű fájlt, melyet az én kódom nem tartalmaz, majd azon belül lefuttat egy parancssorozatot. Annak végeztével megtörténik a PHP kód bezárása, ezzel együtt az oldal lefrissítése.
Ezt követően pedig behív egy content.js nevű fájlt, melyet a kódom szintén nem tartalmaz. Ebben is lefuttat egy kódsorozatot, majd ismételten meghívja logic.js-t, ahol ismét lefut egy kód, majd kilép.Itt hozzátenném, hogy az általam futtatni kívánt JS kód egy mezei matematika, de rakhatok be csak egy
alert();
-et is, ugyan ez a végeredmény.Mik ezek a behívott JS fájlok és miért cseszik szét a kódomat? Illetve miért csak az egyik futtatandó JS-em után jön, a másik után miért nem?
Előre is köszönöm a megfejtést!
-
Köszönöm szépen, így már működik
-
válasz
nevemfel #21003 üzenetére
Oké, így már működik, de mégsem.
Az adott szavakat egy input mezőben adom meg. Így a teljes kód:$likes = $_POST['likesinput'];
Namost, ezt hiába teszem be így:
$likes = [$_POST['likesinput']];
vagy így:$transformer = $_POST['likesinput'];
$likes = [$transformer];
nem működik.Értem a problémát, hogy tömbként kéne megadni string helyett, de erre nem találok opciót így, ebben a formában. Alapvetően így adom meg: sport cars, football, tennis, women
és ebből egy JS csinál ilyet: "sport cars", "football", "tennis", "women"
Így lesz ez likesinput értéke. Ezt kellene valahogy betenni úgy, hogy tömb legyen belőle.Vagy egyáltalán... lehetséges az, amit szeretnék?
-
-
-
-
Belebotlottam még egy problémába.
Az egyik json fájlom így néz ki:
[
{
"name": "Philip",
"age": 18,
"likes": ["sport cars", "football", "tennis", "women"]
}
]A gond ott van, hogy mikor ezt írom és adom hozzá az adatokat PHP-ben, akkor a következő lesz a végeredmény:
[
{
"name": "Philip",
"age": 18,
"likes": ["\"sport cars\", \"football\", \"tennis\", \"women\""]
}
]Érdekes, hogy nem jelzi hibásnak a kapott eredmény a fejlesztői környezet, azonban hibás. Ugyanis az első esetében működik az alábbi lekérdezés:
data[0].likes[2]
= tennis, de a másodiknál már nem.Meg lehet oldani, hogy az első példában szereplő eredményt dobja vissza?
-
-
Sziasztok!
Ezen forrás szerint írtam meg egy rutint, mely json fájlt képes szerkeszteni. A baj csak a végeredménnyel van.
Az nem érdekel, hogy kiveszi a sortöréseket, nincs enter opció és a többi.
Az viszont igen, hogy nem hajlandó UTF-8 kódolásra, így minden ékezetes karakter helyett egy kódsor lesz, másfelől az összes "/" jelet átalakítja "\/"-re.Létezik erre megoldás?
Előre is köszönöm
-
-
válasz
sztanozs #20988 üzenetére
Az tiszta sor, hogy nem fogja látni és éppen ez a lényeg.
A művelet vége az lenne, hogy ha minden adat bekerült (text & num input-ok), be van pipálva a megfelelő bepipálandó és ki van választva legördülőről a kívánt, akkor az összes beviteli eredmény szerinti kód fut le. Az a kód pedig egy (vagy több), a szerveren lévő fájlt szerkeszt. Többnyire JSON-t. Ezért is választottam a PHP-t, mint kódot.Szóval, hogy rövidre zárjuk a dolgokat: A kliens azt látja a második PHP lefutása után a Submit-et követően, hogy lefrissül az oldal. Azonban, a beküldött kódjaimat tekintve szerver oldalon végrehajtódik a művelet, igaz?
Ha igen, akkor nincs további kérdésem. Ha nem, akkor miért nem?(A végrehajtott művelet alatt értsd: Az echo helyett pl egy txt fájl szerkesztése van)
Ui.: Jelenleg nem tudom letesztelni, ezért kérdezem, hogy ha mégsem jó, akkor mire a tesztig eljutnék, legyen egy konkrétum. Köszönöm!
-
válasz
disy68 #20983 üzenetére
Értem, köszönöm a tájékoztatást. És azt hogyan tudom megcsinálni, hogy a másodiknál ne indítson a szerver felé semmit, ameddig nem fut le az adott kód?
Pl ha az első PHP kódban használok egy echo-t, akkor az megjelenik az include-olt form-al együtt. De ha a másodikba, akkor nem tudom, hogy lefut-e, mert ugye újratölti. Ha ott is működik jelenleg az echo (mint a beküldött példában), azt hol tudom így leellenőrizni? -
-
Hogy példával éljek:
Alap HTML kód:
<form method ='post'>
<input placeholder='Felhasználónév' name='user'>
<input placeholder='Jelszó' name='password' type='password'>
<input type='submit' name='signin' value='Bejelentkezés'>
</form>Első PHP:
<?php
if(isset($_POST['signin']))
{
$user = $_POST['user'];
$password = $_POST['password'];
$trueuser = "user";
$truepassword = "password";
if ($user == $trueuser && $password == $truepassword)
{
include 'code.php';
}
}
?>Code.php:
<form method="post" class="phaseone">
<select name="category" class="categoryselect">
<option <?php isset($_POST['category']) && $_POST['category'] == 0 ?> value="0">0</option>
<option <?php isset($_POST['category']) && $_POST['category'] == 1 ?> value="1">1</option>
<option <?php isset($_POST['category']) && $_POST['category'] == 2 ?> value="2">2</option>
<option <?php isset($_POST['category']) && $_POST['category'] == 3 ?> value="3">3</option>
</select>
<input type="checkbox" id="phase113" name="phase113" disabled <?php isset($_POST['phase113']) && $_POST['phase113'] ?>>
<button id="phase114" name="phase114" disabled>Közzététel</button>
</form>Második PHP:
<?php
if(isset($_POST['phase113']) && isset($_POST['phase114'])){
switch($_POST['category'])
{
case '3':
echo '3';
break;
case '2':
echo '2';
break;
case '1':
echo '1';
break;
case '0':
echo '0';
}
}
?> -
válasz
sztanozs #20977 üzenetére
Éppen ezaz. Én nem töltök vissza semmit.
Az első PHP kódnak kell behívnia és megjelenitenie azt a tartalmat, amely tartalmazza a többi gombot.
Ám a többi gomb programja lehetne annyi is, hogy console.log-ban küld egy üzenetet, de nem ez történik, hanem újratölti az oldalt.
Ha manuálisan külön veszem a két kódot, akkor az utóbbi működik. De ha előtte van az, aminek előtte kell lennie, akkor már nem. És ezt nem értem.Szerk: Az első verzióban még DIV tartalom módosítás volt, de úgy sem működött, alapból próbaként csináltam include-ot belőle.
-
Sziasztok!
Újabb kérdésem lenne, nem lelem a megfejtést.
Adott egy inputmező, ahol ha minden adat frankó, akkor egy submit gomb lefuttat POST method-al egy PHP kódot, amely behív (include) egy külső fájlt és megjeleníti. Eddig működik minden.
A behívott fájl azonban tartalmaz további opciókat és gombokat, melyek szintén egy-egy PHP kódot futtatnának. Igen ám, csak ha ott rányomok bármely gombra, akkor gyakorlatilag újratölti az oldalt kitörölve a behívott tartalmat és visszaállítva a kezdeti felületet.Ezt mi okozza?
-
Köszönöm mindkettőtöknek. Kis kiegészítés: A disabled csak benne maradt, azt ha úgy van, egy JS feloldja.
Mégegyszer köszönöm -
Sziasztok!
Segítséget szeretnék kérni, nem jön össze a dolog.
Lenne az alábbi kódom:<input type="checkbox" id="phase113" name="phase113" checked disabled>
<form id="phase119">
<select name="category" class="categoryselect">
<option value="0">Nulla</option>
<option value="1">Egy</option>
<option value="2">Kettő</option>
<option value="3">Három</option>
<option value="4">Négy</option>
</select>
</form>
<button id="phase114" name="phase114" disabled>Gomb</button>PHP-ban szeretnék egy feltételes kódot futtatni. Az lenne a cél, hogy ha a Checkbox be van pipálva és ki van választva a lenyíló menüből pl a 3-as és rányomunk a gombra, akkor fusson le a kód. Ha más van kiválasztva, akkor más fusson
Az alábbival próbáltam, de nem megy:
if(isset($_POST['phase114'])){
switch($_POST['category']){
case '3':
if(filter_has_var(INPUT_POST,'phase113')) {}
break;
case '2':
break;
case '1':
break;
case '0':
}
}Tud valaki helyes útmutatást nekem?
Előre is köszönöm -
Üdvözlet!
Kérnék egy kis segítséget, biztonságtechnikailag.
Készítettem egy egyedi beléptetőrendszert, szigorúan PHP és JS alkalmazásával. Megadom a tesztoldal linkjét, az lenne a kérésem a hozzá értőkhöz, hogy próbálják ki, feltörhető-e. Ha sikerül, akkor egy Sikeres belejentkezés alert jelenik meg.Előre is köszönöm a visszajelzéseket!
-
-
-
Sziasztok!
Nem nagyon vagyok jártas a PHP kódokban, csak annyit tudok, mint amire szükségem van
Azonban keresem a választ egy kérdésre. Ha használunk pl egy ECHO parancsot, akkor az abban a (pl) DIV-ben hajtódik végre, ahol a kód tartózkodik. Azonban, ez hozzáadás. Van-e arra mód, hogy törölje a tartalmat?
JS-ben egyszerű, elég egy valami.innerHTML = ""; parancsot alkalmazni, de ez kivitelezhető PHP-val is?Előre is köszönöm!
-
-
Köszönöm válaszaitokat!
-
Sziasztok!
Alkalmazok egy egyszerű PHP kódot, ami megnyit egy, a szerverre feltöltött txt fájlt és módosítja. Működik, hibátlan.
Csakhogy. Ha olyan url-re mutat rá, ami nem létezik (pl bent van egy mappában, de a PHP kód egy másik mappát hív be), akkor létrehozza. Az én kódom így néz ki:<?php $file=fopen("file.txt", "r");
$db2=fread($file,"1024");
fclose($file);$db2=$db2 + 1;
$fp=fopen("szamlalo.txt", "w");
fwrite($fp, $db2);fclose($fp);Ezt lehet módosítani úgy, hogy csak akkor írjon bele a fájlba, ha az létezik? Vagyis hogy ne hozzon létre újat, ha nem találja?
Előre is köszönöm!
-
-
Háromféle megoldást tudok erre.
Az elsőt írták is, mindenhová egy index.html/php és az átirányít, vagy a tárhelykiszolgáló beállításai között a fő index fájl elérését megadod, mint error page. Ugyanis ebben az esetben, ha olyan url-t probálnak megnyitni a weboldaladon, amihez nem tartozik index fájl, automatikusan átugrik. Ilyen az én weboldalam is, mindkettő megoldást alkalmazom és onnan ugyan nem látsz be a háttérbe.
Harmadik lehetőség pedig, hogy aktiválsz egy lezárást. Ebben az esetben ezt fogja visszakapni a kíváncsiskodó: -
Sziasztok!
Adott egy elméleti kérdés.
Van A) Webszerver és van B) Webszerver. A kettő független egymástól.
Tegyük fel, A) Webszerveren van egydocument.txt
fájl. Ezt a fájlt egy, az A) Webszerveren futó PHP kód módosítgatja. A kérdés az, hogy ha van B) Webszerveren is egy olyan futó PHP kódsor, melyA)Webszerver/document.txt
eléréssel rendelkezik, van-e tényleges hozzáférése ehhez a fájlhoz?Ugyanis felmerült bennem egy kérdés, miszerint ha ezen leírásra a válasz helyeslő, akkor lényegében egyetlen Webhely sincsen biztonságban...
-
Köszönöm szépen a válaszokat!
Tehát lényegében ugyan az, mint amit én használok, csak másképpen leírva
-
-
Sziasztok!
Egy nyelvi PHP fájlban találkoztam az alábbi mintát követő kódsorral:
$_['Notes'] = 'Megjegyzések';
Én korábban nem láttam még ilyet, ezt hogyan lehet használni?
-
válasz
emre33 #20828 üzenetére
Szia!
Én a domain átirányítást az alábbi módon csináltam meg annó a régi Weboldalamról az újra, egy egyszerű JS-el (a példa kedvéért 1:1-ben mutatom, tehát nem reklámozás a célom):
<!DOCTYPE html>
<html>
<head>
<script>
function myFunction() {
location.replace("https://manedvaper.hu");
}
</script>
</head>
<body onload="myFunction()">
</body>
</html>Ez volt a régi Weboldal Index fájljába. A felhasználó még csak észre sem vette, olyan gyors az átirányítás.
Konkrétan azt tudom javasolni, mint egyetlen jelenleg eszembe jutó ötlet, hogy minden régi domain alcím index fájljába ezt kell beletenni, a megfelelő helyre navigálással. -
-
-
válasz
Dr Bubo #20775 üzenetére
Köszönöm, megpróbáltom a tervemet ezzel.
Mike: Lényegében egy videóváltót akarok ezen a módon megcsinálni. Adott a környezet, fel van építve minden, és egy lenyíló form dönti el, hogy milyen URL kerüljön az adott helyre. Csak ezt JS-ben nem lehet megoldani ebben a formában, mert sok helyen van " és ' jel, amik felborítják a kódot. Ugyanis egy beágyazási Link így néz ki:
<iframe width="560" height="315" src="https://www.youtube.com/embed/vx2u5uUu3DE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
-
Sziasztok!
Segítségért fordulok hozzátok, mert megvallom, én inkább oldottam eddig meg mindent JS-el, mint PHP-val, így a PHP-s ismereteim elég karcsúak. Kokrétan az incude-ot, echo-t és apróbb txt fájlok szerkesztésén kívül nem csináltam még vele semmit, azonban most kénytelen leszek.
Adott egy Form kód, amely így néz ki:
<form id='formid'>
<select name='selectname'>
<option value='00'>Első választási lehetség</option>
<option value='01'>Második választási lehetség</option>
<option value='02'>Harmadik választási lehetség</option>
</select>
</form>Ez pedig hozzá a JS:
<script>
const DoIt = document.getElementById('formid').elements.namedItem('selectname');
DoIt.onchange = () => {
if (DoIt.value == '01') {
document.getElementById('Demo').innerHTML = 'Ez az egyes választás Demo üzenete!';
}
}
</script>Ezt szeretném átalakítani úgy, hogy PHP legyen. A PHP kódot valahogyan így képzelném el, hogy kinézzen:
const DoIt = document.getElementById('formid').elements.namedItem('selectname');
DoIt.onchange = () => {
if (DoIt.value == '01') {
$demo = 'Ez az egyes választás Demo üzenete!';
}
}Hozzá pedig az index.php-ban mindössze ennyi társulna:
<p><?php echo $demo ?></p>
Remélem érthető módon meg tudtam fogalmazni, hogy mit szeretnék. Van ötlet valakinek erre?
Előre is köszönöm!Szerk.: Nem kimondottan a példában szereplő mintát akarom felhasználni, így a Minek megoldani így, ha JS-ben is lehet? jellegű kioktatást kérlek mellőzzétek. Szükséges, hogy ez így legyen. Köszönöm
-
Ez a kép, amit kaptál, a Chrome böngésző sajátja, nem is fogod megtalálni a forráskódban. Én arra tudnék gondolni, hogy kompatibilissé tettés Edge és FireFox böngészőkkel, de Chrome-ra nem. Ez okozhat talán ilyet. Ha van esetleg lehetőséged, nézd meg Safari-n mit mutat.
-
Sziasztok!
Értetlenül állok egy sajnos egyre gyakoribb jelenség előtt.
A Weboldalamon használok két számlálót. Látogatottságot mér, az egyik az adott évre vonatkozóan, a másik összesítettet.Működése egy egyszerű PHP kód, a Webtárhelyen egy TXT fájlt olvas be, növeli egyel a számértéket és elmenti. A probléma az, hogy az utóbbi időben sajnos ez rendszeresen vagy nullázódik, vagy valami abszolút értelmetlen (de számsor) érték jelenik meg. Például 61245 az egyik nap, másnap már csak 170, vagy 11234.
Mi okozhatja ezt a problémát? Vagy megvalósítható ez a rendszer akár JS-el is? Azért csináltam annak idején PHP-val meg, mert úgy tudom, a JS nem képes fájlt olvasni, módosítani és írni. Ez így viszont roppant zavaró. Előfurdult ilyen egy-két alkalommal az elmúlt években, de az utóbbi hónapokban szinte heti rendszerességgel történik.
Előre is köszönöm a segítséget!
-
-
-
Új hozzászólás Aktív témák
Hirdetés
- Core I9 ERŐMŰ Lenovo P1 Gen2 (8mag/16 szál 32Gb DDR4 1Tb SSD 4Gb Nvidia) laptopom eladó!!!
- Új Dobozos Lenovo Yoga Slim 6i Gamer Procis Ultrabook 14" -35% i5-13500H 16/512 Iris Xe FHD+ OLED
- Új Dell Inspiron 14 5435 Ultrabook -50% 14" Bivaly AMD Ryzen 7 7730U 8Mag 16GB 512GB FHD+ IPS
- MSI Thin - 12450h, RTX 4050 és 16gb RAM + 1tb SSD
- HP ProDesk 600 G2 SFF PC, Intel 6. generációs CPU, SSD és RAM nélkül
- Apple Macbook Pro 13 2020 - M1 - 8GB/256GB SSD - Touch Bar - 102 Ciklus - 99% Akku - Ezüst - MAGYAR
- Csere-Beszámítás! Ryzen 9 9950X3D Processzor! 16Mag-32Szál!
- A Panasonic Toughbook CF-54 i5-5300u i5-6300u TN, IPS touch Budapest, MPL Foxpost
- AKCIÓ! Apple Macbook Pro 16" 2019 i9 9980HK 64GB DDR4 1TB SSD Radeon Pro 5500M garanciával
- HPE Apollo 4200 Gen9 2U rack szerver, 1x E5-2620v4, 64GB RAM, 24x3.5" 2U-ban! ÁFA-s számla, garancia
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest