- Apple Watch Sport - ez is csak egy okosóra
- Nem várt platformon a OnePlus Nord 5
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Megérkezett a Google Pixel 7 és 7 Pro
- Samsung Galaxy Watch6 Classic - tekerd!
- Garmin Instinct – küldetés teljesítve
- Google Pixel 9 Pro XL - hét szűk esztendő
- Samsung Galaxy Watch7 - kötelező kör
- iPhone topik
- Motorola Edge 50 Neo - az egyensúly gyengesége
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
válasz
Joci93 #15894 üzenetére
"Részletes keresést $_GET[""]-el vagy $_POST[""]-al érdemes csinálni?"
A kérdés így kicsit furán hangzik. Most az a kérdésed, hogy GET-metódussal vagy POST-metódussal érdemes-e egy keresésre szolgáló űrlapot megadni (method-attribútumban)? Mert ha igen, akkor a GET-metódust szokás általános keresésekre használni, így a keresések könyvjelzőzhetők, elküldhetők másnak, stb., de ha elég összetett az űrlap, akkor nyilván az sem jó, ha minden be van hányva az URL-be, így ez esetben POST-metódus használható.
DE ami fontos, és ami miatt a kérdésed nem helyes, hogy a HTML-oldalnak semmi köze a PHP szuperglobális változóihoz, a GET és POST csupán HTTP-metódusok (amiket jelen esetben a form tag method-attribútumában adsz meg), a szerveroldal pedig az űrlap adatait fogadhatja bármi más szerveroldali nyelvvel, nem csak a PHP létezik; csak a PHP az ilyen nevű szuperglobális változókon keresztül teszi elérhetővé az ilyen metódussal - kliensoldalról - kapott adatokat. Ergo a kérdésed inkább úgy hangzana jól, hogy az ilyen-olyan keresőűrlapok adatait GET- vagy inkább POST-metódussal érdemes-e elküldeni szerveroldalra. -
fordfairlane
veterán
válasz
Joci93 #15897 üzenetére
25 checkbox esetén célszerű egy listát csinálni, és azon iterálva ellenőrizni, hogy melyik szerepel a bemenőparaméterek közt. A listában lehet egyéb opciókat is tárolni, ha bizonyos checkboxokat egyedileg kell kezelni, validálni, satöbbi.
Mivel nem írtál konkrétumot, így nehéz konkrétumot válaszolni, mindenesetre a 25 már akkora mennyiség, aminél valószínűleg érdemes generalizálni mind a checkboxok html renderelését, mind a submit feldolgozását, és az adattárolás részét. Kérdés, hogy technikailag felkészült-e vagy ilyenre vagy sem.
Alternatívaként érdemes szétnézni a PHP-s web frameworkök (Symfony, Laravel, Zend) form moduljai körül, amik pont ennek az automatizálására vannak kitalálva.
-
Joci93
senior tag
Részletes keresést $_GET[""]-el vagy $_POST[""]-al érdemes csinálni? Illetve, ha van 5 div és összesen 25 checkbox, akkor végig if() elseif() else() formát kell követni? Nincs valami egyszerűbb megoldás?
Köszi -
[30-Jul-2014 10:48:36 UTC] PHP Warning: Invalid argument supplied for foreach() in /home/username/public_html/wp-content/plugins/wordpress-flickr-manager/FlickrManager.php on line 335
Az adott sorban ez található:
(I)foreach($licenses as $license) {(/I)
Ezt a hibát generálja folyton az egyik bővítményem Wordpress-nél. Mit jelent a hiba? Illetve gond, ha figyelmen kívül hagyom?
-
Sleed
aktív tag
válasz
fordfairlane #15882 üzenetére
5.5.11 van most nekem fent, akkor megnézem egy korábbival. köszi
-
válasz
Speeedfire #15887 üzenetére
Ok. Nem lenne egyszerűbb ha nem php csinálná?
Gondolom valami importálás lehet vagy hasonló sok adatot mozgató műveletek halmaza!
-
Speeedfire
félisten
válasz
Sk8erPeter #15883 üzenetére
Az újabb jQuery-ban csak aszinkron van, itt nem lehet gond szerintem.
Ezt a poll-t néztem én is (pl rabbitmq). Nem tudom mennyire lehet jó megoldás, nem foglalkoztam még ilyennel.
Illetve egy ilyen rendszert milyen nehéz lehet lefejleszteni pluszban. Mert egyszerűbb message táblán én is agyaltam már, amihez lenne egy ajax kérés pl setTimeout-tal, ami mindig bekérdez. Ez lenne a legegyszerűbb, de gondolom nem túl elegáns és erőforrás igényes.Van pár ember aki napi 8 órában használja a felület. Szóval egész nap meg van nyitva. Nézi az email-eket is folyamatosan, de ha már ott ül előtte, akkor lássa is az eseményeket, amik a háttérben lefutottak.
fordfairlane: Van az is, viszont a felületen szeretném jelezni az eseményeket.
mobal: Ne akard tudni. -
Sk8erPeter
nagyúr
válasz
fordfairlane #15884 üzenetére
Hát igen, igazából értelmetlen ilyen hosszú műveletre GUI-t alapozni, feltételezve, hogy majd a felhasználó addig megnyitva tartja. Bár lehet, hogy valami webes alapú távoli admin-felületről van szó, ahol mehet a dolog, de akkor is; másik megoldás pl. adatbázisban tárolva bizonyos eseményeket, aztán frissítéskor ellenőrizni, van-e új, és ha igen, akkor értesítőket kirakni a felületre.
-
válasz
Speeedfire #15880 üzenetére
Csak érdeklődés szintjén, mi az ami 20 - 30 percig fut?
-
fordfairlane
veterán
válasz
Sk8erPeter #15883 üzenetére
20-30 percig tartó műveletnél szerintem az emailes értesítés a legmegfelelőbb.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #15880 üzenetére
"Felületről küldök egy kérést a szerver felé ajax-al, ami dolgozik olyan 20-30 percet viszont arra az időre teljesen lehal a felület nem válaszol semmire sem."
Ez esetben az AJAX-nak pont az első A betűs része van elrontva, vagyis a kérés nem aszinkron.Ennek nézz utána a kódban, nem ajánlott szinkron kérést intézni ilyen esetben a szerver felé, mert ellentmond épp a lényegnek.
Kerülő megoldás lehet a pollozás, nyilván figyelve arra, hogy ha elindítottál már egy valakihez tartozó requestet, akkor annál ez a hosszas folyamat ne induljon el újból, hanem adjon vissza valami státuszinfót arról, hogy hol tart a request feldolgozásánál. -
fordfairlane
veterán
Melyik PHP verzión próbálkozol? Nekem jó a numerikus kiíratás 5.4.7 alatt. Ez a kód ezt a kimenetet produkálja:
<?php
$chart = array(
Array ( "x" => "2014-07-17 01:00:21", "y" => 0 ),
Array ( "x" => "2014-07-17 01:05:21", "y" => 0 ),
Array ( "x" => "2014-07-17 01:10:22", "y" => 10 ),
Array ( "x" => "2014-07-17 01:15:21", "y" => 0 ),
Array ( "x" => "2014-07-17 01:20:21", "y" => 20 ),
Array ( "x" => "2014-07-17 01:25:22", "y" => 0 )
);
print_r(json_encode($chart));
?>Kimenet:
[{"x":"2014-07-17 01:00:21","y":0},{"x":"2014-07-17 01:05:21","y":0},{"x":"2014-07-17 01:10:22","y":10},{"x":"2014-07-17 01:15:21","y":0},{"x":"2014-07-17 01:20:21","y":20},{"x":"2014-07-17 01:25:22","y":0}]
-
Sleed
aktív tag
sziasztok, json_encode()-al kapcsolatban lenne egy kérdésem.
adott az alábbi tömb:
Array ( [0] => Array ( [x] => 2014-07-17 01:00:21 [y] => 0 )
[1] => Array ( [x] => 2014-07-17 01:05:21 [y] => 0 )
[2] => Array ( [x] => 2014-07-17 01:10:22 [y] => 10 )
[3] => Array ( [x] => 2014-07-17 01:15:21 [y] => 0 )
[4] => Array ( [x] => 2014-07-17 01:20:21 [y] => 20 )
[5] => Array ( [x] => 2014-07-17 01:25:22 [y] => 0 ) )ezt nekem így alakítja át:
[{"x":"2014-07-17 01:00:21","y":"0"},
{"x":"2014-07-17 01:05:21","y":"0"},
{"x":"2014-07-17 01:10:22","y":"10"},
{"x":"2014-07-17 01:15:21","y":"0"},
{"x":"2014-07-17 01:20:21","y":"20"},
{"x":"2014-07-17 01:25:22","y":"0"}]xCharts-hoz lenne rá szükségem, de valamiért az y tengelyen az értékeket csak akkor lövi be jól, ha az y-hoz tartozó értékek nincsenek idézőjelbe téve.
tehát így:
[[{"x":"2014-07-17 01:00:21","y":0},
{"x":"2014-07-17 01:05:21","y":0},
{"x":"2014-07-17 01:10:22","y":10},
{"x":"2014-07-17 01:15:21","y":0},
{"x":"2014-07-17 01:20:21","y":20},
{"x":"2014-07-17 01:25:22","y":0}]néztem a json_encode() manualját de nem találtam, hogy hogyan lehetne kiszedni azokat az idézőjeleket.
Valakinek van valami ötlete?
köszönöm -
Speeedfire
félisten
Többé-kevésbé off.
Felületről küldök egy kérést a szerver felé ajax-al, ami dolgozik olyan 20-30 percet viszont arra az időre teljesen lehal a felület nem válaszol semmire sem. Megvárja míg a php befejezi a feladatot, ekkor küldök egy jelzést, hogy sikeres vagy sikertelen volt a feldolgozás.
Erre van valamilyen alternatíva, hogy a felületet lehessen használni is közben és a response is visszamenjen?
Olyasmin gondolkodtam, hogy amikor a felületről küldök egy kérést a szerverre, akkor csak egy jelzést adok vissza, hogy megkapta, közben cli-ben futtatom a feldolgozást. Viszont a válasz nem tudom, hogy lehetne visszaadni. -
Joci93
senior tag
válasz
Tele von Zsinór #15875 üzenetére
Köszi
-
DS39
nagyúr
válasz
Tele von Zsinór #15875 üzenetére
köszi.
-
Joci93
senior tag
Na próbálgatom a PDO-t, de még eléggé idegen számomra. Ha jól olvastam a neten, akkor itt nincs num_rows() parancs, hanem külön SELECT-es lekérdezést kell létrehozni COUNT()-al. (Most éppen ezzel próbálkozom.
) Egyébként tetszik, mert tényleg rendezettebb, mint a mysqli-s megoldás.
Egy kérdés a fenti kódoddal kapcsolatban:
Ha így használom a kódot, akkor az nem baj, hogy nincs bindValue benne?$stmt->execute(array(
":receiver" => $idOfReceiver,
":received" => $hasReceivedMessage,
));Köszi
-
DS39
nagyúr
Melyik PHP fejlesztőkörnyezet tudja azt, hogy a projektben ha egy "abc.php" fájlt átnevezek "def.php"-re, akkor a projekt többi fájlját átnézi és ahol hivatkozás van az előbbi fájlra, ott is átírja?
(pl. a NetBeans refactoring tudja ezt?) -
Sk8erPeter
nagyúr
válasz
Joci93 #15871 üzenetére
Szívesen.
"Jelenleg Eclipse-t használok."
Az is teljesen jó.Még szerkesztettem az előző hsz.-t, beleírtam, hogy tudod normálisabban kezelni a hibákat, még azt azért nézd meg.
Mondjuk én a mysqli-ről a helyedben inkább áttérnék PDO-ra, mint előbb látható volt, szebb tud lenni.A PDO-nál az előbb írt felparaméterezéssel ráadásul hibák esetén exceptionök dobódnak, az ilyen jellegű hibákat meg egy try {...} catch(...) {...} blokkban tök szépen le lehet kezelni.
(Amúgy a fentebbi kódot kézzel pötyögtem be, nem próbáltam ki, de remélhetőleg működik egyből.) -
Joci93
senior tag
válasz
Sk8erPeter #15870 üzenetére
Köszönöm
"A kódod legyen később általad és akár más által is olvasható." Igaz, át is fogom írni őket.Jelenleg Eclipse-t használok.
-
Sk8erPeter
nagyúr
válasz
Joci93 #15869 üzenetére
Akkor már csináld objektumorientáltan, ha a lényege szintén az (és amúgy is sokkal szebb):
$mysqli = new mysqli('localhost', '*****', '******', 'test');
A hibaellenőrzés mondjuk nem objektumorientált, de még mindig jobb, mint az "or die(...)":
// check connection
if (mysqli_connect_errno()) {
$errorMsg = mysqli_connect_error();
// hiba volt, csinálj valamit a hibával ($errorMsg-ben lévő hibaüzenetet naplózd, írj ki felhasználóbarát üzenetet, ne hagyd folytatni a script vonatkozó részének végrehajtását, stb.)
}"Az "egyedi" változónevekről én tudom, hogy micsoda és az szerintem bőven elég"
Hát ez egy nagyon rossz hozzáállás. Nem elég! A kódod legyen később általad és akár más által is olvasható. Amúgy meg semmivel nem kerül több időbe normális változóneveket adni (jó, néha nem jut eszébe azonnal a legfrappánsabb név az embernek, akkor lehet, hogy 1-2 másodperccel több).
És ne Notepad++-t vagy valami hasonlót használj, hanem olyan fejlesztőkörnyezetet (IDE), ami normális támogatást ad a kódolásodhoz, és pl. Ctrl+Space-re kiegészíti a kódodat. -
Joci93
senior tag
válasz
Sk8erPeter #15868 üzenetére
Csatlakozás:
$bd = mysqli_connect("127.0.0.1", "*****", "******", "test") or die("Nem sikerült csatlakozni");
Az "egyedi" változónevekről én tudom, hogy micsoda és az szerintem bőven elég, bár igazad van...tényleg lehetnének kicsit beszédesebbek.
PDO-val tényleg sokkal szebb. Lehet, hogy el is kezdem elemezni. Köszönöm -
Sk8erPeter
nagyúr
válasz
Joci93 #15866 üzenetére
A $bd->prepare előtti részt is oszd meg légyszi, hogy hogyan csatlakozol az adatbázishoz (nyilván a felhasználónév-jelszó infót csillagozd ki, vagy valami), és hogyan inicializálod a $bd változót. Egyébként ne használj ilyen változóneveket, mint a $bd, mert nem lehet belőle tudni, hogy az micsoda. Egy változónév legyen beszédes. Olyanokat se használj, hogy $res3, $uzenet2, $uzenet3, mert ez így katyvasz (miért pont 2? Miért pont 3?). Bár remélem csak a demókódodban vannak ilyenek. Illetve elírások: reciever --> receiver, RECIEVED --> RECEIVED.
Amúgy annyira gusztustalan ez a mysqli-s szintaktika (ezzel az $uzenet->bind_param('si', $uzenetszam, $zero); résszel), ha már ilyesmi, akkor PDO-val ezt sokkal szebben meg lehetne oldani, valami ilyesmi lenne ($idOfReceiver változó megfelelője a te kódodban az $uzenetszam):$idOfReceiver = 123123;
$hasReceivedMessage = 0;
$db = new PDO(
"mysql:host=localhost;dbname=test",
"root",
"root",
array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
)
);
$stmt = $db->prepare("SELECT COUNT(reciever) AS uzenet FROM uzenet WHERE reciever =:receiver AND RECIEVED =:received");
$stmt->bindValue(':receiver', $idOfReceiver); // vagy bindParam
$stmt->bindValue(':received', $hasReceivedMessage); // vagy bindParam
$stmt->execute();
/*
// vagy egyben:
$stmt->execute(array(
":receiver" => $idOfReceiver,
":received" => $hasReceivedMessage,
));
*/
$numberOfMessages = $stmt->fetchColumn();
echo 'Number of messages: ', $numberOfMessages; -
Joci93
senior tag
Hali!
Van egy működő lekérdezésem:
$uzenet = mysqli_query($bd, "SELECT COUNT(reciever) AS uzenet FROM uzenet WHERE reciever = '$uzenetszam' AND RECIEVED = '0'");
$uzenet2 = mysqli_fetch_assoc($uzenet);
$uzenet3 = $uzenet2["uzenet"];Páran azt tanácsolták, hogy használjak prepared_statementeket, ami eddig ment is, de most elakadtam.
A fenti lekérdezés működik, viszont ez már nem:$uzenet = $bd->prepare("SELECT COUNT(reciever) AS uzenet FROM uzenet WHERE reciever =? AND RECIEVED =?");
$zero = 0;
$uzenet->bind_param('si', $uzenetszam, $zero);
$uzenet->execute();
$res3= $uzenet->get_result();
$uzenet2 = $res3->fetch_assoc();
$uzenet3 = $uzenet2["uzenet"];Semmi hibát nem ír ki rá az oldal, viszont nem működik. Én már 20 perce keresem a hibát, de nem találom.
-
Sleed
aktív tag
válasz
Sk8erPeter #15864 üzenetére
Nagyon szépen köszönöm a segítséged, átnéztem a kódot, tényleg elegánsabb megoldás mint a másik, és teljesen univerzális. Mindig örülök ha tanulhatok valami új dolgot, ami a későbbiekben még biztosan hasznomra lesz.
-
Sk8erPeter
nagyúr
Nagyon egyszerű a dolog DOMDocument és DOMXPath használatával is, most meló utáni agypihentetőnek megcsináltam.
Elég könnyű volt:
A PHP-fájl, ami az átalakítást elvégzi:
<?php
$originalFilename = './test.html';
$newFilename = './test_MODIFIED.html';
$dom = new DOMDocument();
$dom->loadHTMLFile($originalFilename);
$xpath = new DOMXPath($dom);
$nodes = $xpath->query("//table[@id='starwars-table']/tbody/tr/td");
foreach ($nodes as $tdNode) {
$anchorNode = $dom->createElement('a', $tdNode->nodeValue);
$anchorNode->setAttribute('href', 'http://starwars.com/' . $tdNode->nodeValue . '-robot/' . strtolower($tdNode->nodeValue) . '.php');
$anchorNode->setAttribute('target', '_blank');
$tdNode->nodeValue = '';
$tdNode->appendChild($anchorNode);
}
// Create new file
//$dom->saveHTMLFile($newFilename);
// Print output
echo $dom->saveHTML();A tesztbemenet HTML-kódja, vagyis a kódban hivatkozott test.html tartalma:
<!DOCTYPE html>
<html>
<head>
<title>Asdasd</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div>
<table id="starwars-table">
<thead>
<tr>
<th>Test table header 1</th>
<th>Test table header 2</th>
<th>Test table header 3</th>
<th>Test table header 4</th>
</tr>
</thead>
<tbody>
<tr>
<td>TR-25-A</td>
<td>TR-25-B</td>
<td>2-2-SA</td>
<td>2-2-QWE</td>
</tr>
</tbody>
</table>
</div>
</body>
</html>A kód által előállított kimenet:
<!DOCTYPE html>
<html><head><title>Asdasd</title><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body>
<div>
<table id="starwars-table"><thead><tr><th>Test table header 1</th>
<th>Test table header 2</th>
<th>Test table header 3</th>
<th>Test table header 4</th>
</tr></thead><tbody><tr><td><a href="http://starwars.com/TR-25-A-robot/tr-25-a.php" target="_blank">TR-25-A</a></td>
<td><a href="http://starwars.com/TR-25-B-robot/tr-25-b.php" target="_blank">TR-25-B</a></td>
<td><a href="http://starwars.com/2-2-SA-robot/2-2-sa.php" target="_blank">2-2-SA</a></td>
<td><a href="http://starwars.com/2-2-QWE-robot/2-2-qwe.php" target="_blank">2-2-QWE</a></td>
</tr></tbody></table></div>
</body></html>Kicsit összenyomja a kódot, de gondolom ez nem para, az elvártak szerint lesz így már linkelve a szöveg.
Persze itt a táblázat azonosítója a starwars-table, ezt rögzítettem az XPath-ban.
Arra figyelj, hogy itt a HTML-kódban megadtam az egyébként opcionális <tbody> taget is (amúgy érdemes használni, szemantikailag picit szebb a kód tőle, ha van fejléc is, akkor meg azt érdemes <thead>-be rakni, úgy főleg szépen elkülönül a törzstől), ezt az XPath-ban is rögzítettem, de ha nálad nincs <tbody> tag használva, akkor szedd ki az XPath-ból is a tbody/ részt.
Ja, és kommentezve direkt odaraktam a $dom->saveHTMLFile($newFilename); sort is, amely a $newFilename változó tartalmában megadott névvel új dokumentumot hoz létre az új kimenettel (magyarul el tudod menteni másik fájlba a lecserélt változatot).Demonstrálás céljából felraktam neked ide a komplett kódot:
Itt persze a sima loadHTML metódust használtam a loadHTMLFile helyett, mivel itt nem fájltartalmat töltök be.
-
Sleed
aktív tag
válasz
Sk8erPeter #15860 üzenetére
Igazad van, tényleg nem volt elég egyértelmű.
A táblázatban az angol abc karakterei (kizárólag nagybetűvel),számok valamint kötőjelek fordulnak elő.
pl: TR-25-A vagy 2-2-SAaz ezekhez rendelni kívánt kód pedig:
<td><a target="_blank" href="http://starwars.com/TR-25-A-robot/tr-25-a.php">TR-25-A</a></td>
<td><a target="_blank" href="http://starwars.com/2-2-SA-robot/2-2-sa.php">2-2-SA</a></td>PumpkinSeed megoldása lesz szerintem a nyerő,reguláris kifejezésekben jobban otthon vagyok, hiába szebb/hatékonyabb/biztosabb a DOM-os módszer.
köszönöm mindkettőtöknek
-
Sk8erPeter
nagyúr
válasz
PumpkinSeed #15861 üzenetére
Nem biztos, hogy kell reguláris kifejezés, a DOM-bejáró módszerek is simán elegendőek lehetnek ([link]), ez lenne a szebb/hatékonyabb/biztosabb módszer, de ehhez a korábbinál egy fokkal pontosabb specifikáció kellene.
-
PumpkinSeed
addikt
Beolvasod a HTML fájlból az egész táblázatot, majd egy megfelelő reguláris kifejezés segítségével elemeire bontod, a táblázat számodra kellő elemeit letárolod egy tömbben. Majd
echo "<td><a target="_blank" href="http://starwars.com/".$tomb[1]."-robot/".strtolower($tomb[1]).".php">".$tomb[1]."</a></td>";
Értelemszerűen a $tomb[1]-nél az egyes helyére egy for ciklus segítségével beteszel egy változót ami végig indexeli a táblád összes elemét. Röviden és tömören egy nagyon kezdetleges és általános megoldás.
-
Sk8erPeter
nagyúr
"a többit is hasonlóan"
Milyen a többi? Azt is ismerni kell, különben nehéz általános átalakítást javasolni rá. Legalább még pár példát mondanod kéne.Például ha van egy <td>kutya-füle</td>, akkor abból lesz
<td><a target="_blank" href="http://starwars.com/kutya-füle-robot/kutya-füle.php">kutya-füle</a></td>
? Vagy mi? Mert az alapján, amit írtál ("többit is hasonlóan"), ez lenne a logikus.
-
Sleed
aktív tag
sziasztok,
van egy HTML táblám sokszáz cellával.
azt szeretném az összessel megcsinálni, hogy pl. a <td>R2-D2</td> cellámat átalakítom
<td><a target="_blank" href="http://starwars.com/R2-D2-robot/r2-d2.php">R2-D2</a></td>
alakúra. Az a többit is hasonlóan.
Valaki tudna segíteni, hogy ezt hogyan tudnám megcsinálni?
köszönöm -
Zedz
addikt
Sziasztok,
CodeIgniterrel ismerkedem jelenleg, és van egy kis "problémám". A működési elv az lenne, hogy van egy form, amit ha kitöltök akkor annak adatait berakja egy mysql adatbázisba, majd például újra látogatva ezt a formot, a régebben felvitt adatok már ott lennének mint input valuek.
Miért lehet az, hogyha elküldöm a formot, akkor az inputok üresek elsőre, majd másodszori oldalújratöltésnél kapják csak meg az értékeik? Illetve újratöltésnél újra akarja küldeni az adatokat. Ennek nem úgy kellene működnie, hogy form küldés után azonnal a legfrissebb oldalt kapom?
-
kemkriszt98
tag
válasz
Sk8erPeter #15856 üzenetére
Akkor nem éri meg megtanulnom mert munka nélkül maradsz
-
Sk8erPeter
nagyúr
válasz
kemkriszt98 #15855 üzenetére
Látod, már megérte szólnom érte.
Muszáj mindig kijavítanom az ilyesmit! Mivel az eredeti problémádat már megoldották, nekem nem maradt más hátra, mint javítani a helyesírási hibát.
-
kemkriszt98
tag
válasz
Sk8erPeter #15854 üzenetére
Hogy az ember még egy programozással kapcsolatos topikban is tanulhat valamit a helyesírásról
am. mindig is pocsékul írtam.. pedig én megpróbáltam...
-
Sk8erPeter
nagyúr
válasz
kemkriszt98 #15851 üzenetére
mindíg--> mindig, szép rövid i-vel -
kemkriszt98
tag
válasz
fordfairlane #15852 üzenetére
LOL
-
fordfairlane
veterán
válasz
kemkriszt98 #15851 üzenetére
Van egy sortörés a nyitó és záró textarea tag között, így submitnál szerintem a $_POST[''desc] egy sortörést fog tartalmazni, ha nem írsz bele semmit.
-
kemkriszt98
tag
Sziasztok , azzal a fránya formal még mindíg baj van....
<form id="theForm" action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file" accept="image/*">
<textarea name="desc" rows="10" cols="40" form="theForm" id="desc">
</textarea>
<input type="submit">
</form><?php
if($_FILES['file']['error']>0 || empty($_POST['desc'])){
include("admin.php");
echo"Something is missing";
}else{
move_uploaded_file($_FILES['file']['tmp_name'], "upload/".$_FILES['file']['name']);
include("admin.php");
echo"Uploaded";
}
?>folyton az else ág fut le, akkor is ha nem írok be semmit a szövegmezőbe....
-
kemkriszt98
tag
válasz
Tele von Zsinór #15849 üzenetére
Ok
-
Tele von Zsinór
őstag
válasz
kemkriszt98 #15848 üzenetére
Arra kell, hogy működjön a feltöltés
-
kemkriszt98
tag
válasz
Tele von Zsinór #15847 üzenetére
És ez mire is kell? Eddig nem használtam és nem volt baja...
-
Tele von Zsinór
őstag
válasz
kemkriszt98 #15845 üzenetére
Hiányzik a formodról az enctype="multipart/form-data" attribútum.
-
kemkriszt98
tag
válasz
kemkriszt98 #15845 üzenetére
Bocs, elfelejtettem, hogy több index is van
a "file"-t hiányolja...
-
kemkriszt98
tag
Sziasztok, egy képet próbálok feltölteni de folyton azt a hibaüzenetet kapom, hogy: Undefinied index:...
itt a HTML kód:
<form id="theForm" action="upload.php" method="POST">
<input type="file" name="file" accept="image/*">
<input type="submit">
</form>és a PHP:
<?php
$name = $_FILES['file']['name'];
$temp_name = $_FILES['file']['temp_name'];
if(isset($name)){
if(!empty($name)){
$location = 'upload/';
}
if(move_uploaded_file($temp_name, $location.$name)){
echo 'uploaded';
}
} else {
echo 'please uploaded';
}
?> -
Tele von Zsinór
őstag
válasz
PumpkinSeed #15843 üzenetére
Akkor már inkább password_hash() legyen a javaslat. Ha még nem lenne 5.5-ös php-d, arra is van megoldás.
-
PumpkinSeed
addikt
válasz
kemkriszt98 #15838 üzenetére
A kódban így tudod elrejteni a jelszót.
-
Peter Kiss
őstag
A mysql_query és társai csak 1 utasítást visznek át, te meg 3-at adsz ki.
-
biker
nagyúr
biztos megint én vagyok a hülye, de.....
ha egy triggert létre tudok hozni myadminban, akkor ez miért nem hozza létre? ugyanazt a parancsot használom rá.
mysql_query("DELIMITER |
CREATE TRIGGER `kassza_log` AFTER INSERT ON `fitness_kassza` FOR EACH ROW BEGIN INSERT INTO `fitness_kassza_2` (osszeg,mire,reszletes) VALUES(NEW.osszeg,NEW.mire,NEW.reszletes); END;
|
DELIMITER ;
"); -
DeltaPower
addikt
válasz
kemkriszt98 #15836 üzenetére
Apache basic auth [link]
-
Joci93
senior tag
válasz
kemkriszt98 #15836 üzenetére
-
kemkriszt98
tag
Sziasztok, egy admin felületet kellene létrehozzak amit jelszóval védenék le. A kérdésem az, hogy milyen módszert ajánlanátok a jelszó eltárolására? Csak úgy a kódba, stringként megadni gondolom nem épp előnyös viszont mivel ez az egyetlen jelszó ezért ha van más mód nem hoznék csak emiatt létre egy adatbázist... ill ez nekem kicsit olyan mint ágyúval lőni verébre...
-
DS39
nagyúr
válasz
Peter Kiss #15833 üzenetére
köszi, így már működik
viszont ha nem wamp serverben vagyok, hanem a 000webhost-on ott már nem tudom ezt bekapcsolni.nem ragaszkodom a gmail-hez, úgy is külön címet akarok létrehozni ehhez, ssl nélkül melyikkel működik?
-
DS39
nagyúr
PHPMailer-rel szeretnék, gmail smtp-n keresztül levelet küldeni, de SMTP connect hibát kapok.
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->SMTPSecure = "SSL";
$mail->Host = "smtp.gmail.com";
$mail->Port = 465;ezek a beállítások, ezután a felhasználónév és jelszó van, de az biztos jó.
mi lehet a hiba?
-
Tele von Zsinór
őstag
válasz
#68216320 #15824 üzenetére
Igen, ezzel az is megbízhatóan megoldható. A feladat ennyi:
- kigyűjteni az összes képet (erre nagyon jó az xpath)
- végigmenni ezeken, és:
- csinálni egy linket úgy, hogy működjön vele a JS nézegető
- gyerekének berakni a képet
- majd a képet az eredetiben kicserélni a linkrekemkriszt98 a problémád az (volt), hogy az end() függvénynek nem változót adtál át - megcsinálja, de ha úgy van beállítva a hibajelzésed, akkor figyelmeztet, hogy nem jó.
Ez a függvény a paraméterében referenciát vár, mert módosítja a kapott változót, egészen konkrétan a tömb belső mutatóját átállítja az utolsó elemre majd visszaadja azt. Ennek az átállításnak nincs értelme akkor, ha nem változót adsz át, mint ahogy te tetted először. És ezért oldódott meg, amikor fordfairlane kolléga tanácsára hallgatva szedted szét a kódod.
-
kemkriszt98
tag
válasz
fordfairlane #15828 üzenetére
Működik
-
fordfairlane
veterán
válasz
kemkriszt98 #15827 üzenetére
$filenamestruct = explode('.', $file);
$file_type = strtolower(end($filenamestruct)); -
DNReNTi
őstag
válasz
kemkriszt98 #15825 üzenetére
Bontsd szét azt a szépséget.
Ha jól gondolom az fáj neki hogy az strtolower-ben nem egy változót hanem függvényben függvény kimenetét adod meg. Így kipróbálás nélkül szerintem így jó lesz:
$file_type = end(explode('.', $file));
$file_type_low = strtolower($file_type); -
kemkriszt98
tag
Sziasztok, adott ez a php kód:
<?php
$dir = "img/galery";
$file_display = "png";
$dir_contents = scandir($dir);
$id = 0;
foreach($dir_contents as $file){
$file_type = strtolower(end(explode('.', $file))); // line 31
if($file_type == $file_display){
echo "<img class='galery' id='".$id."' onclick='onClick(this.src)' src='".$dir."/".$file."' alt='".$file."'/>";
$id++;
}
}
?>a poén az, hogy betölti a képeket de előttük kapok egy ilyen üzenetet:
Strict standards: Only variables should be passed by reference in ... on line 31
-
#68216320
törölt tag
válasz
Tele von Zsinór #15823 üzenetére
Tyuhajja ...
Elég kesze-kusza még nekem, de ha jól tévedek akkor ezzel egy régi problémám is megoldható elméletileg. Talán.
Nevezetesen a html oldal képeit alakítsuk linkekké ... Csak nem megoldás arra is?
A lényeg, hogy egy adminon a user-t nem tudom megtanítani arra, hogy linkként szúrja be a képet egy editorba. Csak úgy bevágja és annyi. Ezzel viszont megoldhatom utólag, hogy kattintva mondjuk valami js nézegetőben nyiljon meg. -
#68216320
törölt tag
Egy weboldalon található tartalom közül szeretném PHP segítségével kibányászni a megfelelő adatokat és SQL táblába pakolni. Jelen esetben a mázli az, hogy az adatok html táblában vannak.
Sikerült magát a táblát az explode() fügvénnyel elkülönítenem a többi tartalomtól és eredményként ilyesmit kapok:<tr>
<td>valami1-1</td>
<td>valami1-2</td>
<td>valami1-3</td>
</tr>
<tr>
<td>valami2-1</td>
<td>valami2-2</td>
<td>valami2-3</td>
</tr>
<tr>
<td>valami3-1</td>
<td>valami3-2</td>
<td>valami3-3</td>
</tr>
...A <td> -ben css és html paraméterek szerepelnek elég vegyesen, pl <td class="stilus" align="left"> és ehhez hasonló dolgok.
Szeretném az egyes <tr>-eket az SQL egyes sorainak megfeleltetni, míg az ebben lévő <td>-k tartalmát az egyes mezőkben tárolni.
Csak tippelek, hogy valami XML-szerű megoldással lehetne jól kezelni, de pici segítségre volna szükségem, hogy miként induljak el. -
Agony
aktív tag
Sziasztok!
Teljesen amatőr vagyok a PHP-hoz, de találtam magamnak egy érdekes kihívást és ehhez szeretnék egy kis iránymutatást kérni hozzáértőktől.
Egy egyszerű oldalt csináltam amin a látogatók jelentkezhetnek versenyekre, azon belül pedig versenyszámokra és egy mysql lekérdezésből láthatják is az addig benevezetteket.
Eddig nem is volt bonyolult kb. zéró php és mysql tudással pár óra alatt össze lehetett dobni, viszont szeretnék ha tudnák törölni és módosítani is a nevezéseiket, hogy ne csak az adminon keresztül intézhessék.Ez -szerintem- csak felhasználói fiókokkal lehet megoldani ezért kerestem erre a célra egy regisztrációs és login scriptet, amit kicsit személyre szabtam és sikerült működésre bírni, viszont itt a nulla php tudásomnak köszönhetően léket kaptam. :S
A login oldal kész van, ezen belül három aloldal van (versenyek, nevezés, nevezéseim), de sajnos ötletem sincs, hogy ezen belül, hogy oldjam meg, hogy a userek kezelhessék a saját nevezéseiket.
Ismertek esetleg erre vonatkozólag valami jó tutorialt? Az se baj, ha az egészet elölről kell kezdeni
A teljes oldal letölthető innen egy rar fájlban.
Előre is köszönöm a segítséget!
-
PumpkinSeed
addikt
válasz
Joci93 #15817 üzenetére
Milyen hibát dob?
Ez így szerintem azért nem jó, mert gondolom azért használtál függvényt, hogy többször felhasználd a kódot, na így most minden függvényhívásnál "feleslegesen" includeolod a config.php-t. Ez olyan mintha minden mondatod előtt bevennél egy újabb Orbitot és a mondandód végére tele lenne rágóval a szád.
-
Joci93
senior tag
Egy formai kérdésem lenne hozzátok.
Ez így mennyire biztonságos? (Ha a function-on belül nem includeolom a config.php-t, ugye akkor nem fog lefutni a lekérdezés, hiába szerepel a function Users(){} előtt az említett include,
function Users()
{
include('config.php');
$uid2= $_SESSION["admin"];
$users = mysqli_query($bd, "Select name from users where id != '$uid2'");
$usersfetch = mysqli_fetch_array($users);
echo $usersfetch['name'];
} -
CRON job "cgi"-ként fut le (a PHP_SAPI változó értéke cgi és nem cli). Erre ötlet?
mobal,
-
kemkriszt98
tag
válasz
Tele von Zsinór #15811 üzenetére
Hát ennyit nem ér a teszt
Alapból windowsos vagyok úgyhogy ez nekem Mac-en kicsit sok
Majd otthon a gépen... Azért kösz
-
Tele von Zsinór
őstag
válasz
kemkriszt98 #15809 üzenetére
Macen ugyanúgy sendmail kell neki. Hogy ilyened legyen, telepíteni kell egy levelezőszervert, mint a postfix vagy az exim.
Ezt megúszhatod a korábban írt valamelyik mailer lib használatával, amiknek meg lehet adni, hogy smtp felett küldjék ki a leveled, ide meg beállíthatod mondjuk a mailtrapot, ami direkt erre lett kitalálva.
-
Moretimer
aktív tag
Ok, azért kösz.
-
kemkriszt98
tag
válasz
Tele von Zsinór #15808 üzenetére
Jó majd megnézem azokat is... Addig is, hogy tesztelni tudjam, Mac-en vajon mit kell állítani?
-
Tele von Zsinór
őstag
válasz
kemkriszt98 #15804 üzenetére
Önmagában az, hogy a php helyesen fut, még nem elég a levélküldéshez. Windowson be kell állítani SMTP szervert, linuxon pedig helyesen működő sendmail kell; mindkettőt php.ini-ben tudod utána beállítani, merre találja a php.
A mail függvény helyett nézd meg a Swiftmailer vagy a PHPMailer könyvtárakat, értelmesebben, megbízhatóbban működnek, mint a mail().
-
Moretimer
aktív tag
Jogos!
<HEAD>
<script type="text/javascript" src="calendar/mootools.js"></script>
<script type="text/javascript" src="calendar/calendar.rc4_hu.js"></script>
<script type="text/javascript">
//<![CDATA[
window.addEvent('domready', function() {
myCal2 = new Calendar({ date1: 'Y.m.d.' }, { classes: ['dashboard'], direction: 1, tweak: {x: 3, y: -3} });
myCal2 = new Calendar({ date2: 'Y.m.d.' }, { classes: ['dashboard'], direction: 1, tweak: {x: 3, y: -3} });
});
//]]>
</script>
<link type="text/css" rel="stylesheet" href="css/stylesheet_small.css">
<?php
if (isset($email))
{
$hiba = "";
$date1 = chop ($date1);
$date2 = chop ($date2);
$felnott = chop ($felnott);
$gyerek = chop ($gyerek);
$szobatipus = chop ($szobatipus);
$ellatas = chop ($ellatas);
$telefon = chop ($telefon);
$email = chop ($email);
$megjegyzes = chop ($megjegyzes);
if ($date1 == "") $hiba .= "<font color='red'><b>Hiányzó érkezés!<b></font>";
else if ($date2 == "") $hiba .= "<font color='red'><b>Hiányzó távozás!<b></font>";
else if ($felnott == "") $hiba .= "<font color='red'><b>Hiányzó létszám!<b></font>";
else if ($szobatipus == "") $hiba .= "<font color='red'><b>Hiányzó szobatípus!<b></font>";
else if ($ellatas == "") $hiba .= "<font color='red'><b>Hiányzó ellátás!<b></font>";
else if ($telefon == "") $hiba .= "<font color='red'><b>Hiányzó telefonszám!<b></font>";
else if ($email == "") $hiba .= "<font color='red'><b>Hiányzó e-mail cím!<b></font>";
}
?>
</HEAD>
<HTML>
<BODY>
<?php
print "<FORM action='".$PHP_SELF."' method='POST'>
<table class='form_box' align='center' width='190px' border='0'>
<tr valign='top'>
<td width='95px'>ÉRKEZÉS</td>
<td width='95px'>TÁVOZÁS</td>
</tr>
<tr>
<td><input id='date1' name='date1' type='text'></td>
<td><input id='date2' name='date2' type='text'></td>
</tr>
<tr>
<td>FELNŐTT</td>
<td>GYEREK</td>
</tr>
<tr>
<td><input type='text' name='felnott' value='".$felnott."' size='8' maxlength='2'></td>
<td><input type='text' name='gyerek' value='".$gyerek."' size='8' maxlength='2'></td>
</tr>
<tr>
<td>SZOBATÍPUS</td>
<td>ELLÁTÁS</td>
</tr>
<tr>
<td>
<select name='szobatipus' value='".$szobatipus."'>
<option value='' selected'></option>
<option value='Egyágyas'>Egyágyas</option>
<option value='Kétágyas'>Kétágyas</option>
<option value='Családi'>Családi</option>
</select>
</td>
<td>
<select name='ellatas' value='".$ellatas."'>
<option value='' selected'></option>
<option value='Reggeli'>Reggeli</option>
<option value='Félpanzió'>Félpanzió</option>
</select>
</td>
</tr>
<tr>
<td>TELEFONSZÁM</td>
<td>E-MAIL CÍM</td>
</tr>
<tr>
<td><input type='text' name='telefon' value='".$telefon."' size='8' maxlength='50'></td>
<td><input type='text' name='email' value='".$email."' size='8' maxlength='50'></td>
</tr>
<tr>
<td>MEGJEGYZÉS</td>
<td><textarea rows='3' cols='33' name='megjegyzes' value='".$megjegyzes."'></textarea></td>
</tr>
<tr>
<td align='center'><input type='submit' value='Küldés!' class='form_box_button'></td>
<td>";
if (!isset($email) || $hiba != "")
{
if ($hiba != "") print ($hiba);
print "</td>
</tr>
</table>
</FORM>
";
}
else if ($hiba == "")
{
$ido = date("Y.m.d. - H:i:s", time())."\r\n";
$fejlecek = 'Content-type: text/html; charset=utf-8' . "\n";
$fejlecek = 'MIME-Version: 1.0' . "\n";
$fejlecek = 'From: '.$email."\n";
$fejlecek = 'Reply-To: '.$email."\n";
$fejlecek = 'Errors-to: '.$email."\n";
$cimzett = 'rendeles@lorenapanzio.hu';
$targy = 'Ajánlat kérés';
$uzenet = "
<br>
<small>Önnek üzenete érkezett a <b>Szoba.LorenaPanzio.hu</b> weboldalról.<br>
A feladás időpontja: ".$ido."</small>
<hr>
<br>
Tisztelt Hölgyem / Uram!<br>
<br>
Ezúton szeretnék árajánlatot kérni az alábbiak szerint:<br>
<table align='center' width='500px' border='0'>
<tr>
<td width='150px'><b>Érkezés:</b></td> <td width='350px'>".$date1."</td>
</tr>
<tr>
<td><b>Távozás:</b></td> <td>".$date2."</td>
</tr>
<tr>
<td><b>E-mail:</b></td> <td>".$email."</td>
</tr>
<tr>
<td><b>Telefonszám:</b></td> <td>".$telefon."</td>
</tr>
<tr>
<td><b>Felnőttek száma:</b></td <td>".$felnott." fő</td>
</tr>
<tr>
<td><b>Gyerekek száma:</b></td> <td>".$gyerek." fő</td>
</tr>
<tr>
<td><b>Szobatípus:</b></td> <td>".$szobatipus."</td>
</tr>
<tr>
<td><b>Ellátás:</b></td> <td>".$ellatas."</td>
</tr>
</table>
<br>
Várom mielőbbi visszaigazolását a fenti e-mail címre, vagy a telefonszámra!<br>
<br>
<hr>
<small><b>FONTOS:</b> Ez egy árajánlat kérő levél! Az erre küldött árajánlat (vendég által történő) újbóli visszaigazolásával számít megrendelésnek!</small>";
mb_internal_encoding("UTF-8");
$targy = mb_encode_mimeheader($targy, "UTF-8", "Q");
$tartalom = "<html><title>".$subject."</title><head>".$fejlecek."</head><body>".$uzenet."</body></html>";
$kuldes = wp_mail($cimzett, $targy, $uzenet, $fejlecek);
}
?>
</BODY>
</HTML> -
kemkriszt98
tag
válasz
Sk8erPeter #15803 üzenetére
Gondoltam ha azt mondom, hogy nem küldi el akkor ebben minden benne van de akkor részletezem
Bekerülök a feltételblokkba (100%) és nem ad hibaüzenetet, csak nem küldi el az e-mailt. Amúgy most jutott eszembe: laptopról vagyok és itt eddig nem volt szerverem. PHP miatt most rögtönöztem egyet de semmi extra (pl. nincs port forward). Ez lehet probléma?
-
Sk8erPeter
nagyúr
válasz
kemkriszt98 #15802 üzenetére
Köszönjük, hogy ilyen szépen részletezted az esetet, hogy milyen hibaüzenetet kapsz, ha kapsz egyáltalán, és belekerülsz-e a feltételblokkba, vagy sem.
-
kemkriszt98
tag
Sziasztok, adott ez a kód de nem igazán küldi el az e-mailt, ezt most googliztam szóval ne szidj tulzottan
<?php
if(!empty($_POST['mail']) && !empty($_POST['sb']) && !empty($_POST['msg'])){
$from = $_POST['mail'];
$sb = $_POST['sb'];
$message = $_POST['msg'];
mail("kemkriszt@yahoo.com",$sb,$message,"From: $from\n");
echo("Jea");
}
?>
Új hozzászólás Aktív témák
Hirdetés
- Szeged és környéke adok-veszek-beszélgetek
- Milyen autót vegyek?
- Honda topik
- Fortnite - Battle Royale & Save the World (PC, XO, PS4, Switch, Mobil)
- Apple Watch Sport - ez is csak egy okosóra
- Milyen billentyűzetet vegyek?
- Elektromos cigaretta 🔞
- Nem várt platformon a OnePlus Nord 5
- Két új Ryzen közül választhatnak a kézikonzolok
- Linux kezdőknek
- További aktív témák...
- GOPRO Hero 11 BLACK - 5.3k akciókamera - 2 akku, tartozékok (5.)
- DJI AVATA 2 Fly More Combo 1 akku - drón szett DJI Goggles N3 FPV szemüveggel
- Sony PlayStation 5 ( PS5 ) Sony PlayStation VR2 Csomag
- Dell Precision 7680 Eco FHD+ 13600HX 14C / 16G D5 / 1T G4 workstation
- Gigabyte GA-Z68A-D3-B3 LGA 1155 alaplap
- BESZÁMÍTÁS! Sony PlayStation4 PRO 1TB fekete konzol extra játékokkal garanciával hibátlan működéssel
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- ÁRGARANCIA! Épített KomPhone Ryzen 5 7600X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- Samsung Galaxy S23 Ultra 256GB, Kártyafüggetlen, 1 Év Garanciával
- Geforce GTX 1050, 1050 Ti, 1060, 1650, 1660 - GT 1030 - Low profile is (LP)
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest