Hirdetés

2024. május 3., péntek

Gyorskeresés

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)

Hozzászólások

(#21051) laracroft


laracroft
aktív tag

Sziasztok
MySQL-ből kérek le magyar nyelvű szövegeket.
Azt szeretném elérni, hogy bizonyos szavakat lekérdezés után már angolul írja ki.
Szerintetek hogyan tudnám azt elérni, hogy pl. egy dictionary fájlban felsorolnék angol-magyar szópárokat és azoknál talált egyezés esetén kicserélné a megjelenített szövegben a szavakat.

Ötleteket szeretnék kapni tőletek, hogy hogyan tudnám ezt megoldani.
Előre is köszi ;)

(#21052) pelyib válasza laracroft (#21051) üzenetére


pelyib
tag

str_replace
Én ezt íráskor csinálnám, nem olvasáskor.
Lementeni az eredetit és a módosítottat is. Ha kell újra tudod generálni.

(#21053) laracroft válasza pelyib (#21052) üzenetére


laracroft
aktív tag

Köszi ;)
Végül ezen elindulva így oldottam meg:
$ab = array('truck' => 'car','vehicle' => 'car','sedan' => 'var','coupe' => 'var','Toyota' => 'Lexus');
echo strtr($str, $ab);

[ Szerkesztve ]

(#21054) laracroft


laracroft
aktív tag

Sziasztok,
Nem éretek valamit.

select * from NAPLO where ACCOUNT='3827' and LINE='1' order by IDO DESC;
select * from NAPLO where ACCOUNT='3827' and LINE='1' order by IDO;

Az első lekérdezésnél nincsenek rekordok, a másodiknál vannak.

Itt meg mi lehet?
IDO: Datetime, ACCOUNT: INT, LINE: INT

Köszi ;)

(#21055) laracroft válasza laracroft (#21054) üzenetére


laracroft
aktív tag

Bocs nem ide akartam és egy repair megoldotta :W

(#21056) lanszelot


lanszelot
addikt

Hello,
Amit szeretnék: json file-ba adatokat bevinni.
Adott egy json file, ami így néz ki:
azaz tömben object.
ha html form -al hozzá szeretnék adni még pl youtube-ot, akkor nem hozzá adja, hanem felül írja.
Már az alapoknál gondom van, azaz üres tömbnél hozzá adnám a fenti formának megfelelőt, de 2 hiba is adódik. Google bevitel után a mail felül írja a google-t, illetve kerül bele egy "0" de nem tudom honnan. Fontos, hogy html form -al adom hozzá egyesével az üres tömbhöz /adnám, ha sikerülne/
oldal a: google, kep a: google.jpg, link a: www.google.com
oldal után keletkezik egy "0" valahonnan
/tudom, hogy JS nél push lenne, az hozzá adja nem felül írja, de php-ben nem találtam a megfelelőjét.
kód:
$array = array();    $array[] = (object) ['oldal' => $oldal, ['kep' => $kep, 'link' => $link]];

(#21057) sztanozs válasza lanszelot (#21056) üzenetére


sztanozs
veterán

Gyorsan kipróbáltam, ez adni fogja a megadott struktúrát:
$array = array();
$array[] = ["google" => ['name' => "Google", 'link' => "www.google.com"]];
$array[] = ["mail" => ['name' => "Mail", 'link' => "www.mail.com"]];

for ($x = 0; $x <= 10; $x++) {
$array[] = [ "link$x" => ['name' => "Site$x", 'link' => "www.site$x.com"]];
}
var_dump($array);

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21058) lanszelot válasza sztanozs (#21057) üzenetére


lanszelot
addikt

Először is köszönöm szépen.
Nem nagyon értem. :B
Nem éretem mit csinál a $x
Html form -al viszem be mind, input mezővel. oldal a: google, kep a: google.jpg, link a: www.google.com /oldal, kep, link/
illetve ez a formátum biztosan nem jó "www.site$x.com" hiszen nem minden oldal www , pláne nem com, és a login.xbox sem csak xbox.
Illetve a google, és a mail az jsonból van beolvasva, nem így hozom létre. És az a json lesz feülírva.

(#21059) sztanozs válasza lanszelot (#21058) üzenetére


sztanozs
veterán

Ez csak egy példa kód, ráadásul amit becsatoltál példa-json-t az nem is felel meg annak, amit szeretnél (nem azonosak az asszociatív nevek)...
Nem tudom, hogy és honnan állítódnak elő ezek a változók, szóval csak összedobtam pár sort, hogy ugyanolyan kimenetű JSON-t kap, mint ami a példában volt.
---
De bocs, én néztem el, neked ez kéne:
{
"google" => {'kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"},
"LapHu" => {'kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"}
}

Akkor itt a módosított kód:
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["mail"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];

for ($x = 0; $x <= 10; $x++) {
$array["oldal$x"] = ['kep' => "www.oldal.hu/kep/linkje/$x.png", 'link' => "www.oldal.hu"];
}
var_dump($array);

Mivel a külső tömb is asszociatív, így ha ugyanazzal a névvel akarsz felvinni egy új oldalt akkor a régit felülírja - és 13 helyett csak három tömbelem lesz:
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["mail"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];

for ($x = 0; $x <= 10; $x++) {
$array["oldal"] = ['kep' => "www.oldal.hu/kep/linkje/$x.png", 'link' => "www.oldal.hu"];
}
var_dump($array);

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21060) lanszelot válasza sztanozs (#21059) üzenetére


lanszelot
addikt

a for ciklus nem jó.
Nem is értem miért kell, és mit csinál a $x

For ciklusban lévő kód nem jó.

html form/input -ból kapja az adatokat. tehát "oldal" önmagában honnan tudná, hogy az "oldal" input micsoda.
"kep" -nél és "link" -nél sem lehet link, hisz az inputból kapja meg.
$array nem üres, azt a legelején a json -ból olvasssa ki, és ahhoz kellene hozzá fűznie, nem felülírni.

Gondolom, hogy én magyarázom bénán, csak codepen nem tud php-t. :B

(#21061) sztanozs válasza lanszelot (#21060) üzenetére


sztanozs
veterán

Oké, megpróbáltam összedobni W3-ban, de nem jó ott a callback, viszont ez alapján látnod kellene mit kell csinálni:
<!DOCTYPE HTML>
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>
<?php

// betöltés szimulálása
$array = array();
$array["google"] = ['kep' => "https://www.google.com/images/branding/googlelogo/1x/googlelogo_color_272x92dp.png", 'link' => "www.google.com"];
$array["startlap"] = ['kep' => "https://lap.hu/images/startlap-logo.png", 'link' => "www.lap.hu"];
// betöltés vége

// define variables and set to empty values
$nameErr = $kepErr = $linkErr = "";
$name = $kep = $link = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (empty($_POST["name"])) {
$nameErr = "Name is required";
} else {
$name = test_input($_POST["name"]);
// check if name only contains letters and whitespace
if (!preg_match("/^[a-zA-Z_]*$/",$name)) {
$nameErr = "Only letters and underscore allowed";
}
}

if (empty($_POST["kep"])) {
$kepErr = "Email is required";
} else {
$kep = test_input($_POST["email"]);
// check if e-mail address is well-formed
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$kep)){
$kepErr = "Invalid URL format";
$kep = "";
}
}

if (empty($_POST["link"])) {
$link = "";
} else {
$link = test_input($_POST["link"]);
// check if URL address syntax is valid (this regular expression also allows dashes in the URL)
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$link)) {
$linkErr = "Invalid URL";
$link = "";
}
}

if ($name > "" && $kep > "" && $link > "") {
$array[$name] = ['kep' => $kep, 'link' => $link];
}

}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

<h2>PHP Form Validation Example</h2>
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
Name: <input type="text" name="name" value="">
<br><br>
Kep: <input type="text" name="kep" value="">
<br><br>
Link: <input type="text" name="link" value="">
<br><br>
<input type="submit" name="submit" value="Submit">
</form>
<span class="error"><?php echo $nameErr;?></span>
<br><br>
<span class="error"><?php echo $kepErr;?></span>
<br><br>
<span class="error"><?php echo $linkErr;?></span>
<br><br>

<textarea>
<?php
var_dump($array);
?>
</textarea>
</body>
</html>

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21062) lanszelot válasza sztanozs (#21061) üzenetére


lanszelot
addikt

Bocsánat, félre értettél.
Azt próbáltam elmagyarázni miért nem jó a #21059 -es.
Azt tudom hogy lehet html form -ot változókban tárolni.
A #21059 -eshez próbáltam rámutatni, hogy az "oldal" nem kapja meg az inputot sehonnan. A "kep" nem tartalmazhat karaktert, sem a "link" mert inputból kapja.
A linket azért dobtam hogy mit értek html form/input alatt.
Amiket meg tudok találni oktató anyagokban azzal nincs gondom, mert meg keresem.
De vannak dolgok amiket sehol se találok, ha találok azok nem működnek.

Azért próbáltam leírni részletesen mit is akarok.

Tehat van egy json file. Abból php beolvassa az $array változóba az adatokat. -erre találtam oktató anyagot.
Majd html form/input ból az adatok php változókba kerülnek. - ez is tiszta.
Ezekkel a változókkal /ami jelen esetben $oldal , $kep, $link/ az $array tömbbe hozzá adja az adatokat - na erre sehol se találtam semmit. /Tömbbe, objektumot változókkal nem létrehozni, hanem hozzáadni/
Létrehozni létre tudom hozni, azzal nincs gond. Hozzá írni nem tudok, mindig felül írja azt ami $array -ben van.
Tehát se a megfelelő /tömbbe objektum változókkal/ kód -ot nem találtam sehol.
Se a tömb-höz hozzá adni, nem felülírni.
Egyiket se találtam sehol.

---nem tanultam sehol php t, nincs vele célom, nem akarok ebben dolgozni, csak szórakozás nekem. Megtanultam az alapokat, és kitalálok honlapokat, hogy így fejlődjek. Ezért nem értem, ha nem értek valamit, mert nagyon kezdő vagyok. :B van aki horgol, vagy fest, én tanulgatok ---

(#21063) lanszelot válasza sztanozs (#21061) üzenetére


lanszelot
addikt

Nagyon szépen köszönöm a választ, sikerült :)
Ez volt amit kerestem:
$array[$oldal] = ['kep' => $kep, 'link' => $link];

(#21064) sztanozs válasza lanszelot (#21063) üzenetére


sztanozs
veterán

Örülök, hogy végül összejött, őszintén szólva elveszett a lelkesedésem a második válaszod után...

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21065) Taci


Taci
addikt

Sziasztok!

Iránymutatást szeretnék kérni a következő témában:

Adott a weblapom, ami egy HTML keret (felső és oldalsó panelek, menük), amihez a szerverről érkezik az adat a content részhez, amit a kliens rak össze és jelenít meg JS segítségével. Tehát client side rendering (CSR).

Az elmúlt 2 hónap tapasztalata alapján úgy néz ki, hogy a Google ezt a fajta megoldást nagyon nem szereti, össze-vissza indexel kb. random részeket belőle, így a SEO is ugrik, nagyon rossz az egész. Valószínűleg ez a dinamikus tartalomhozzáadás az üres vázhoz nem a kedvence.

Azt a tanácsot kaptam, hogy próbálkozzak meg server side renderinggel (SSR).
Dinamikus az oldal, görgetek, jön az újabb tartalom, a lap alja közelébe érek, tölti a többit stb. Ezért azt a tanácsot kaptam, csináljam úgy, hogy legenerálom 1-2 percenként szerver oldalon az első pár megjelenítendő elemre a teljes oldalt, ami pedig görgetés után jönne, azt ezután is rakhatom dinamikusan JS-tel. Így a Google is nagyjából fix tartalmat kapna (legalábbis a content részt így már JS-töltés nélkül is láthatja és indexelheti), és megmaradna az oldal dinamikus mivolta is.

A kérdésem az lenne, hogy ez kb. hogyan néz ki működés közben?
- 1-2 percenként legenerálom szerver oldalon azt a teljes index.html-t, ami a jelen változatban a keretből, és a JS-által összerakott elemekből áll?
- És eddig csak a megjelenítendő első pár elem adatait adta vissza a szerver, ezután pedig a teljes, tartalommal feltöltött index.html kódját?

Tehát ha jól értem, a cél az kellene hogy legyen, hogy az első HTML kód ami a kliensre érkezik, abban már legyen tartalom is (a mostani üres keret + azután JS-en keresztül behúzott tartalom helyett). Jól értem?

Azért ebbe a topikba írtam, mert gondolom, a mostani index.html-t cserélnem kell index.php-ra. (De ebben nem vagyok biztos. Csak félek attól, ha ugyanígy .html-en hagyom, amiben lesz egy szkripthívás, amivel a szerver oldalon generált html tartalmat áthúzom, akkor a Google szemében az nem lesz más, mint a mostani. Hisz' igazából ugyanazt csinálja: van egy keret, és szerverről tölti fel a hiányzó részt. Csak a mostani változatban kevesebbet, az újban meg kb. mindent. Szóval ha úgy nézem, akkor még kevesebb tartalomból tudna indexelni a Google... Nem tudom... Nagyon össze vagyok most ezzel kapcsolatban zavarodva.)
De ez a .html --> .pho amúgy a Wordpress jutott az eszembe, ami szintén ha jól tudom, szerver oldalon renderel, és az is index.php-vel operál.

Nem örülök neki, hogy az eddig felépített szerkezetet kb. teljesen át kell írnom, de a Google nagyon mostohán bánik a jelenlegi szerkezettel, szóval muszáj vagyok lépni.
De amit már megcsináltam eddig, azt szeretném megtartani, tehát magát az oldalt nem szeretném új alapokra helyezni, az már készen van - csak másképp eljuttatni a kliensekre.

Ebben kérnék iránymutatást, mert nagyon nem látom, merre van az előre.
Köszönöm.

(#21066) Taci


Taci
addikt

Nem programozás, egyelőre ott még nem tartok a témában, viszont a vége az lesz, ezért ez a topik.

Ha (legrosszabb esetben) le kell mondjuk 5 percenként generálnom 30 x 50 .html oldalt szerver oldalon (ahol 1 .html 100kB méretű), ez mennyire erőforrásigényes?
Lehet "bajom" belőle (rám szól a szolgáltató, hogy ez túlságosan lehúzza szervert), vagy csak egy kis task egy átlag szervernek?
150 MB-nyi adat, azért ez nem a világ vége, viszont minden 5 percben, és mindegyik generálása külön-külön adatbázis-lekérdezésekkel is jár.
Még nem kezdtem hozzá, mert ha vakvágány, akkor keresek más utat.
Köszönöm.

(#21067) mobal válasza Taci (#21066) üzenetére


mobal
MODERÁTOR

5 percenként ez nem nagy dolog. A szolgáltató meg csak ne szóljon olyanért amiért fizetsz. :)

De érzésre a problémát rosszul közelíted meg. Oka van, hogy kell neked a statikus 150 html oldal? Nem jó futás időben akkor amikor kell?

[ Szerkesztve ]

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#21068) Taci válasza mobal (#21067) üzenetére


Taci
addikt

JS-alapon tartalmat generáló az oldal, így a tényleges tartalom csak a kliensen látható, a szerveren az index.html csak egy üres váz. A Google pedig ezt nem szereti (nem akarja indexelni), ezért kell szerverre is kvázi statikus tartalmat generálnom. És ezt valamennyire frissen tartani, ezért az 5 percenkénti ismétlődés.

\site1\category1
..
\site1\category50
..
\site30\category1
..
\site30\category50

A 30 x 50 = 1500 html oldal viszont sok, már változtattam a koncepción, "csak" 30 + 50 = 80 oldal van. És talán azt is elég csak óránként. Szóval az meg főleg nem nagy feladat már a szervernek. (És nekem is egyszerűbb.)

De érzésre a problémát rosszul közelíted meg.
Én sajnos tudom is, csak nem találok jobbat (a funkciók csorbítása nélkül), és valamit viszont csinálnom kell.

(#21069) mobal válasza Taci (#21068) üzenetére


mobal
MODERÁTOR

Ezt nem értem. Ha statikus tartalmat állítasz elő on the fly, ugyanazt akkor azt a google is megeszi. A google bot kvázi egy konzolos böngésző. Vagy valamit nem értek :D

"Ott szimatol a sarkadban vasfogait csattogtatva, minden egyes hétköznapod: kirúzsozott medvecsapda."

(#21070) Taci válasza mobal (#21069) üzenetére


Taci
addikt

Jellemzően kihagyja a dinamikus rész előállításához szükséges JS betöltését a Google, így nincs tartalom sem az általa indexelt verzióban. (Néha viszont behúzza, és szépen összerakja, de jellemzően inkább nem. Van, hogy egyik nap azt látom a Search Console-ban, hogy ott a tartalom is (nem csak a keret), másnap meg azt, hogy írja, a JS-t kihagyta, így tartalom sincs.)
Ezért kell statikus tartalom a szerver oldalra is, hogy nehezebb napjain is legyen mit indexelnie.

(#21071) Taci


Taci
addikt

Sziasztok!

.htaccess-hez ért valaki esetleg közületek?

Már egy ideje elakadtam vele, de eddig volt más amit csinálni kellett - most viszont már hátráltat, hogy nem megy.

Azt szeretném elérni, hogy
- a www.pelda.hu/site1, .../site2, .../site30
és a
www.pelda.hu/category1, .../category2, .../category50
URL-ekre a szerveren lévő tartalmat hozza be, tehát simán nyissa meg az oldalakat,
(ezzel ugye nincs teendő a fájlban, de a "feladat" talán így jobban érthető)

- viszont amikor van site és category is (ebben a sorrendben), pl.:
www.pelda.hu/site1/category1, .../site1/category50, .../site30/category50 stb.
akkor az irányítson át a főoldalra (index.html).

(Minden mást ami nem valid, futtasson 404-re.)

Csak egy olyan megoldásig sikerült eljutni, ami a .../site, illetve a .../site/category válozatokat (úgy ahogy) jól kezeli (de nem tökéletesen azokat sem - pl. ha / van az url végén (pl. www.pelda.hu/site1/), akkor azt hibásnak veszi, és 404-re dob).

DirectoryIndex index.html
RewriteEngine On
# If the request is not of the form
# "/site" or "/site/category" then stop here
RewriteRule !^[^/.]+(/[^/.]+)?$ - [L]
# Validate "site" (first path segment)
RewriteCond $1 !=site1
RewriteCond $1 !=site2
RewriteCond $1 !=site3
# etc.
RewriteCond $1 !=site30
RewriteRule ^([^/.]+) - [R=404]
# Validate "category" (second path segment)
RewriteCond $1 !=category1
RewriteCond $1 !=category2
RewriteCond $1 !=category3
# etc.
RewriteCond $1 !=category50
RewriteRule ^[^/.]+/([^/.]+)$ - [R=404]
# Front-controller
RewriteRule . index.html [L]

Ért valaki közületek annyira ehhez, hogy tudna ebben segíteni?
Köszönöm.

----------
Esetleg egy ilyen egyszerű megoldás? Még csak most leltem rá:
RewriteRule ^/?(site1|site2|site3)/(category1|category2|category3)/?$ index.html [L]

[ Szerkesztve ]

(#21072) hellsing71


hellsing71
tag

Üdv,

Hobbiból néha programozok, és előre sejtem, hogy mit fogok kapni a fejemre, de lécci segítsetek. Hogy kellene php 8.1.x procedurális kódban elkerülnöm a "Warning: Undefined variable..." hibaüzeneteket? Egy 5.x alatt írt régi weboldalt frissítek, és akkoriban ez még egy Notice volt, amit kikacsoltam, de a Warningokat nem akarom. Néztem a Google-t és a php doksit, de nem igazán segítettek. Nincs is erre php utasítás, mint az állandóknál a define, nem? Vagy a frissítés után simán kapcsoljam ki az E-ALL-t és kész?

(#21073) Taci válasza hellsing71 (#21072) üzenetére


Taci
addikt

Szia!

Ha olyan változót akarsz használni, ami nincs definiálva, és emiatt szól a PHP, akkor a megoldás az, hogy definiálod a változót.

Vagy eleve úgy építed a kódot, hogy
if (isset($valtozo) {
//...
}

És akkor ha nincs is definiálva, hibára sem fog futni (ill. warningot sem fog adni), mivel az érintett kódrész se fog lefutni.

(#21074) hellsing71 válasza Taci (#21073) üzenetére


hellsing71
tag

Bocs, biztos rövid az agyam: hogyan definiálok (procedurális) php-ban egy változót? Eddig mindig csak azt csináltam, hogy $var = "valami", de erre jön a Warning. Van a define-nak változókra vonatkozó párja (amiről sose hallottam)? OOP-ben tudom: "public int $var....", de proc-ban? Ez az egész anyag procedurális, nem állhatok neki átírtni OO-ba.

(#21075) nevemfel válasza hellsing71 (#21074) üzenetére


nevemfel
senior tag

Valami konkrét példa nem ártana, mert ez $var = "valami"; nem produkál semmiféle notice-t vagy warningot egyik php verzió alatt sem.

[ Szerkesztve ]

Forget your troubles, c'mon get happy

(#21076) hellsing71 válasza nevemfel (#21075) üzenetére


hellsing71
tag

Köszönöm, ebből rájöttem. A kód eredeti írója a már változók első deklarálásánál is ezt használta:

$var .= "valami";

Szinte mindenhol... :W Ez a php 5.x-ben csak Notice-t dob, azt meg reflexből kikapcsoltam, így nem tűnt fel. :((

(#21077) Mike válasza hellsing71 (#21074) üzenetére


Mike
veterán

nem kell külön deklarálni php-ban változót
egyszerűen elkezded használni

(#21078) bzolika10


bzolika10
aktív tag

Sziasztok!
Olyan probléma merült fel az adatbázisba való felvitel során, hogy ha input formból viszem fel a szöveget, akkor az adatbázisban mindenféle más karakterek jelennek meg az ékezetes karakterek helyén. Viszont teljesen jól működik, csak az adatbázisban látszik, hogy baj van. Ha csv-ből viszek fel adatot azt ékezethelyesen viszi fel. a php.iniben és a html-ben is utf-8-ra van állítva a kódolás, az adatbázisban utf8mb4. Mi lehet a baj?

Szerk.: Ha kiszedem a htmlentitiest, akkor jól működik. Csak hát anélkül meg...

[ Szerkesztve ]

(#21079) Taci válasza bzolika10 (#21078) üzenetére


Taci
addikt

Esetleg így?
htmlspecialchars($str, ENT_QUOTES, "UTF-8")

(#21080) Mike válasza bzolika10 (#21078) üzenetére


Mike
veterán

mivel írod be az adatbázisba?

(#21081) bzolika10 válasza Taci (#21079) üzenetére


bzolika10
aktív tag

Igazából rájöttem, hogy én voltam a hülye, mint mindig. Nincs is rá szükségem. Összekevertem a nevéhez hasonló htmlspecialcharssal, amit te is mondtál.

(#21082) RedHarlow


RedHarlow
aktív tag

Sziasztok, folyamatábrákat kellene készítenem (7db-ot) egy weboldalra, változó adatokkal. Ki hogy oldaná meg ezt? Én alapjáraton táblázatokban gondolkodtam de gondoltam megkérdezem, hogy nincs-e esetleg valami plugin erre vagy jobb megoldás?

Előre is köszönöm a segítséget!

(#21083) nevemfel válasza RedHarlow (#21082) üzenetére


nevemfel
senior tag

Biztos van PHP-ra is ilyen könyvtár, de js-ben nagyobb a választék. Pl.:

[link]

Forget your troubles, c'mon get happy

(#21084) laracroft


laracroft
aktív tag

Sziasztok
Noob vagyok, úgyhogy nézzétek el nekem ;)
Vscode-ot használok php fájlhoz. Hogy valahogy kinézzen Prettier-Code Formatter-t használok hozzá.
Ha keveredik a html kód php kóddal, akkor nagyon érdekes formátumot kezd használni.
Előtte
Utána
Erre tudtok valami megoldást, hogy ne így tegye?
Vagy mást használtok?
Előre is köszi

[ Szerkesztve ]

(#21085) Mike válasza laracroft (#21084) üzenetére


Mike
veterán

ha már midnenáron keverni akarod, akkor írd stringbe a html-t, a php-n belül
tehat $kiir_html = '<p>Blabala</p>';
de még jobb ha helyörzőket használsz

tehat $html = '<p style="{{p_style}}">Blablabla</p>';
$p_style = 'color:red';
ki_html = str_replace("{{p_style}}", $p_style, $html);

aztán ezt még lehet fokozni regex-szel, ami megkeresi az összes "{{}}" előfordulást, és a tömbben/objeltumtömbben kapott értékekkel lecseréli, stb
ezzel azt is meg tudod csinálni, hogy külső html templateket hívsz be, amikben a helyörzőket kicseréled aztán php-ban

(#21086) kuyarashi


kuyarashi
őstag

Sziasztok!

Kis segítség kellene. Egy tizenéves honlap üzenetküldő űrlapjához szeretnék hozzárendelni CAPTCHA-t.

1. lépésben bemásoltam a <title> alá a következő sorokat.
<script src="https://www.google.com/recaptcha/api.js"></script>
<script>
   function onSubmit(token) {
   document.getElementById("demo-form").submit();
   }
 </script>

A küldés gomb alapvetően így nézett ki.
<input class="sendButton" type="submit" value="Küldés">
Ezt kellene összefésülni az alábbival, de eddig nem jött össze.
<button class="g-recaptcha"
data-sitekey="reCAPTCHA_site_key"
data-callback='onSubmit'
data-action='submit'>Submit</button>

Vagy megjelenik a captcha, de nem működik a küldés gomb, vagy fordítva.
Előre is köszönöm a segítséget.

[ Szerkesztve ]

iNEO DSGN • (csillagászati maszkok, alkalmi faldekorációk, exkluzív termékek) • https://ineodsgn.hu/

(#21087) Bzozoo válasza kuyarashi (#21086) üzenetére


Bzozoo
tag

És mi a PHP - vel kapcsolatban a kérdésed? :)

(#21088) kuyarashi válasza Bzozoo (#21087) üzenetére


kuyarashi
őstag

Az, hogy aki php-ben jártas, az tud-e ebben is segíteni. :)

iNEO DSGN • (csillagászati maszkok, alkalmi faldekorációk, exkluzív termékek) • https://ineodsgn.hu/

(#21089) sztanozs válasza kuyarashi (#21088) üzenetére


sztanozs
veterán

fel kell dolgozni php-ban a választ és továbbdobni a felhasználót attól függően, hogy sikeres volt-e a captcha: [link], [link]

[ Szerkesztve ]

JOGI NYILATKOZAT: A bejegyzéseim és hozzászólásaim a személyes véleményemet tükrözik; ezek nem tekinthetők a munkáltatóm hivatalos állásfoglalásának...

(#21090) Mr. Y


Mr. Y
senior tag
LOGOUT blog

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!

[ Szerkesztve ]

But who is watching the guardians?

(#21091) kuyarashi válasza sztanozs (#21089) üzenetére


kuyarashi
őstag

Köszi, már megtaláltam a megoldást. Egyszerűen csak v2 CAPTCHA-t kellett használnom.

iNEO DSGN • (csillagászati maszkok, alkalmi faldekorációk, exkluzív termékek) • https://ineodsgn.hu/

(#21092) polymorphin válasza Mr. Y (#21090) üzenetére


polymorphin
csendes tag

Roviden: Igen

(#21093) Mr. Y válasza polymorphin (#21092) üzenetére


Mr. Y
senior tag
LOGOUT blog

Értem, köszönöm.

But who is watching the guardians?

(#21094) Mike válasza Mr. Y (#21090) üzenetére


Mike
veterán

csináld ajax hivasokkal amire a php válaszol és akkor nem forgatja az oldalt

(#21095) Atos23 válasza Mike (#21094) üzenetére


Atos23
senior tag

Halihó!

Elég hülye voltam mindig is a webprogramozáshoz, és ez így is marad, de sajnos egy öregeknek szóló villamosmérnöki levelező képzésen kitalálták, hogy weblapot kell készítenünk. :D Reggel óta próbálom megoldani ezt az elméletileg tök egyszerű feladatrészt a komplett weblapomhoz, de sajnos nem megy, pedig a stackoverflowt már rongyosra olvastam.

A feladat ezen részében egy php oldalon be kellene kérnem néhány text adatot, majd ezzel machinálnom MySQL-ben.
Sikerült is megoldanom, egészen addig tök jól működik, amíg egy darab adattal variálok, pl. az elsődleges kulcs alapján ki akarom törölni az egész rekordot.

HTML:
<form name="form" action="" method="POST">
<input type='number' name="torlesid" id="torlesid" value="">
</form>

PHP:
$torlesid = $_POST['torlesid'];
$sql = "DELETE FROM lista WHERE id = '$torlesid'";

A feladat későbbi részében már több text adatot kellene bekérnem, és ezekkel az adatokkal feltölteni a rekordot. Na itt azt gondoltam, hogy okés, akkor legyen több input, és több változó, és már készen is vagyunk. Na ekkor dőlt össze minden, mert kizárólag az első változó működik, a többi már nem.
Hogyan tudom megoldani, hogy több HTML textboxból csináljak változókat, és azokat beadjam az SQL parancsnak? Stackoverflown csak olyan példát láttam, ahol egy textbox adatait adjuk át.

Ez a nem működő próbálkozásom:

HTML:
<form name="form" action="" method="POST">
<input type="text" name="adid" id="adid" value="id">
</form>

<form name="form" action="" method="POST">
<input type='text' name="adhelyszin" id="adhelyszin" value="Helyszin">
</form>

<form name="form" action="" method="POST">
<input type='text' name="adfajta" id="adfajta" value="Fajta">
</form>

PHP:
$adid = $_POST['adid'];
$adhelyszin = $_POST['adhelyszin'];
$adfafajta = $_POST['adfajta'];

$sql = "INSERT INTO lista (id, helyszin, fajta) VALUES ('$adid', '$adhelyszin', '$adfajta'); ";

Előre is köszi minden ötletet, hogy mit ronthatok el a változók átadása terén! :R

(#21096) Mike válasza Atos23 (#21095) üzenetére


Mike
veterán

mert egy formot submitelsz, tehát abba tedd az összes inputot

(#21097) miroon válasza Atos23 (#21095) üzenetére


miroon
aktív tag

Amit Mike írt előttem, kb az a megoldás. Egy form-ba tedd az összes inputot, mert így csak a legelső formot küldi el.

<form name="form" action="" method="POST">
<input type="text" name="adid" id="adid" value="id">
<input type='text' name="adfajta" id="adfajta" value="Fajta">
<input type='text' name="adhelyszin" id="adhelyszin" value="Helyszin">
</form>

De biztos, hogy az id-t is a form-ról akarod bevinni? Nem lehet egy auto increment id?

[ Szerkesztve ]

iPhone 13 Midnight Black

(#21098) Atos23 válasza miroon (#21097) üzenetére


Atos23
senior tag

Köszi Nektek, ebédidőben kipróbálom! :R

Abban az esetben, ha a formokat gombnyomáshoz csoportosítom, és így több form csoport lesz, hogy lehet szépen megoldani? Így menni fog?

<input type="submit" name="button4"
class="button" value="Delete record" />
<label><span>Which record do you wnat to delete?</span></label>
<form name="form" action="" method="POST">
<input type='number' name="delteid" id="deleteid" value="">
</form>

<input type="submit" name="button3"
class="button" value="Add record"
<label><span>Please type the elements of new record</span>
<form name="form" action="" method="POST">
<input type="text" name="addid" id="addid" value="id">
<form name="form" action="" method="POST">
<input type='text' name="addlocation" id="addlocation" value="Location">
<form name="form" action="" method="POST">
<input type='text' name="addtype" id="addtype" value="Type">
</form>

Az id tényleg auto increment lesz, így akartam véglegesíteni.
Egyébként az ronda megoldás, hogy a törlésnél id alapján törlök?

(#21099) Atos23 válasza Atos23 (#21098) üzenetére


Atos23
senior tag

Közben meg van, a buttonok is ugyanarra a formra kerültek :R

(#21100) Mike válasza Atos23 (#21098) üzenetére


Mike
veterán

az egész úgy ahogy van nem szép, de iskolai feladatnak jó lesz :)

[ Szerkesztve ]

Útvonal

Fórumok  »  Szoftverfejlesztés  »  PHP programozás (kiemelt téma)
Copyright © 2000-2024 PROHARDVER Informatikai Kft.