- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Gurulunk, WAZE?!
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- zebra_hun: Hűthető e kulturáltan a Raptor Lake léghűtővel a kánikulában?
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- user2: Kia Ceed Gold 160 1.5 T-GDI MY2024
- Mr Dini: Mindent a StreamSharkról!
Új hozzászólás Aktív témák
-
-
cidalain
veterán
válasz
zmb668 #19298 üzenetére
De ha t itt is az van irva hogy kotelezo
The action and formaction content attributes, if specified, must have a value that is a valid non-empty URL potentially surrounded by spaces.
Ha meg van adva, akkor muszaj erteket adni neki, ami egy nem ures ervenyes URL, es nem lehet benne space sem.
A kovi bekezdesben arrol van szo,hogy az action element egy submit button elementje, es ez esetleg ugyanaz mint az o owner formjanak, na akkor uresen lehet hagyni.
-
zmb668
újonc
válasz
cidalain #19297 üzenetére
A html ajánlás ezt írja:
"4.10.18.6. Form submission
The attributes for form submission that may be specified on form elements are action, enctype, method, novalidate, and target.
The action and formaction content attributes, if specified, must have a value that is a valid non-empty URL potentially surrounded by spaces.
The action of an element is the value of the element’s formaction attribute, if the element is a Submit Button and has such an attribute, or the value of its form owner’s action attribute, if it has one, or else the empty string."
Félre ne érts, nem kötözködni akarok. Kíváncsiságból megnéztem, hogy az ajánlás mit mond, és az idézett szövegek alapján nem kötelező.
-
cidalain
veterán
válasz
Boryszka #19296 üzenetére
Akkor sem hagyhatod uresen, nem szabvanyos. Lehet hogy ez egy hanyagul konfiguralt home szerveren elmegy, de normal esetben nem jo.
Ha a fajlod akarmi.php, akkor ird bele nyugodtan ugyanazt az action-hoz
En pl a $_SERVER[PHP_SELF]-et szoktam hasznalni, ami ugye az aktualisan futo fajlnevet adja vissza relativ eleresi uttal. De mivel ez php valtozo, igy html kodba (pl nalad ez a resz html kod) kozvetlenul nem irhato, csak <? ?> koze.
Kicsit tovabbnezve a kodot, jotanacsok.
Elsonek kapcsolodsz az adatbazishoz, majd vizsgalod, hogy adott e meg felhasznalot, jelszot. Eloszor ezeket vizsgalnam, ha itt nem oke, akkor felesleges kapcsolodni a bazishoz.$username = $_POST['username'];
$password = $_POST['password'];
if ($username and $password) {
Itt az if mindig tovabbmegy true-val szerintem
igy kellene $username=="" and $password==""if ($db = mysqli_select_db($con, 'test'))
{
echo "Sikeres kapcsolódás az adatbázishoz!";
}
else echo "Minden mező kitöltése kötelező!
Itt az else agnal megjeleno szovegnek koze sincs a feltetelhez. Ha else aghoz jut itt, akkor a "nem sikerult az adatbazishoz csatlakozni" szoveg kell. -
cidalain
veterán
válasz
Boryszka #19294 üzenetére
<form action = "" method = "POST">
Action = semmi.
Mit csináljon, a submitra? Post fejreszben továbbítsa az adatokat a hova? Sehova. Mert nincs megadva.oda az aktuális fájl nevét kellene megadni.
Illetve ez a fájl php kiterjesztésű ugye? Nem html, mert úgy nem jo eleve. -
Boryszka
tag
Sziasztok!
Segítségeteket szeretném kérni, hogy az alábbi php miért nem fut le a honlapomon? Nethely.hu-n van tárhelyem és annyit ír ki ha rámegyek a Submit gombra, hogy nem biztonságos kapcsolat. De a php-ban lévő kód közül semmi nem jelenik meg! Mi lehet a hiba? Köszi a segítséget előre is!
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2 ">
<html>
<head>
<title>Bejelentkezés</title>
<style type = "text/css">
body {
font-family:Arial, Helvetica, sans-serif;
font-size:14px;
}
label {
font-weight:bold;
width:100px;
font-size:14px;
}
.box {
border:#666666 solid 2px;
}
</style>
</head>
<body bgcolor = "#FFFFFF">
<div align = "center">
<div style = "width:300px; border: solid 1px #333333; " align = "left">
<div style = "background-color:#333333; color:#FFFFFF; padding:3px;"><b>Bejelentkezés</b></div>
<div style = "margin:30px">
<form action = "" method = "POST">
<label>UserName :</label><input type = "text" name = "username" class = "box"/><br /><br />
<label>Password :</label><input type = "password" name = "password" class = "box" /><br/><br />
<input type = "submit" value = " Submit "/><br />
</form>
<div style = "font-size:11px; color:#cc0000; margin-top:10px"></div>
</div>
</div>
</div>
<?php
if ($con = mysqli_connect("localhost","","")){
echo "Sikeres kapcsolódás a kiszolgálóhoz!";
}
else
{
die(mysqli_error($con));
}
if ($db = mysqli_select_db($con, 'test'))
{
echo "Sikeres kapcsolódás az adatbázishoz!";
}
else echo "Minden mező kitöltése kötelező!";
$username = $_POST['username'];
$password = $_POST['password'];
if ($username and $password) {
$result = mysqli_query($con, "SELECT * FROM login WHERE username='$username' and password='$password'");
$rows = mysqli_num_rows($result);
//printf("Select returned %d rows.\n", mysqli_num_rows($result));
if ($rows == 1) {
echo "Sikeres belépés!";
}
else echo "Hibás felhasználónév vagy jelszó!";
}
else echo "Minden mező kitöltése kötelező!";
?>
</body>
</html> -
ben800
aktív tag
-
ben800
aktív tag
Sziasztok, még új vagyok php-ban, és lenne egy picit számomra komplikátabb kérdés.
Lenne egy mysql adatbázis amely folyamatosan töltődik fel értékekkel.(termékekre adott %-os kedvezmény), és ehhez csinálok most egy úgynevezett stat oldal kimutatást php-ban smarty segítségével.A stat oldal létrehozásáig eljutottam, valamint odáig is hogy smartyban dinamikusan változik a a header a % szerint.
Itt lekérem a %-okat a headerhez, és átadom egy tömbnek.
public static function getPercentage($from, $to)
{
$percentageArray = array();
if(Validate::isDate($from) && Validate::isDate($to) && ($from <= $to))
{
$query=
'
SELECT
DISTINCT(percentage)
FROM
`'._DB_PREFIX_.self::$tableStatic.'`
WHERE
`date` BETWEEN "'.pSQL($from).'" AND "'.pSQL($to).'"
order by(percentage) asc
';
$percentageArray = Db::getInstance()->ExecuteS($query);
}
return is_array($percentageArray) ? $percentageArray : array();
}Itt lekérem az adatokat az adatbázisból 2 dátum érték között, és ezt átadom egy tömbnek.
public static function getStat($from, $to)
{
$result = array();
if(Validate::isDate($from) && Validate::isDate($to) && ($from <= $to))
{
$query = '
SELECT *
FROM
`'._DB_PREFIX_.self::$tableStatic.'`
WHERE
`date` >= "'.pSQL($from).'" AND `date` <= "'.pSQL($to).'"
Group BY percentage
ORDER BY
`date` asc,percentage';
$result = Db::getInstance()->ExecuteS($query);
}
return is_array($result) ? $result : array();
}Itt átadom a 2 tömböt a smartynak
public function getHTMLPriceStat($from, $to)
{
global $smarty;
$this->loadClass('StatPricing');
$smarty->assign(array(
'data' => StatPricing::getStat($from, $to),
'percent' => StatPricing::getPercentage($from, $to),
'id_currency' => intval(Configuration::get('PS_CURRENCY_DEFAULT'))
));
return $smarty->fetch(dirname(__FILE__) . '/templates/stat/price.tpl');
}Adatbázis
Egy napra lekért adatok
Több napra lekért adatok
Smarty kódNos a problémám az volna hogyha 1 napra lekérek adatokat akkor tökéletes, viszont ha több napra akkor mint a képen is látható szétcsúszik az egész.
Először csak szimplán próbáltam a smarty-ba kiírni az adatokat, és akkor az összes sorban ahol az auto_pricing volt ugyan az lett, kivéve a manual pricing az jó lett.
Mi lehet a megoldás ?? :/
Sajnos egy bármilyen %-os értéket megadhatnak és így muszáj hogy dinamikusan változzon a header. -
Fundiego
tag
köszönöm a segítségeket
-
Doink
aktív tag
válasz
Fundiego #19286 üzenetére
A kérdésedre a válasz:
<?php
$row = [];
$row['telj'] = 'asd';
$row['fogl'] = 'ert';
echo "<table>
<tr>
<td>Teljes név</td>
<td>${row['telj']}</td>
</tr>
<tr>
<td>Foglalkozás</td>
<td>${row['fogl']}</td>
</tr>
</table>";Ahogy én csinálnám:
<?php
$row = [];
$row['telj'] = 'asd';
$row['fogl'] = 'ert';
?>
<table>
<tr>
<td>Teljes név</td>
<td><?= $row['telj'] ?></td>
</tr>
<tr>
<td>Foglalkozás</td>
<td><?= $row['telj'] ?></td>
</tr>
</table>Azért így csinálnám mert így a html-t is kiemeli az IDE. A <?= php 5.4 után default működik.
-
DS39
nagyúr
-
Fundiego
tag
Hali
Szeretnék egy táblát kiíratni, viszont az alábbi kóddal nem működik, vagy ilyet egyáltalán nem lehet h html-be mysql lehívást teszünk?
echo "<table>
<tr>
<td>Teljes név</td>
<td>.$row['telj']</td></tr>
<tr>
<td>Foglalkozás</td>
<td>.$row['fogl']</td>
</tr>
</table>";
ha így íratom ki akkor működik a kód echo "Teljes név: " . "<b>".$row["telj"]; csak nekem 10 sorom van és fontos a tábla elrendezés -
radi8tor
MODERÁTOR
Sziasztok!
Opencart webshop téma.
Vásároltam egy témát hozzá, de nem szereti a magyar nyelvet. Ha átállítom magyarra hibaüzenetek fogadnak. Hozzátenném, hogy hu-Hu.php nem hibás, alap kivitelben működik hiba nélkül. De ezzel a témával nem. Tudtok ebben segíteni?
Oldal első betöltésénél:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/clients/client1649/web5653/web/catalog/language/hu-Hu/hu-Hu.php:1) in /home/www/clients/client1649/web5653/web/catalog/controller/startup/startup.php on line 157
startup.php kódrészlet (setcookie sora a 157):
// Currency
$code = '';
$this->load->model('localisation/currency');
$currencies = $this->model_localisation_currency->getCurrencies();
if (isset($this->session->data['currency'])) {
$code = $this->session->data['currency'];
}
if (isset($this->request->cookie['currency']) && !array_key_exists($code, $currencies)) {
$code = $this->request->cookie['currency'];
}
if (!array_key_exists($code, $currencies)) {
$code = $this->config->get('config_currency');
}
if (!isset($this->session->data['currency']) || $this->session->data['currency'] != $code) {
$this->session->data['currency'] = $code;
}
if (!isset($this->request->cookie['currency']) || $this->request->cookie['currency'] != $code) {
setcookie('currency', $code, time() + 60 * 60 * 24 * 30, '/', $this->request->server['HTTP_HOST']);
}
$this->registry->set('currency', new Cart\Currency($this->registry));Aztán ha átváltom angolra, akkor meg ezt dobja:
(csak frissítés után használható az oldal)Warning: Cannot modify header information - headers already sent by (output started at /home/www/clients/client1649/web5653/web/catalog/language/hu-Hu/hu-Hu.php:1) in /home/www/clients/client1649/web5653/web/system/library/response.php on line 36
response.php kódrészlet (header sora a 36):
public function redirect($url, $status = 302) {
header('Location: ' . str_replace(array('&', "\n", "\r"), array('&', '', ''), $url), true, $status);
exit();
} -
supercow
őstag
válasz
szoke12 #19279 üzenetére
Esetleg a Youtube API-ból ki tudod szedni ha saját felhasználó/videóról van szó, de nem ismerem és ahhoz komolyabb ismeretek kellenek. Pl itt van róla szó.
illetve itt mondja a YT/Google alkalmazott hogy a https://youtube.com/channel/[channel_id]/live link mindig az aktuális élő adásra mutat? Ott kéne körülnézni.
-
-
szoke12
őstag
Sziasztok!
Nem tudom, mennyire vág témába. Van egy php weboldal, ahova beágyaztam egy élő stream-et tartalmazó youtube lejátszóablakot. Ha az oldalon megadom a youtube videó (illetve akkor még stream) linkjét, akkor azt lehet nézni a weblapon. De amikor újat indítok, akkor a youtube új videót/stream-et generál, aminek a linkje is más ugye. Ezt a linket mindig ki kell keresnem és be kell illesztenem a weblapomon, hogy mindig a legfrissebb adás legyen elérhető. Hogyan lehetne azt megoldani, hogy a frissen generált linket megszerezzem mindig a youtube-tól az adás indításakor?
Tud rá valaki megoldást? Milyen irányba induljak?
-
Doink
aktív tag
Iteratív megoldás:
<?php
$diakokSzama = $ajtokSzama = 50;
$ajtok = array_fill(1, $ajtokSzama, false); // false: zart, true: nyitott
for($d=1; $d<=$diakokSzama; $d++) { // minden diák
echo "<br>${d}. diák ezeket érintette: ";
for($a=$d; $a<=$ajtokSzama; $a=$a+$d) { // diák ajtói
echo $a . ",";
$ajtok[$a] = !$ajtok[$a]; // kinyitja/becsukja az ajtót (negálás)
}
}
echo "<br><br>";
echo array_sum($ajtok) . " ajto marad nyitva"; // azért működik mert átkasztolja a true-t 1-re, false-t 0-raRekurzív megoldás:
<?php
$diakokSzama = $ajtokSzama = 50;
$ajtok = array_fill(1, $diakokSzama, false); // false: zart, true: nyitott
function diakLepes($d, $a){ // $d: diák, $a: ajtó
global $ajtokSzama, $ajtok;
if ($a <= $ajtokSzama) { // csak akkor ha a kapott ajtószám érvényes
echo $a . ",";
$ajtok[$a] = !$ajtok[$a]; // kinyitja/becsukja az ajtót (negálás)
diakLepes($d, $d+$a); // rekurzívan meghívjuk ugyanezt a diák következő szekrényére
}
}
for($d=1; $d<=$diakokSzama; $d++) { // minden diák
echo "<br>${d}. diák ezeket érintette: ";
diakLepes($d, $d);
}
echo "<br><br>";
echo array_sum($ajtok) . " ajto marad nyitva"; // azért működik mert átkasztolja a true-t 1-re, false-t 0-ra -
htc07
addikt
Sziasztok!
Igazából sosem tanították nekem a PHP-t, mindig csak google alapján hánytam össze amire épp szükségem volt, de most kifogott rajtam egy dolog, remélem tudtok segíteni, hol rontom el.
Ezt kellene kiszámolni:
Egy iskolába 1000 diák jár, és 1000 szekrény van a folyosón. Az igazgató az első napon megkéri az egyik tanulót, menjen ki a folyosóra, és nyissa ki az összes szekrényt. Ezután megkér egy másik tanulót, menjen, és minden második szekrényajtót csukjon be. Majd azt kéri egy harmadik tanulótól, hogy minden harmadik ajtót csukjon be, ha nyitva van, és nyisson ki, ha zárva. A negyedik gyerek minden negyedik ajtóhoz megy oda, és így tovább, lassan mind az ezer gyerek sorra kerül. A végén hány ajtó marad nyitva?
Ezt sikerült összedobálnom (1000 helyett 50-et használtam, hogy gyorsabban lefusson amíg rájövök mi a rossz).
<?php
$i=1; //hanyadik diak
$ajtoszam=$i; // 3: minden harmadik, 8: minden nyolcadik ajtó...
$hanydiak = 50; // hány diák, hány ciklus
$ajto=array_fill(1, $hanydiak, "1"); // 1: zart, 0: nyitott
function nyitzar($ajtoszam)
{
if($ajtoszam <= $hanydiak)
{
if($ajto[$ajtoszam] == "1")
{
$ajto[$ajtoszam] = "0";
}
else
{
$ajto[$ajtoszam] = "1";
}
$ajtoszam=$ajtoszam+$ajtoszam;
nyitzar($ajtoszam);
}
}
function hanyadik($i)
{
if($i <= $hanydiak)
{
nyitzar($ajtoszam);
$i++;
hanyadik($i);
}
}
hanyadik($i);
$eredmeny = array_count_values($ajto);
echo $eredmeny['1']. " ajto marad nyitva";
?>Tuti hogy a function-nel rontok el valamit, az ismétlődő ciklusokkal sem volt sok dolgom eddig, meg így estére már elfáradt az agyam
A megoldást tudom, azt is hogy miért annyi, (ez google), de a kiszámolás megvalósítása lenne az érdekes számomra, nem az igazgató megkérdőjelezhető hóbortja.
-
Van itt valaki aki amazon ses-t használt már smtp kapcsolódással? Elvileg mindent megcsináltam de smtps levélküldésnél az alábbi hibaüzenetet kapom: SMTP Error: data not accepted.
csatlakozás tuti megy mert akkor auth hiba van...
-
XboxGamePass
senior tag
Sziasztok!
Akit érdekel egy könnyű pénz kereseti lehetőség dobjon nekem egy privátot, szerintem hozzá értőnek nem tarthat pár óránál tovább és jó pénzt ajánlanék érte.
php programozásról lenne szó.
-
Fundiego
tag
php-ban meglehet oldani, hogy a schortcode változó részét egy sql lekérdezésből nyerjük?
A példám amit kiszeretnék írni: [wpdatatable id=31 var1='Nagy Antal']
A 'Nagy Antal' helyére ezt a lekérdezést szeretném beírni hogy kiadja az értéket: "SELECT nev from nev WHERE ID='$ID'" -
Fundiego
tag
Sziasztok!
Egy dinamikus oldalt csinálok jelenleg. A lényege a sztorinak h az oldal név mögé "?ID=(szám)"-ot teszi amit végül lehívok.
A lehívásnál viszont elakadtam,mert nem írja ki az sql lekérdezésem értékét, hanem üresen hagyja. Mi lehet a hiba?
<?php $servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'wordpress';// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
mysqli_set_charset($conn,'utf8');
if(isset($_GET['ID'])){
$ID = mysqli_real_escape_string($conn,$_get['ID']);
$sql = "SELECT * from games WHERE image_ID='$ID' ";
$result = mysqli_query($conn, $sql) or die("Bad query: $sql");
$row= mysqli_fetch_array($result);
echo $row['title'];
$conn->close();
}else {echo "0 results";}?> -
sziasztok,
filetime()
fügvénnyel lenne egy kis gondon.
örökké January 01 1970 01:00:00. dátumot kapom vissza.
A file létezik, mert előtte a képet megjelenítem és meg is jelenik:<?php
echo '<img src="/img/image.jpg" height="500" width="650">';
echo "<br />";
echo filemtime("/img/image.jpg");
echo "<br />";
echo "Frissítve: ".date("F d Y H:i:s.",filemtime("/img/image.jpg"));
?>mit rontok el?
-
sketchifun
senior tag
Céges szintű választ adni egy olyan feladatra, mely nem a főprofilja egy cégnek, továbbá jelenlegi ügyvitelét egy Excel ellátja, gyakorlatilag nem lehet.
Ennek a projektnek nem célja nagyra nőni, nem az SAP ellenfele lesz, nekem is csak szabadidős tevékenység, juttatás nélkül, és a végső cél az, hogy ezáltal jobbak legyünk, mint amilyenek most vagyunk. Ebbe a felépítésbe, úgy gondolom, sem szakértőket, sem egyedi ötleteket nem kell belevinni. Egyelőre elég az, ha ugyan azt tudja, amit az Excel. Na, az meg nem sok.
Lacc:
Ha ez számít, találtam egy viszonylag konyhanyelvű OOP olvasnivalót, remélem, hasznomra válik. Azt is kezdem gyanítani, hogy egy linuxra is szükségem lesz, dehát bánja fene, legyen. Linuxból esetleg ajánlás? CentOS-ra vagy Ubuntu-ra gondoltam.
-
Lacc
aktív tag
válasz
sketchifun #19261 üzenetére
Laravel alapú CRM. (ügyviteli szoftver), ez ingyenes, szóval nyugodtan tovább fejlesztheted magad is.
Natív PHP-ban is meglehet csinálni saját belső használatra CRM-et, ha nem értesz az OOP-hoz. Bár tényleg egyszerűbb Laravel-lel vagy másik keretrendszerrel, de az OOP kell minimum.
Laravel érdemes bele fektetni, de azért kell idő, ha nincs OOP alap, (virtuális gép, mint a Homestad, ott az ORM is, akkor ilyen csomagkezelők, mint npm, composer, bár gyorsan használható)
-
Doink
aktív tag
válasz
sketchifun #19261 üzenetére
Webalkalmazást lehet rengeteg másik prog nyelvben is készíteni (java,scala,javascript,ruby, c#....) és azokra is van sok keretrendszer. Azt kell választani ami a vállalkozás-nak megéri. A probléma ezzel csak az, hogy ez egy elég komplex kérdés amire a cégen belül kell válaszokat találni.
Abban viszont biztos vagyok, hogy ügyviteli rendszert plain php-val egyedül építeni sehogy sem éri meg, hiszen az időd nagy része arra fog elmenni, hogy olyan problémákat oldasz meg amit a framework megoldana helyetted, ráadásul azt a megoldást több(száz) (szak)ember ellenőrizte.
-
sketchifun
senior tag
Php alapjai megvannak, OOP annyira azért nem, még az OOP elterjedése előtt foglalkoztam utoljára ezzel.
Az alapvető cél, hogy a saját kis vállalkozásunk ügyviteli szoftverét létrehozzam, azért ezen a nyelven, mert nincs mindig nálunk egy laptop, hogy azonnal bevihessünk vagy kinyerjünk egy adatot. Nyilván azt szeretnék, ha ez a rendszer megcsinálna helyettünk sok mindent.
Alapvetően megtudnám csinálni. Meg is tudom. Sok idő, de biztos hogy megy. Viszont annyi helyről hallom, hogy egy keretrendszer mennyire nagyon sok időt megspórol egy programozónak, hogy mindenképp ki szeretném próbálni. Mostmár van is min kipróbálni, illetve ha minden igaz, időm is marad rá.
Ez a kis rendszer egyébként nem bonyolult, egyszerű, két felhasználós, jogosultsági szintek sincsenek tervben. Mert egyelőre nincsen értelme. De adatbázist építeni kiváló, szóval na. Vannak érvek amellett, hogy miért ez legyen.
Olvasgattam ezt a Laravelt. A dokumentációját is, nem tűnik bonyolultnak, amit látok, akár példákon keresztül, úgy gondolom, értem. Az a baj, ezek alapján, hogy az OOP maradt ki nekem, és ahhoz ez hiányzik.
Lehetséges, hogy később is foglalkoznék a dologgal, akár a programozás, webfejlesztés, akár a mi kis rendszerünk bővítése a cél. Szóval maradnék a Laravel-nél.
Az alapokat, úgy gondolom, nem nehezebb elsajátítani, a messzemenő részleteket pedig van idő akkor magamra szedni, ha szükség is van rá.
-
Doink
aktív tag
válasz
sketchifun #19259 üzenetére
Framework-öt általában úgy választunk ami passzol a problémához és annak a nagyságához. Ha csak tanulni akarsz akkor nyugodtan játszhatsz a laravel-el, elég népszerű, a doksija nagyon korrekt és tele van példakóddal, szóval tutorial nagyon nem kell de a youtube tele van azzal is. Ha a php és az OOP alapjaival tisztában vagy akkor nyugodtan nekiugorhatsz, sok felesleges kört meg fog oldani helyetted és ad egy iránymutatást hogy minek hova kell kerülnie.
-
sketchifun
senior tag
Szia.
Köszönöm a segítséget. Tulajdonképpen megoldottam a hibát azelőtt, hogy válaszoltál volna. Istenverte relatív hivatkozások.
Viszont a függvény, pontosabban a __DIR__ ismeretlen volt számomra, szóval köszönöm.
A keretrendszer érdekes lehet, viszont nem vagyok egy nagy guru. Valamennyire konyítok a dologhoz, de közel sem mesterszinten. Viszont egy ilyen keretrendszer érdekelne, akár a Laravel is.
Mi az ajánlott ezek közül? Van értelme egy kisebb keretrendszert tanulgatni, vagy érdemes rögtön a Laravel-be belevágni?
Értékelhető tananyagot tudsz esetleg javasolni, az alapoktól? Google-t ismerem, keresgéltem is, de említésre méltó, alapoktól kezdődő, megfelelő tematikájú how-to/tutorial/make it like me bastard tartalmat még nem igazán találtam, vagy nem sikerült ezt megállapítanom.
-
Doink
aktív tag
válasz
sketchifun #19257 üzenetére
<?php
require __DIR__."/system.php"; //ha ahhoz a fájlhoz képest keresed amibe ezt a sort beleírtad
//require "./system.php"; //ha working dir-hez képest keresed
?>Egyébként feleslegesen bonyolítod a kódot már most, a require/include egy copy paste-et csinál.
index.php
<!DOCTYPE html>
<html>
<head>
<title>Fejlec</title>
</head>
<body>
<?php require './menu.php' ?>
<?php require './tartalom.php' ?>
<?php require './lablec.php' ?>
</body>
</html>menu.php
<div class="menu">
<ul>
<li><a href="#">Menu 1</a></li>
<li><a href="#">Menu 2</a></li>
<?php if(isset($_SESSION['user'])) { ?>
<li><a href="#">Logout</a></li>
<?php } else { ?>
<li><a href="#">Login</a></li>
<?php } ?>
</ul>
</div>Apró megjegyzés, hogy ha szeretnél bejelentkezést kis adatbázist akkor érdemesebb valami keretrendszert használni pl: Slim-mvc, Lumen, kicsit nagyobbhoz Laravel.
-
sketchifun
senior tag
Sziasztok.
Adódott egy projekt, amit saját kézzel kéne megcsinálnom.
Úgy gondoltam, menni is fog, néhány perc alatt össze is dobtam egy rövid kódot.Na, ez nem üzemel.
Ezt a hibakódot dobja a xampp:Fatal error: Uncaught Error: Call to undefined function fejlec() in C:\xampp\htdocs\index.php:5 Stack trace: #0 {main} thrown in C:\xampp\htdocs\index.php on line 5
Az index.php:
<?php
require "system.php";
fejlec();
?>
Content
<?
lablec();
?>A system.php:
<?php
function fejlec(){
?>
<!DOCTYPE html>
<html>
<head>
<title>Fejlec</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="menu">
<a href="#"><div class="menua">Menu 1</div></a>
<a href="#"><div class="menua">Menu 2</div></a>
<a href="#"><div class="menua">Menu 3</div></a>
<a href="#"><div class="menua">Menu 4</div></a>
<a href="#"><div class="menua">Menu 5</div></a>
<a href="#"><div class="menub">Logout</div></a>
</div>
<div class="container">
<?
}
function lablec($dbzar){
?>
</div>
</body>
</html>
<?
}
?>Ezt miért csinálja velem?
-
Doink
aktív tag
válasz
PowerBuldog #19255 üzenetére
Ja kicsit kell rajta faragnod mert a $response nálam egy string, aminek a megfelelője nálad a $result->GetCikkekAuthResult->any. Ettől függetlenül először nézd meg hogy a $result->GetCikkekAuthResult milyen formában adja vissza az eredményt és ha az valamilyen struktúrált adatszerkezetben akkor még parse-olnod sem kell hanem egyől mehetsz végig azon.
-
Doink
aktív tag
válasz
PowerBuldog #19253 üzenetére
Be kell tölteni az xml-t és átírni az értékeket. [példa]
-
PowerBuldog
veterán
Sziasztok!
Egy kis segítséget kérnék tőletek.
Van egy SOAP lekérdezés ami visszaad nekem egy XML-t. Ebben van a termékeknek egy olyan eleme, hogy rendelhető, vagy sem. Viszont ezt ők úgy adják át, hogy 1 - Igen, 2 - Nem, 3 – Hívjon. (<webmegjel>1</webmegjel>) Ebből szeretném a kimenetben kicserélni egy if fgvnyel az 1-et instock-ra a 2-t outofstock-ra. A WP-s woocommerce ezeket tudja csak kezelni.
Tudna esetleg valaki segíteni, hogy a következő kódot hogy módosítsam?<?php
$time = time();
$authcode = "[I]kód[/I]";
$client = new SoapClient('[I]cím[/I]',array("trace" => 1,"exceptions" => 0,'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
$result=$client->GetCikkekAuth(array('web_update'=>date("Y-m-d",strtotime(' -1 day', $time)), 'authcode'=>$authcode));
header("Content-type: text/xml");
echo '<?xml version="1.0" encoding="utf-8"?>'."\n";
echo $result->GetCikkekAuthResult->any;
?>A SoapClientben a címet és az authkódot nem raktam bele, de a meghívás valid működő XML-t ad.
-
mkprog
újonc
Akit esetleg érdekel:
többek között lehetőség van PHP nyelv összehasonlítására további programozási nyelvekkel, hogy hol mit hogy lehet használni..
jól jöhet például ha már egy nyelven tudsz programozni és kiváncsi vagy hogy néz ki ugyanaz a parancs PHP-ban -
davee_92
csendes tag
válasz
DNReNTi #19249 üzenetére
Ez a része tiszta, csak alapból az App email, public_profile, user_friends adatokat kér csak, ebben nem hiszem, hogy a csoportok beletartoznak.
Van egy user_managed_groups illetve manage_pages engedély, de ezekhez valami űrlapot is ki kell tölteni, lépésről lépesre leírással meg még ezer dologgal, nem is értem teljesen. Aztán még ezután sem garantált, hogy van rá engedély. -
DNReNTi
őstag
válasz
davee_92 #19248 üzenetére
Szia,
A usernek feldob egy engedelyezo ablakot, hogy a te app-od mely adatokhoz szeretne hozzaferni, ha a user ezeket engedelyezi, akkor fog mukodni. Gondolom te mar ezekre engedelyt adtal, a megprobalt masik userId tulajdonosa meg nem. Csak tippelem, regen (~3-4 eve) igy ment.
-
davee_92
csendes tag
Sziasztok!
Érdeklődnék Facebook API / Graph használattal kapcsolatban, valaki esetleg jártas benne?
Facebook App-on keresztüli engedélyadás után szeretném lekérdezni az adott User csoportjait amelyekben tag.
Majd ebből PHP-val kiszűrni azt az egyet amelyik engem érdekel. A PHP része nem gond.
De Facebbok API-t nem használtam még, ennek a Bejelentkezés része tiszta sor, csak a lekérdezésre az engedély nem.Facebook Graph Explorerben próbálgatva az App-om Tokenjét használva a {user_id}/groups lekérdezés saját magamnál szépen működik, de más user_id-t használva üres halmaz van.
A kérdésem az lenne tud-e valaki megoldást erre a kérdésre?!
Előre is köszönöm!
-
Panhard
tag
válasz
sztanozs #19246 üzenetére
Az alkalmazás a mobilon a GET-et használja. Ebbe nem tudok beleszólni. Csak arra voltam kíváncsi, hogy milyen adatokat küld, mert így tudom a saját szerveremen is felhasználni. Amúgy ez a Traccar client. Ha az alkalmazásban beírom a saját php fájlom elérését, akkor az én adatbázisomba tölti fel az adatokat. Működik.
-
Panhard
tag
Sziasztok!
Hogy tudom megnézni, hogy egy alkalmazás egy php fájlt milyen paraméterekkel hív meg? A php fájl az én szerveremen van, tehát ahhoz hozzáférek, de az alkalmazáshoz nem. Valami ilyesmi lehet a kérés: www.valami.hu/feltolt.php?id1=asd&id2=qwe&id3=rtz
Tehát a .php utáni részt lehet-e valahogy megtudni, valahogy úgy, hogy a php futás közben kiolvassa a címből és feltölti egy adatbázisba, hogy ott meg lehessen nézni.
Előre is köszönöm! -
pelyib
tag
válasz
BlackDevil #19241 üzenetére
Én megnézném a raw respons-át a távoli szervernek, esetleg megváltozott.
+ egy jó tanács: ne írd felül folyamatosan a változóidat. Igencsak meglepő bugokat tud ez okozni.
$rawResponse = file_get_contents("http://{$server}:{$port}/status2.xsl?mount={$mount}");
$arrayResponse = explode("\n", $rawResponse);
$status = explode(",", $arrayResponse[3]);Elnevezéseken végtelenségig lehetne vitatkozni
-
BlackDevil
aktív tag
hali.
egy online rádióhoz kérnék segitséget tőletek.$server = "ip";
$port = "port";
$mount = "/*****.mp3";
$status = file_get_contents("http://{$server}:{$port}/status2.xsl?mount={$mount}");
$status = explode("\n", $status);
$status = explode(",", $status[3]);
if(isset($status[6]))
{
$title = trim($status[2]);
$desc = trim($status[4]);
$song = trim($status[5]);
$song = explode(" - ", $song);
$artist = $song[0];
$song = $song[1];
} else {
$title = "Nincs információ";
$desc = "Nincs információ";
$artist = "Nincs információ";
$song = "Nincs információ";
}Az a problémám, hogy szerver ip változás után már nem irja ki az adásban lévő zene cimét, helyette a "Currently Playing" szöveget hozza.
-
adika4444
addikt
válasz
adika4444 #19238 üzenetére
Már így se megy, a Pear is és a PHP Mailer is a magyarországinál egy órával korábbra állítja magát, és bár a time függvény rendesen kiírja az időt, ezek még is egy órával korábban vannak.
Feltúrtam Google-t, az se segített úgyhogy minden ötletet várok, én kifogytam a lehetőségekből... -
-
adika4444
addikt
config.php-ban van beállítva, ez a rész jó, tárhelyen szintén műkszik csak localhoston halt be, de másik laptoppal, mobilnettel se megy, szval nem a netkapcsolatom, nem is a gépem hibás. Az openssl-re tudok már csak lassan gondolni, hogy az óraátállítás nem jött be neki...
Viszont a logot meg fogom nézni, köszi!
-
Lacc
aktív tag
válasz
cidalain #19235 üzenetére
Áh, már látom, rosszul formáztam meg a kolléga kódját - automatával -, amikor online sql emulátorba dobtam, furcsa, hogy az aliasok aposztrofban vannak.
Nekem alapból syntax hibát dobott a lemaradt záró zárójel miatt. Szerintem nála is csak ennyi a probléma.Jó a tanácsod, de én még mindig a mysql-el osztanám el az értékeket.
-
cidalain
veterán
Hat nem tudom mibol latod hogy azok Stringek
Mivel Select COUNT van elotte (aminek adjuk ezeket az aliasokat), igy eleve nem lehet string, mert az SQL count szamot ad vissza. Egyertelmuen. Igy biztosan nem stringet osztunk stringgel, hanem szamot szammal.Az eredeti problemahoz:
Van ket ertek adatbazisban, es ki kell ezt a kettot iratni, megy egy harmadikat szamolni ebbol a kettobol.
Ehhez 4 SQL selectet hasznalni, es meg a szamitast is itt vegezni netto idopazarlas szerintem.
Select gyozelem szama
Select reszvetel szama
Az osztast meg php-val elintezni a kiiratas elott
Csokolom. -
Lacc
aktív tag
válasz
adika4444 #19233 üzenetére
Nem lehet, hogy a Xampp frissítés után a Gmail-es accountodnak az email, jelszó párosat kidobta?
Ha jól tudom az az ip cím a Gmail-hez tartozik, és gondolom azt akarod használni smtp-n keresztül.Log, nem ír valami problémát erről?
Fundiego, nem tudom, hogy milyen adatbázist használsz, milyen beállításokkal, de itt látszik, hogy Stringet akarsz osztani Stringgel, és az sosem hajtódik végre, vagy csak 0-as kiértékelést kapsz.
'Gyozelem'/'Reszvetel' -
adika4444
addikt
Sziasztok!
Volna egy kis problémám Pear Mail-lel.
Xampp-ban fejlesztek localhoston. Múlthéten még jó volt, most azonban ezt írja:
Failed to connect to ssl://74.125.206.108:465 [SMTP: Failed to connect socket: fsockopen(): unable to connect to ssl://74.125.206.108:465 (Unknown error) (code: -1, response: )Nem értem mi lehet. Online táron gond nélkül megy.
Legújabb Xampp van a gépen, és Win10, tűzfla kikapcsolva.
Van valakinek vlmi jó ötlete?
Köszi! -
Fundiego
tag
itt mi lehet a probléma? a kódrészletet másoltam be. ha kiveszem ezt a sort "(SELECT ('Gyozelem'/'Reszvetel') AS 'vmi'" akkor minden okés...
$sql = "SELECT Distinct(
SELECT COUNT(*)
FROM verseny WHERE versenyzo='Bolt'
) AS 'Reszvetel',
( SELECT COUNT(*)
FROM verseny WHERE versenyzo ='Bolt' AND vegeredmeny ='1'
) AS 'Gyozelem',
(SELECT ('Gyozelem'/'Reszvetel') AS 'vmi'
";
$result = $conn->query($sql);if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "Részvétel: " . "<b>". $row["Reszvetel"]."</b>". "szazalek: " . $row["vmi"]."<br>";
}
} else {
echo "0 results";
}
$conn->close(); -
A mysql támogat normális tranzakciókezelést? Illetve ha nem, akkor tudtok értelmes áron postgre tárhelyet?
-
B.A.T.
tag
válasz
fordfairlane #19209 üzenetére
Végülis megoldottam PDO-val.
-
B.A.T.
tag
supercow, fordfairlane utólag is köszönöm a válaszokat. Kicsit elvoltam havazva, de kipróbálom amit írtatok.
-
supercow
őstag
válasz
DrojDtroll #19224 üzenetére
A hasht js-ben kell kiszámolnod kliens oldalon beküldés előtt. Esetleg át kéne állni POST requestekre, mert a GET mérete korlátozott. A max méret szerver és böngészőfüggő.
-
DrojDtroll
veterán
köszönöm
egy nagyon kis programocskára lenne szükségem
van egy html oldal amin van egy form két textarea-val meg egy submit gombbal
az volna a feladat, hogy a két szöveges mező értékét meg egy hash-t kellene megkapni egy másik php scriptnek GET paraméter segítségével
a hash: md5(ertek1.ertek2."jelszo"))
a másik script, már készen van, csak ezzel nem jutok előre
-
DS39
nagyúr
válasz
DrojDtroll #19222 üzenetére
GET paraméter
-
DrojDtroll
veterán
Sziasztok!
Minek nevezik azt amikor a php scriptem bizonyos változókat az url-ből kap meg?
-
supercow
őstag
Igen, cészerű böngészőben (input field paraméterek, js) és mivel azt ki lehet játszani, a szerver oldalon is feldolgozás előtt még egyszer php-ban is. Nemrég volt róla szó itt a topikban, kicsit olvass vissza.
Attól függően hogy mennyire vagy paranoid, lehet pl CSRF tokennel kiegészíteni az űrlapokat. -
Sziasztok!
Van egy JS/PHP projektem, ahol adatokat lehet feltölteni file-ként és SQL-be.
Eddig kizárólag én használtam, és semmilyen védelem nincs benne.
Szeretném kiegészíteni felhasználó kezeléssel, és ha már ebbe belefogok, akkor a biztonságra is szeretnék komoly hangsúlyt fektetni.
Marad hobbi projekt, de úgy szeretném megvalósítani, hogy az élesben bevethető legyen.
Mindent meg akarok tenni a biztonságért tanulási céllal, kivéve https, mert az nincs az ingyenes webhosting csomagban.A kérdés: hol találok ehhez szüksége megbízható leírást, tutorialt, "best practices" doksi, stb.
-
PowerBuldog
veterán
válasz
fordfairlane #19212 üzenetére
ó bakker. Köszönöm
-
fordfairlane
veterán
válasz
PowerBuldog #19211 üzenetére
A php short_open_tag direktívája ki van kapcsolva, ezért ez a kódrész olyan, mintha nem is php kódrész lenne:
<? } else { ?>
Ez kell:
<?php } else { ?>
-
PowerBuldog
veterán
Sziasztok!
Wordpresshez írtam egy kis kód részletet de nem teljesen működik:
<?php if ( is_front_page() ) { ?>
<img src="<?php echo esc_url($logo); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" width="120" data-sticky-width="150" data-sticky-height="28" />
<? } else { ?>
<a href="<?php echo esc_url( home_url( '/' ) ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">
<img src="<?php echo esc_url($logo); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" width="211" height="40" data-sticky-width="150" data-sticky-height="28" />
</a>
<?php } ?>
A lényeg az lenne, hogy ha a főoldalon vagyunk akkor csak egy képet jelenít meg, link nélkül.
Ez annyiban működik, hogy var_dump-al a is_front_page true a fő oldalon máshol pedig false.
Viszont ebben a felállásban a főoldalon mindkét verziót megjeleníti, a többi oldalon meg semmit.
Hol lehet a hiba? -
B.A.T.
tag
Sziasztok!
PHP-vel lekérdeztem egy mySQL adatbázis tábla tartalmát, de az ékezetes betűket nem jól jeleníti meg. A html részben és az adatbázisban is UTF-8-as a kódolás. Van erre valami általánosan használt PHP kód?
-
supercow
őstag
válasz
spiritex #19205 üzenetére
Web fejlesztéskor 2 alapvető felhasználóra készülj:
- szimplán egységsugarú hülye, véletlenül se oda klikkel ahova te gondoltad, nem érti, nem tudja, nem akarja
- rosszindulatú, és a fentebb részletezett módszerekkel próbálja térdre kényszeríteni a cuccodat, miért? "csak"
normális emberre ne számíts, átmenet van de csak a fenti 2 keveréke.
Mindig mindent ellenőrizni kell, adatbevitelnél mindent a lehető legjobban korlátozni. Pl. ha megyét kell bekérned, akkor nem szabad hagyni hogy beírják, hanem legördülőből kell kiválasztani, stb. -
Doink
aktív tag
válasz
spiritex #19197 üzenetére
Mivel kliens oldalon a felhasználó azt csinál amit szeretne, amit érts úgy, hogy úgy módosítja a szervertől kapott kapott html-t és javascriptet ahogy szeretné ezért szerver oldalon mindig kellene ellenőrizni.
3 életszerű példa:
- A postás is átnézni (szerver oldal) hogy helyesen töltötted ki a formanyomtatványt annak ellenére hogy te már otthon (kliens oldalon) átnézted. A módosított html-t meg elképzelheted úgy hogy bár volt egy * a Címzett mező mellett hogy kötelező kitölteni de te leleményes voltál és hibajavítóval eltüntetted amitől még a postás nem fogja elfogadni neked. Ha nem ellenőrzöl szerver oldalon az olyan mintha a postás rá se nézne a papírodra.
- reklámblokkoló pluginek, mondjuk ők képeket és js-ek betöltését szokták eltüntetni de jön a gyanú, hogy akkor egy required attribútumot is ki tudnának törölni ha akarnak.
- Írd be a required-öt ahogy javasolták, töltsd be az oldalt F12 => forrás és ott keresd meg azt a beviteli mezőt és töröld ki a required attribútumot.Akkor mire jó (a kliens oldali validálás)?
- Ha nem szeretnéd hogy állandóan a szerverhez forduljon a böngésző ha hibás adatot ad meg a user akkor nagyon jól jön az hogy a böngésző előtte leellenőrzi azt amit letud és csak akkor küldi el az adatokat a szervernek ha azok stimmelnek (aki ugyan úgy le fogja ellenőrizni).
Postásra lefordítva annyi plusszt hoz hogy nem csak felhányod az adatokat a papírra és addig javítgatod eszetlenül amíg el nem fogadja hanem átnézed/átnézetteted a böngészővel mielőtt odaadnád neki.
- Másik példa ha az adatot soha sem fogod elküldeni a szervernek hanem csak a böngészőben használod.3 életszerű példa kliens oldalra:
- Twitter, 140 betű limit. Teljesen felesleges addig a szervernek bármit is küldeni a Tweet gomb nyomására amíg 0 vagy több mint 140 a tweeted hossza. (spórol a szerver és hálózati erőforrásokkal).
- Bejelentkezés, amíg a felhasználónév vagy a jelszó nincs kitöltve addig felesleges bármit is küldeni a szervernek.
- Localstorage-ben (böngészőben) tárolod hogy a user melyik témát használja és szerver oldalon ezt szimplán azért nem tárolod mert nem érdekel.Összefoglalva:
- A klienstől érkező adatokat szerver oldalon mindig validáljuk.
- Kliens oldalon nem mindig, sokszor csak a szerverrel küldjük vissza a hibákat. -
B.A.T.
tag
válasz
fordfairlane #19202 üzenetére
Így mindjárt más
Köszönöm
-
B.A.T.
tag
válasz
fordfairlane #19200 üzenetére
proba.html
Új hozzászólás Aktív témák
Hirdetés
- Yettel topik
- Házimozi belépő szinten
- Everest / AIDA64 topik
- A fociról könnyedén, egy baráti társaságban
- NVIDIA GeForce RTX 5070 / 5070 Ti (GB205 / 203)
- Suzuki topik
- BestBuy topik
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- AMD Ryzen 9 / 7 / 5 / 3 5***(X) "Zen 3" (AM4)
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- Asztali PC , i7 9700K , RX 5700 XT , 32GB DDR4 , 500GB NVME , 1TB HDD
- Dell Inspiron 5406 2-in-1i5-1135G7 16GB DDR4 3200 512GB NVME 14" FHD Érintőkijelző W11Pro
- Eladó MacBook Pro 14" M1 Pro (2021) 16/512 99% akku Makulátlan állapotban!
- Újszeru GIGABYTE G5 - 15.6" FullHD 144Hz - i7-13620H - 48GB - 1TB - RTX 4050 - Win11 - 1,5 év gari
- Eladó garanciás,új állapotu projektorom kihasználatlanság miatt!
- Országosan a legjobb BANKMENTES részletfizetési konstrukció! Lenovo ThinkPad L16 Gen 1 Prémium
- BESZÁMÍTÁS! ASRock B550M R5 5600 16GB DDR4 512GB SSD RX 6600 XT 8GB Kolink Observatory LM RGB 600W
- REFURBISHED - HP USB-C Universal Dock G1 docking station (DisplayLink)
- BESZÁMÍTÁS! ASUS ROG STRIX X570-E Gaming alaplap garanciával hibátlan működéssel
- AKCIÓ! Apple MacBook Pro 16 M4 Pro - M4 Pro 24GB 512GB SSD garanciával hibátlan működéssel
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest