- Fujifilm X
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kormányok / autós szimulátorok topikja
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- OLED TV topic
- Sony MILC fényképezőgépcsalád
- Milyen belső merevlemezt vegyek?
- Milyen TV-t vegyek?
- Hobby elektronika
- AI-ra, játékra, mindenre kiváló lehet a Gigabyte új PC-je
Új hozzászólás Aktív témák
-
radi8tor
MODERÁTOR
válasz
radi8tor #19699 üzenetére
Megoldva így:
if (!defined('GEOIP_PROXY_EDITION')){define('GEOIP_PROXY_EDITION', 8);}
if (!defined('GEOIP_ASNUM_EDITION')){define('GEOIP_ASNUM_EDITION', 9);}
if (!defined('GEOIP_NETSPEED_EDITION')){define('GEOIP_NETSPEED_EDITION', 10);}
if (!defined('GEOIP_REGION_EDITION_REV0')){define('GEOIP_REGION_EDITION_REV0', 7);}
if (!defined('GEOIP_REGION_EDITION_REV1')){define('GEOIP_REGION_EDITION_REV1', 3);}
if (!defined('GEOIP_CITY_EDITION_REV0')){define('GEOIP_CITY_EDITION_REV0', 6);}
if (!defined('GEOIP_CITY_EDITION_REV1')){define('GEOIP_CITY_EDITION_REV1', 2);}
if (!defined('GEOIP_ORG_EDITION')){define('GEOIP_ORG_EDITION', 5);}
if (!defined('GEOIP_ISP_EDITION')){define('GEOIP_ISP_EDITION', 4);}
if (!defined('GEOIP_UNKNOWN_SPEED')){define('GEOIP_UNKNOWN_SPEED', 0);}
if (!defined('GEOIP_DIALUP_SPEED')){define('GEOIP_DIALUP_SPEED', 1);}
if (!defined('GEOIP_CABLEDSL_SPEED')){define('GEOIP_CABLEDSL_SPEED', 2);}
if (!defined('GEOIP_CORPORATE_SPEED')){define('GEOIP_CORPORATE_SPEED', 3);}
if (!defined('GEOIP_DOMAIN_EDITION')){define('GEOIP_DOMAIN_EDITION', 11);}
if (!defined('GEOIP_NETSPEED_EDITION_REV1')){define('GEOIP_NETSPEED_EDITION_REV1', 32);}Köszi a segítséget!
-
radi8tor
MODERÁTOR
válasz
pelyib #19698 üzenetére
Kikapcsolt bővítmény mellett is kétszer szerepel ez phpinfo() kimenetében:
A javasolt oldalon megadottak alapján módosítottam a kódot, hogy csak akkor legyen a function használva, ha még nincs használva.
Miután minden ilyen hibára futó sort if-be tettem ezt dobja de legalább már betölt az oldal és csak a logot szemeteli tele:
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_COUNTRY_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 31
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_PROXY_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 32
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_ASNUM_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 33
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_NETSPEED_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 34
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_REGION_EDITION_REV0 already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 35
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_REGION_EDITION_REV1 already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 36
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_CITY_EDITION_REV0 already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 37
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_CITY_EDITION_REV1 already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 38
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_ORG_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 39
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_ISP_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 40
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_UNKNOWN_SPEED already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 51
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_DIALUP_SPEED already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 52
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_CABLEDSL_SPEED already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 53
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_CORPORATE_SPEED already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 54
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_DOMAIN_EDITION already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 55
2019-05-08 19:29:20 - PHP Notice: Constant GEOIP_NETSPEED_EDITION_REV1 already defined in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 62 -
pelyib
tag
válasz
radi8tor #19697 üzenetére
Ebből úgy tűnik Gave rátapintott az egyik megoldásra
Nézz egy phpinfo()-t vagy get_loaded_extensions
-
radi8tor
MODERÁTOR
válasz
sztanozs #19694 üzenetére
Nincs kétszer, csak egyszer a startup.php-ban:
// Geo Language
if($this->config->get('module_geo_currency_status')){
include("system/library/geoip.inc");Azt is próbáltam már Google alapján, hogy ezt az include-ot átírom include_once -ra de nem segített.
Ja közben szerkesztetted.
Hát figy, ezt a kiegészítőt így vettem. Működött az elmúlt 6 hónapban gond nélkül. Nem tudom mi a nyűgje most...
-
sztanozs
veterán
válasz
radi8tor #19690 üzenetére
Nézd meg, hogy nincs-e kétszer include-olva ez a fájl. Biztos jó implementáltad?
if ( !function_exists( 'geoip_country_name_by_name_v6' ) ) {
require_once '/geo/geoip.inc.php';
}
// The gi.
$gi = null;
// The name.
$name = '';
// NOTICE! Understand what this does before running.
$result = geoip_country_name_by_name_v6($gi, $name); -
radi8tor
MODERÁTOR
Tudnátok segíteni ennek a hibának az elhárításában?
Van egy kis program, ami GEOIP alapján állítja be az oldal nyelvét (magyar IP-vel érkezők magyar nyelvet kapnak, mindenki más angolt).
Eddig jól működött, aztán ma ezt a hibát dobálja:
Fatal error: Cannot redeclare geoip_country_code_by_name_v6() in /home/www/clients/client2520/web5842/web/system/library/geoip.inc on line 1584
Az 1584. sor az utolsó lenne ebből a kódrészletből:
function geoip_country_id_by_name_v6($gi, $name)
{
$rec = dns_get_record($name, DNS_AAAA);
if (!$rec) {
return false;
}
$addr = $rec[0]["ipv6"];
if (!$addr || $addr == $name) {
return false;
}
return geoip_country_id_by_addr_v6($gi, $addr);
}
function geoip_country_id_by_name($gi, $name)
{
$addr = gethostbyname($name);
if (!$addr || $addr == $name) {
return false;
}
return geoip_country_id_by_addr($gi, $addr);
}
function geoip_country_code_by_name_v6($gi, $name)
{
$country_id = geoip_country_id_by_name_v6($gi, $name);
if ($country_id !== false) {
return $gi->GEOIP_COUNTRY_CODES[$country_id];
}
return false;
} -
Doink
aktív tag
válasz
kezdosql #19686 üzenetére
Az url-ben található változókat dobja be oda a php, könyvet azért ne írj róla mert így ennyi.
pl:
prohardver.hu/muvelet/hsz/uj.php?thrid=552418&rtoid=19686&url=%2Ftema%2Fphp_kerdesek_2%2Ffriss.html
<?php
$_GET['thrid'] // = 552418
$_GET['rtoid'] // = 19686
$_GET['url'] // = urldecode("%2Ftema%2Fphp_kerdesek_2%2Ffriss.html")
//......
?> -
Doink
aktív tag
válasz
kezdosql #19683 üzenetére
Úgy hogy GET-ben küldöd, és akkor php-ban alapból ki lesznek töltve az értékek ha kimásolod az url-t a submit után. Viszont GET-ben ne küldj semmi szenzitívet.
Szóval itt egy durva kód ami lehet le se fordul de szerintem érezhető:
<form action="filter" method="get">
<input type="number" name="id" value="<?=$_GET['id']?>">
<input type="submit">
</form>
<ul>
<?php for($resultList as $item) { ?>
<li>
<a href="/filter?id=<?=$_GET['id']&megValami=<?=$item.valami?>"><?=$item.name?></a>
<li>
<?php } ?>
</ul> -
bandi0000
nagyúr
válasz
kezdosql #19683 üzenetére
PHP-ba szerintem annyira nem egyszerű ez, vagyis szerintem kellene csinálni egy másik html-t, amibe a részletes nézet van, amit ugye megnyitsz a linkkel, és abba illetve a PHP fájlban csinálsz még1 lekérdezést,de ez azért már összetettebb dolog, hogy szépen meg lehessen oldani PHP+HTML-ben
-
kezdosql
tag
válasz
bandi0000 #19682 üzenetére
Ugy tunik, nem ertjuk egymast.:-(
Megvan az adatbazis, csinalok egy lekerdezesi formot, beteszem html fajlba.
Bongeszovel megnyitod a fajlt, elinditasz egy lekerdezest.Hogyan kell megcsinalnom, hogy a kapott eredmenyt html fajlban kapd, es azokra a tetelek, amikre engedelyezek tovabbi lekerdezest,linkkent jelenjenek meg, hogy ne kelljen ujra a formba beirnod a lekerdezest, cask rakattintasz a linker, es latod az eredmenyt?
-
kezdosql
tag
Most ismerkedek a php-vel, csak a sql-es resze erdekel.
Tudna valaki segiteni, hogyan kell olyan sql-es lekerdezest irni benne, aminek az eredmenye html link lesz, hogy linkek reven lehessen bejarni a talalatokat? -
I02S3F
addikt
Sziasztok!
<?php
$AnArray = array("Béla","József","Károly");
var_dump($AnArray);
?>Kimenet:
array(3) { [0]=> string(5) "Béla" [1]=> string(7) "József" [2]=> string(7) "Károly" }
Valamiért a string-ek utáni zárójelben a karakterek száma+1 található. Illetve valamiért sem a szó számláló függvény, sem a karakterszámláló függvény nem ad pontos eredményt, hanem az a gyanúm, hogy mindig +1 karaktert hozzáad. Ez miért van?
$text = "Teszt szöveg";
$x = strlen($text);
echo $x;
$y = str_word_count($text);
echo $y;
?>Ennek a kimenete 13 és 3, tehát ugyanúgy a karakterek száma +1. Miért?
Volt, aki - itt a fórumon - megpróbált megszégyeníteni egy erősen egyszerűsített buta kérdésem miatt. Ettől én még fogok kérdezni
(Rákerestem, plusz a függvények leírását is megnéztem.
-
bandi0000
nagyúr
válasz
Nagyzoli27 #19675 üzenetére
Használod az API-t, de ha nem tudsz programozni, vagy anélkül akarod megoldani, akkor nem az api lesz a megoldás neked
-
DNReNTi
őstag
válasz
Nagyzoli27 #19673 üzenetére
Megkerdezed oket, hogy van e.
Szerk: Ha van, erdemes elkerni hozza a dokumentaciot, aztan meg is vagy. -
DNReNTi
őstag
válasz
Nagyzoli27 #19671 üzenetére
Ha van publikus API-juk, akkor az a legegyszerubb.
-
Nagyzoli27
kezdő
Sziasztok!
Lehetséges az, hogy egy webáruházról tömegesen adatokat letölteni, illetve milyen módon lehet azt?
Köszönöm!
-
Doink
aktív tag
-
coco2
őstag
Vannak gps koordinátáim, amik között légvonal távolságot tudok számolni pusztán matekkal is. viszont térinformatikailag jó lenne egy olyan, hogy ha autóhoz országúti távolságot is tudhatnék róluk. A gps koordináták valós címeket jelölnek. Van ilyesmire valami ingyenes / fizetős szolgáltatás?
-
I02S3F
addikt
Sziasztok!
Php-t tanulok (egyetem) és írja a w3schools weboldala, hogy javascript alapismeretek szükségesek hozzá. Ami benne is van a tantervben, csak idő nem jutott rá. Ezt nekem most be kellene pótolnom, hogy tanulhassam a PHP-t?
-
coco2
őstag
Sziasztok!
Céges munkalapot kellene írnom php szerver oldalon. Egyenlőre fogalmam sincs, hány problémába fogok belegabalyodni. Jó lenne valami handy pdf generátor, és sablon mellé. Aki küzdött már meg hasonlóval, néhány utólagos tapasztalatnak örülnék.
Minden tanácsot hálásan köszönök.
-
laracroft
senior tag
Sziasztok,
Nem tudok csatlakozni a mysql szerverhez a nem szabványos porton.
Mit rontok vajon el?$db_server = 'XXX.XXX.XXX.XXX';
$db_port = '12345';
$db_user = 'valaki';
$db_pw = 'jelszo';
$db_name = 'db';$link = mysqli_connect($db_server.':'.$db_port,$db_user,$db_pw,$my_db)
Válasz:
Lost connection to MySQL server at 'reading initial communication packet'A port nyitott, a 3306-on nincs hiba.
előre is köszi
-
pelyib
tag
válasz
bandi0000 #19654 üzenetére
A linkelt lib-nek a logger csak opcionális paramétere, szóval ha nem kell, akkor ne add át neki.
-
pelyib
tag
válasz
vakondka #19655 üzenetére
Én nem szívnék az object-l, inkább átkonvertálnám sima tömbbé.
Valahogy így. -
vakondka
őstag
válasz
pelyib #19653 üzenetére
Szia,
A fejléc nevek jók, de az adatok lekérdezésénél valamit nagyon benéztem:
$csv2 = 'xml/arlista_full.csv';
$xml2 = 'xml/arlista.xml';
$xml = file_get_contents($xml2);
$obj = SimpleXML_Load_String($xml);
$fpw = fopen($csv2, 'w');
if (!$fpw) trigger_error("UNABLE TO OPEN $csv2", E_USER_ERROR);
// oszlop fejléc nevek - ez jó
$arr = (array)$obj->{'arak'}->ar[0];
$keys = array_keys($arr);
$head = implode(";",$keys).PHP_EOL;
// adatok - ez rossz
$arr_items = (array)$obj->{'arak'}->ar;
$data ='';
foreach($arr_items as $value){
$data .= $value['cikkid'].';'.$value['cikkszam'].';'.$value['listtaar'].';'.$value['ar'].';'.$value['akciosar'].';'.$value['devizanem'].PHP_EOL;
}
echo '<pre>';
print_r($data);
file_put_contents($csv2,$head.$data); -
bandi0000
nagyúr
Használom ezt a Monologot arra, hogy loggoljam a hibákat stb, viszont más is használja, pl a tuupola JWT ahol a beállításoknál kell átadni neki a loggert, olyasmit szeretnék csinálni, hogy 1 változóval, vagy bármivel ki-be tudjam kapcsolni a funkciót, tehát, hogy ne mentse le a logokat
Meg lehetne ezt valahogy értelmesen csinálni? Mert ahol én rakok bele hibát, ott esetleg lehetne nézni egy bool értéket, de ahol csak a beállításoknál adom át a loggert, oda elvileg nem írhatok feltételt
-
vakondka
őstag
sziasztok,
Van egy XML fájlom (árlista), amit szeretnék csv formátumba konvertálni és a fájlba írás előtt növelni a listaárat 10%-al.
Már több verziót is kipróbáltam azok közül amit a google-ben találtam, de egyik sem működikEz egy része a fájlnak:
<?xml version="1.0" encoding="UTF-8"?>
<valasz verzio="1.0">
<arak>
<ar>
<cikkid>147229</cikkid>
<cikkszam>147229</cikkszam>
<listaar>15110</listaar>
<ar>15110</ar>
<akcios_ar>15110</akcios_ar>
<devizanem>HUF</devizanem>
</ar>
<ar>
<cikkid>147237</cikkid>
<cikkszam>147237</cikkszam>
<listaar>19710</listaar>
<ar>19710</ar>
<akcios_ar>19710</akcios_ar>
<devizanem>HUF</devizanem>
</ar>
</arak>
</valasz> -
Nagyzoli27
kezdő
Szia,
Azaz igazság ,hogy nem nagyon értek a PHP-hoz, csak kíváncsi lennék, hogy a webshopok, hogy tudnak behúzni tömegesen képeket. Szeretnék az egyik webshopomba feltölteni képeket tömegesen és fel figyeltem hogy azonosak az alt attribútumban lévő nevek az én termékeim azonosítójával. Jelenleg a UNAS webshopot használom.
-
Doink
aktív tag
válasz
Nagyzoli27 #19649 üzenetére
Ha nem spa: curl-el letöltöd az oldalt, felparseolod a htmlt és curl-el letöltöd a képeket.
Ha spa: headless browsert indítasz és azzal tölteted le. -
Nagyzoli27
kezdő
Sziasztok!
Meg lehet azt valahogy oldani, hogy egy oldalról behúzni képeket vagy letölteni azt tömegesen és a képek neve az megegyezne az "alt" vagy "title" attribútummal?
Köszönöm!
-
válasz
vakondka #19641 üzenetére
Emlékszem, annak idején rengeteget szívtunk ugyanezzel a rendszerrel, csak nem a CHS-nél. Sajnos nem emlékszem a pontos paraméterre, de a szerver beállításoknál kell keresni a megoldást. A probléma az, hogy túl gyorsan bontja a kapcsolatot. Egy szerver admint bevonnék a dologba, ez üzemeltetési kérdés. Nekem is így sikerült megoldanom.
-
vakondka
őstag
Sziasztok,
Le kellene kérnem egy hatalmas xml fájlt, de állandóan timeout van pedig egy amazon AWS EC2-n futtatom 1GB RAM-mal
(a php.ini-ben beállítottam mindenütt a maximumot)
A kód alapvetően jó, mert ha csak 2019-től kérem le, akkor szépen lefut és kapok egy kb 70MB-os fájlt, viszont régebbi dátum esetén sokkal nagyobb a fájl és elszáll minden.Van valakinek ötlete mi lehetne a megoldás?
Előre is köszi!
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
ini_set('memory_limit','-1');
ini_set('max_execution_time','0');
ini_set('soap.wsdl_cache_enabled', '0');
ini_set('soap.wsdl_cache_ttl', 900);
ini_set('default_socket_timeout', 1500);
$authcode = 'yxyxyxyxyxyxyx';
$kezdes = microtime(true);
$client = new SoapClient('http://www.chs.hu/services/Vision.asmx?WSDL',
array('trace'=>1,'exceptions'=>0,'features'=>SOAP_SINGLE_ELEMENT_ARRAYS));
$file = 'xml/cikklista_pelda.xml';
$result1 = $client->GetCikkekAuth(array('web_update'=>'2019-01-01T00:00:00','authcode'=>$authcode));
file_put_contents($file,$result1->GetCikkekAuthResult->any);
$befejezes = microtime(true);
echo 'Fájl:<a href="'.$file.'">'.$file.'</a><br>Futási idő: ' . ($befejezes-$kezdes);
?> -
pelyib
tag
válasz
adika4444 #19639 üzenetére
Jól gondolod, a user requestet nem kéne ezzel lassítani. Ott csak csináljon meg egy "task"-t a feldolgozónak. A feldolgozót pedig crontab-ból x időközönként a rendszer futattja.
A "task" lehet egy szimpla flag (mező) a DB "bejegyzesek" táblában, vagy akár egy teljesen külön lévő tábla is. Utóbbi lényegesen rugalmasabb. És akár még MySQL szinten is meg tudod oldani trigger-rel.
-
adika4444
addikt
válasz
pelyib #19637 üzenetére
A levélküldés a lassú, ugye amíg csatlakozik, elküldi, ilyesmi. És az a gond, hogy ez lassítja a szkriptet a felhasználónál.
Másik probléma, hogy időzített cikkek is vannak, amit a publikálás dátumakor szeretnék elküldeni, tehát futnia kellene valami szkriptnek ami figyeli. Illetve gondoltam még cron + curl párosra, mondjuk 5 percenként vizsgálná, van-e mit küldeni...
(#19638)Doink:
Köszi, ez jónak tűnik -
Doink
aktív tag
-
pelyib
tag
válasz
adika4444 #19635 üzenetére
Mit jelent, hogy lassú?
Mi lenne szerinted a gyors, vagy elfogadható futásidő?
Hol futott eddig, ha most már szerveren?
Nem lehet, hogy limit nélkül kéred le DB-ből?Megnézted már mi pontosan a lassú? MySQL lekérdezés, maga a PHP kód futás (ez ugye tiszta PHP-ra értem, nem arra pl.: amikor vár az SQL szerverre), esetleg maga az email küldés a lassú?
-
Ha valaki tudna segíteni hogy lehet saját szerveren playert futtatni hogy adjon embed kódot az ne tartsa magában privátban írjon rám és megbeszéljük a részleteket + ezt meg azt amit feltudok neki ajánlani...
-
adika4444
addikt
Hali!
Van egy egyszerűbb fajta PHP oldal, hírlevél kellene rá.
Jelenleg úgy van megoldva, hogy egy SQL táblában tárolom a mail-címeket. Azokat bejárom egy for ciklussal, és mindegyikre mail-t küld a phpmailer.
Viszont itt a szkript lefutása igen lassú. Alternatívaként beraktam egy while ciklusba, és azt szerveren futtatom PHP-val, de az meg felzabálja a memóriát.
A kérdés tehát, hogy hogy küldjek levelet a phpmailerrel, úgy, hogy ne legyen lassú szkriptlefutás?
Sendmail nem játszik. Autholós postfix van, és lehetőség szerint marad is.
Van valami ötlet?
Előre is köszi!
-
pelyib
tag
válasz
bandi0000 #19630 üzenetére
Nem hiányzik ott egy "/" a models után?
Amúgy az összes kódot (konfiguració ugye másik mappa) illik a "/src" mappába rakni így egy namespaceben van minden kódod
Teszteket csak deven kellenek behúzni.
Pl ahogy az a Composer doksijában is van. -
bandi0000
nagyúr
hogy működik ez az autoload?
Hiába olvasok róla, nem akar működni
projekt mappán belül van egy models mappa, amiben van 2 osztály
az egyik osztályt használom, és mindig erre rinyál, hogy nem találja
namspace Models/Users;
composer.json :
"psr-4": {
"Tests\\": "tests/",
"Models\\":"models",
"":"Validation/"
}(Amíg a models mappa az src mappán belül volt, és így adtam meg az composer.json-be :"":"src/models" addig működött )
autoloadoltam is már, az se segített, valszeg valamit nem értek a névadásnál, és azért kavarom be rendszert
-
amdni
aktív tag
válasz
#57018880 #19626 üzenetére
Pontosítom a problémát: a hibakódot is.
if(array_key_exists('login',$_POST)){
$username = $_POST['username'];
$password = sha1($_POST['password']);
UserSave($username);
$result = UserFv($connect, $username, $password);
var_dump($result); //ez működik, kiírja az értékeket!
if ($result != null){
$_SESSION['uid'] = $result['id'];
$_SESSION['username'] = $result['username'];
header('Location:http://localhost/sp1/admin/index.php');
}
else echo "<script>alert('Rossz felhasznalonev vagy jelszo!');</script>";
} -
amdni
aktív tag
Üdv!
Az alábbi kód miért nem működik? Nem értem:
function UserFv ($connect, $username, $password){
$arr = array();
$sql = mysqli_query($connect, "SELECT id, username, password FROM users where username = '".$username."' and password = '".$password."' ") or die('username or password load error');
while($res = mysqli_fetch_array($sql))
{
array_push($arr,array('id'=>$res['id'],'username'=>$res['username'], 'password'=>$res['password'] ));
}
return $arr;
}
//eddig rendben lefut.
$tomb = UserFv ($connect, $username, $password);
echo $tomb['id'); //ez itt nem működik!Köszönöm a segítséget és a tanácsokat!
-
bandi0000
nagyúr
Egy elég összetett kérdésem lenne
Már lassan végig érek mindenen, ami kellene nekem, egy működő REST API-hoz
-SlimFramework
-Respect Validation
-Middleware
-JWT authentication
-notORM DBDe viszont nem tudom, hogyan tudnék ebből kihozni clean codot, hozzáteszem, hogy eddig nem is figyeltem annyira erre, ezért illene már megtanulni, ebben tud valaki segíteni?
Sok tutorialt néztem, eltérő módon oldották meg a dolgokat, pl valamelyikben egy mappát hoztak létre, gyakorlatilag mindennek egyet, bár abban is volt egy controller osztály, és az is elég sok kódot tartalmazott
A másik amit még ismerek, ez a Skeleton, ott ugye csinál magától egy src mappát abban dependencies,middleware,routes,és setting php fájlokkal, de ha sok az endpointom akkor ebben is rengeteg kód lesz, vagy ez nem gond? Mit ajánlanátok?
-
radi8tor
MODERÁTOR
Erre a kódrészletre panaszkodik néha a rendszer "PHP Notice: Undefined index: shipping_method" -al:
if (strpos($this->session->data['shipping_method']['code'], 'xshippingpro3') || strpos($this->session->data['shipping_method']['code'], 'xshippingpro4')) {
$data['field_comment']['required'] = 'on';
}Tudtok segíteni benne hogyan lehet ezt orvosolni?
-
bandi0000
nagyúr
Végigcsináltam a youtubos authentication példát
Jól gondolom akkor, hogy ahhoz hasonlóan kell majd csinálnom nekem is? Frontenden bejelentkezik a felhasználó, és ha sikeres volt, akkor elindítom neki a session-t, és azzal ellenőrzöm majd minden kérésnél, hogy be van e jelentkezve, már amihez feltétel az, például ha csak a saját adatait akarja szerkeszteni, annál az endpointnál ellenőrzöm pl?
-
radi8tor
MODERÁTOR
Sziasztok!
Tud valaki segíteni abban hogyan tudom ezt az apró kódot úgy módosítani, hogy a title szöveg végén található "[blankspace]
(nettó ár)
" string nélkül legyen echo-zva?<?php echo $prod['title']; ?>
-
Doink
aktív tag
válasz
bandi0000 #19608 üzenetére
Vagy mindenhol validálsz vagy csak szerveren.
Ha csak szerveren akkor visszakapsz egy JSON-t az errorokkal és azt értelem szerűen angularral rábindolod a megfelelő mezőkre.
Ha mind2 oldalon akkor addig nem küldesz semmit amíg böngészőből el tudod dönteni valamiről hogy valid, de ettől függetlenül szerver oldalon mindig validálunk hiszen a böngészővel a user azt csinál amit akar.A kliens és a szerver között megváltozik az adat:
- Ha arra gondolsz hogy valami csomag elkúródik akkor ezzel nincs dolgod, tcp/ip megoldja
- Ha arra gondolsz hogy felviszel egy új admin usert de valaki már felvitt egyet amíg te töltötted ki a formot akkor a szerveroldali validálás meg fogja oldalni.
- Ha arra gondolsz hogy egyszerre többen szerkesztik ugyan annak a usernek a formját akkor azt úgy tudod megoldani hogy beteszel egy timestampet vagy random karaktersort minden editálásnál és leküldöd a kliensnek, ha nem ugyan azt küldi vissza mint ami a db-ben van akkor valaki már megváltoztatta amíg ő szerkesztette az adatot
- Ha arra gondolsz hogy egy táblázatot/bármilyen kiírást hogyan lehet frissíteni real time ahogy a szerveren változik akkor WebSocket -
bandi0000
nagyúr
válasz
#57018880 #19606 üzenetére
köszi, közben rátaláltam, hogy én írtam el szokás szerint, de amúgy érdekes, hogy a videóba nem dob neki ilyen hibát...
Viszont lett kérdésem
Azt tudom, hogy kell validálni az adatokat szerver, és kliens oldalon is, itt jól működik, mert egybe van a kettő, de ha nekem angular kliensem van, akkor mit csináljak ezekkel az üzenetekkel? Mármint kliens oldalon ellenőrzöm, azokat az adatokat, ha az tuti jó, akkor küldi a szervernek, de ha valamiért a kliens és a szerver között megváltozik az adat, akkor az fennakad a szerveren, azzal mit szoktak csinálni?
-
bandi0000
nagyúr
Kérnék egy kis segítséget, youtubon néztem/csináltam ezt a PHP slim authentication-t, elvileg mindent "másoltam" de mégse teljesen úgy működik
Lényeg az, hogy a middleware-s validálásnál van a probléma, a videóba validálás után, a hibákat tartalmazó változót tovább passzolja az egyik view-nak ami lényegében egy form, na már most, úgy kellene működnie, hogy, ha elküldi az adatokat, és hibás, akkor kiír az email mező alá egy hiba üzenetet, amíg nem küldi el, addig nem csinál semmit
Nálam, ahogy belépek az adott view-ba, kiír egy hiba üzenetet: Notice: Undefined index: errors in D:\xampp\htdocs\autenthication\app\Middleware\ValidationErrorsMiddleware.php on line 11
az érintett sor:
$this->container->view->getEnvironment()->addGlobal('errors',$_SESSION['errors']);
ha rá nyomok a küldésre, akkor megszűnik ez a hiba üzenet, de hiába volt hibás a bevitt adat, nem jelenik meg semmi
Már amennyire értek hozzá, olyan, mintha hamarabb akarná használni azt az 'errors' indexet, minthogy egyáltalán lenne benne hiba
ha esetleg kell forráskód felrakom, de nem akartam telepakolni a hsz-t vele, de ha van valakinek ötlete azt megköszönném
-
-
válasz
DNReNTi #19595 üzenetére
Szerintem ez hülyeség. A webalkalmazások nagyon nagy részét meg tudod oldani PHP-val, és nem hoki REST API-t is tudsz kreálni.
Nézz meg egy Laravel-t pl., szerintem semmi szégyenkezni valója nincs például egy Spring mellett (nem, nem azt mondom, hogy tudja az és vagy többet, de jó).
Azt se felejtsük el, hogy tök mindegy milyen nyelven írod a REST API-t az nem a programozási nyelvtől lesz az
Amúgy Symfony vagy Laravel amivel foglalkoznék csak - akár kezdőként is.
-
pelyib
tag
válasz
bandi0000 #19601 üzenetére
Általában elé raknak egy dedikált webszervert (Nginx, Apache) ami bizonyos szabályok alapján eldönti, hogy pontosan hogyan szolgálja ki a kérést, esetünkben továbbítja a PHP felé.
Ennek beállítására ~ végtelen leírás van a neten, többek között a Slim oldalán is. -
Új hozzászólás Aktív témák
Hirdetés
- A fociról könnyedén, egy baráti társaságban
- Amazfit Balance - ár-érték egyensúly
- Bemutatkozott a Poco X7 és X7 Pro
- Székesfehérvár és környéke adok-veszek-beszélgetek
- Nintendo Switch 2
- Telekom mobilszolgáltatások
- Fujifilm X
- Egy szenzor, két zoomkamera: újraírta a Huawei a mobilfotózás történetét
- Elder Scrolls IV - Oblivion - Olvasd el az összefoglalót, mielőtt írsz!
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 7 7800X3D 32/64GB RAM RTX 5070Ti 16GB GAMER PC termékbeszámítással
- AKCIÓ! Gigabyte AORUS 16X (2024) Gamer notebook - i7 14650HX 16GB RAM 1TB SSD RTX 4070 8GBWin11
- BESZÁMÍTÁS! ASUS ROG CROSSHAIR X670E GENE alaplap garanciával hibátlan működéssel
- BESZÁMÍTÁS! 4TB Toshiba P300 SATA HDD meghajtó garanciával hibátlan működéssel
- Mini PC, tiny PC HP Fujitsu Esprimo i5-7500T
Állásajánlatok
Cég: Liszt Ferenc Zeneművészeti Egyetem
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged