- Android szakmai topik
- Milyen okostelefont vegyek?
- iPhone topik
- Apple Watch
- A hagyományos (nem okos-) telefonok jelene és jövője
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Fotók, videók mobillal
- Samsung Galaxy Watch (Tizen és Wear OS) ingyenes számlapok, kupon kódok
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Android alkalmazások - szoftver kibeszélő topik
Új hozzászólás Aktív témák
-
Speeedfire
félisten
válasz
Speeedfire #4900 üzenetére
Úgy érzem valami azért csak ragadt rám tőletek.
<?php $url = str_replace("/!!!linkek.tothszabi.info/","",$_SERVER['REQUEST_URI']);
echo '<div id="nav">
<ul>
<li'.(($url == '?oldal=kategoria') ? ' id="current"' : '').'><a href="?oldal=kategoria">Főoldal</a></li>...........; -
zka67
őstag
válasz
Speeedfire #4897 üzenetére
Csak viccnek szántam!
Én március körül kezdtem a PHP-t, eddig valahogy kimaradt az életemből. Html-el pedig foglalkoztam régebben. Nekem nem volt nagy ügy megszokni a PHP-t, mondtam már, hogy több mint 25 éve programozok. De marhára megtetszett, annyira, hogy a mostani melóm nagy részét is PHP-ben írom. Tetszik, hogy web-en keresztül is tudok más programmal kommunikálni, és sokkal egyszerűbb meg szebb így adatbázist kezelni mint pl. delphiből.
-
DeltaPower
addikt
válasz
Speeedfire #4894 üzenetére
unset($_POST['hibas_mezo_neve']);
-
zka67
őstag
válasz
Speeedfire #4894 üzenetére
Nem akartam így fogalmazni
-
zka67
őstag
válasz
Speeedfire #4891 üzenetére
Bocs, én hagytam ki a zárójelet. Úgy látom alapvető értelmezési problémáid vannak a programozást illetően
Először elmented a post-olt adatokat, pl. úgy mint a példában írtam.
Aztán kiértékeled őket. Amelyikben hiba van, azt a változót törlöd.
A végén pedig visszaírod az input-ba a változót.Ennél érthetőbben én nem tudom a szádba rágni.
fordfairline: ronda-ronda, de nemrég kezdte a programozást. Én 25 éve programozok és visszanézve egy-két évvel korábbi programjaimat én is mosolygok néha
De ez tíz évvel ezelőtt is így volt.
-
fordfairlane
veterán
válasz
Speeedfire #4890 üzenetére
"fordfairlane: ennyire ronda lenne a forrás?
"
Legalábbis az én szememnek az.
-
Speeedfire
félisten
válasz
Speeedfire #4890 üzenetére
jól van, figyelmetlen voltam, volt egy zárójel hiány tökéletes
viszont lenne akkor még 1 kérdésem ezzel kapcsolatban, mi van akkor pl ha kitöltök mindent viszont ami miatt a hiba volt azt hagyja üresen? -
fordfairlane
veterán
válasz
Speeedfire #4885 üzenetére
Atyavilág, ezt a spagettikódot.
-
zka67
őstag
válasz
Speeedfire #4887 üzenetére
A múltkor odaadtam a filmkatalógusom forrását, nézd meg abban a visszaírást. Baromi bonyolult
Szerk: mondjuk abban épp nincs ilyen. A lényeg a következő:
$value = (isset($_POST['value']) ? ' value="'.$_POST['value'].'"' : '';
majd az inputban
<input name="value" type="text"'.$value.' />
-
DeltaPower
addikt
válasz
Speeedfire #4885 üzenetére
alapvetően meg kellene cserélned a form kiíratását és a küldött adatok ellenőrzését, az ellenőrzés legyen előbb. így ha hiba van, akkor a form elemeknél vissza tudod írni a value-be a küldött értékeket, ha pedig nincs, akkor ki se kell íratni a formot.
(szerk) így a hibákat is a form elé tudod íratni.(megjegyzés: capchába nem szoktuk visszaírni a hibás értéket.) -
Sk8erPeter
nagyúr
válasz
Speeedfire #4879 üzenetére
Most nincs időm átnézni a kódot, de az ilyen mennyiségű idézőjel-escape-eléseket elkerülhetnéd (így nagyon áttekinthetetlen szerintem):
echo "<div class=\"margo\"><table><tr><td class=\"num\">\n$lines\n</td><td>\n$content\n</td></tr></table></*div>";
(Itt ez a </*div> amúgy hibás)
sima aposztrófok használatával:
echo '
<div class="margo">
<table>
<tr>
<td class="num">'.$lines.'</td>
<td>'.$content.'</td>
</tr>
</table>
</div>'; -
vzs
tag
válasz
Speeedfire #4881 üzenetére
Ránézésre az rss-ben a karakterkészlet nem felel meg a fejlécben levő ékezetes karakterekével. Van használj ISO-8859-2 kódolást, vagy a karaktereket kódold át utf-8-ra.
A kérdőjelek az tipikus karakterkódolási hiba, az adatbázis karakterkészlete nem egyezik meg a gépeden levő adatbáziséval. Állítsd át és töltsd fel újra az adattáblákat.
-
Speeedfire
félisten
válasz
Speeedfire #4879 üzenetére
egyelőre csak annyit tudtam csinálni, hogy bizonyos fájlokat letiltottam, több mint a semmi
más: az oldalam felkerült az éles tárhelyre és sajnos gondok adódtak vele a karakter kódolással
localhost alatt nagyon jól működik, viszont a serveren már nem, pedig minden ugyanúgy van fent ahogy localhost alatt volt
localhost alatt rendesen mutatta az őű betűket, viszont a tárhelyen már csak ??másik: van egy rss.php ami az eddig feltöltött tartalmakat szépen megcsinálja, viszont chrome alatt nem jelenik meg semmi sem
van valami más megoldás dinamikus rss készítésére? -
zka67
őstag
válasz
Speeedfire #4876 üzenetére
Ja, lükegyerek!
A header előtt nem lehet az outputon semmi! A másik, az összehasonlítást == -vel írjuk
Én pl. nem szoktam echo-t használni, hanem minden html-t először beleteszek egy $html változóba és csak a legvégén írom ki egy echo-val. Így ha közben át kell irányítani az oldalt, akkor nálam minden további nélkül mehet a header. Meg lehet csinálni ob_clean-el, de én azt nem szeretem.
-
Speeedfire
félisten
válasz
Speeedfire #4875 üzenetére
a print_r függvény szerint minden rendben van
minden adatot postol rendesenArray ( [lista] => szerkeszt [sorszam] => 45 )
-
zka67
őstag
válasz
Speeedfire #4873 üzenetére
<input type=\"hidden\" name=\"sorszam\" value=\"" .$row['sorszam']. "\" />
A $row['sorszam']-odba mégis hogyan kerül érték?
-
Tele von Zsinór
őstag
válasz
Speeedfire #4859 üzenetére
Használd az "u" módosítót, ez mondja meg a PCRE-nek, hogy unicode karaktereket használsz.
-
-
wis
tag
válasz
Speeedfire #4860 üzenetére
Az if tartalma csak akkor hajtódik végre ha a kifejezés igaz, jelen esetben minden küldött adat empty. Szóval ha már a captcha ki van töltve akkor az hamis lesz, és így az egész kifejezés is. Cseréld le az AND-eket OR-okra.
Más: az isset-es if-et le is hagyhatod, mert az empty()
hamisatigazat fog visszaadni, ha nem létezik. -
Tele von Zsinór
őstag
válasz
Speeedfire #4850 üzenetére
Nem tudom, mit csinál az intro() függvényed, de így látatlanban a substr()-t hívja. Az oldalad utf8, egy multibyte kódolás, ezért az mb_substr()-t használd, hogy jó legyen.
A hiba abból jön, hogy az utf8 esetenként több byteot használ egy karakter reprezentálására, míg a sima substr() úgy tekinti, hogy egy byte egy karakter. Ezért a tied néha csonkolja.
-
PazsitZ
addikt
válasz
Speeedfire #4852 üzenetére
A hiba pedig a kódolás miatt van.
A szövegben az ékezetes karaktert félbevágja, nem teljes karakterként tekinti a karakterszámot, ez okozza a látott karaktert. -
zka67
őstag
válasz
Speeedfire #4849 üzenetére
1. A print_r?
Ezt többnyire debuggoláskor szoktam használni arra, hogy megnézzem, hogy egy tömbnek milyen elemei vannak és mik az értékei.
2. Így próbáld meg a kódodat (Kivettem a $row körül a zárójelet és az aposztrófot)echo intro($row['szoveg'], 30, '%1$s ...') . "<br /><br />";
Látom rájöttél te is
+1. Az eredeti oldal UTF8-as kódolást használ. Te is?
Ezt próbáld meg:
settype($_POST['value'],integer);
if (empty($_POST['value'])) { ... nem szám ... } -
Speeedfire
félisten
válasz
Speeedfire #4849 üzenetére
már megint korán kérdeztem
helyesen a kód:echo intro($row['szoveg'], 80, '%1$s ...') . "<br /><br />";
viszont érdekes dolgot csinál, mert ékesetes karakterekkel variál valamit, holott az eredeti cikkben rendesen írta ki
-
zka67
őstag
válasz
Speeedfire #4844 üzenetére
Jó dolog még a print_r is:
print_r($_POST)
Így egyből látsz mindent, hogy miket küld át és mi az értéke
-
Coyot
őstag
válasz
Speeedfire #4842 üzenetére
Így van a kiválasztott value-t fogod megkapni belőle.
-
Speeedfire
félisten
válasz
Speeedfire #4841 üzenetére
egyszerűen csak ennyit írjak be?
$_POST['radio']
-
lakisoft
veterán
válasz
Speeedfire #4816 üzenetére
na megpróbálom belőni magamnak tesztjelleggel. Köszönöm a segítséget.
-
lakisoft
veterán
válasz
Speeedfire #4814 üzenetére
Szóval te a Joomla és VirtueMart kombóra gondolsz?
-
DeltaPower
addikt
válasz
Speeedfire #4811 üzenetére
úgy az elegáns, ha mondjuk 60 karakter hosszú szöveget akarsz kiíratni, hogy megkeresed a 60-as limit előtti utolsó szóközt és ott vágod el. így nem lesznek fél szavak a végén.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4807 üzenetére
strlen(), substr()
-
Tele von Zsinór
őstag
válasz
Speeedfire #4804 üzenetére
Próbáld meg úgy, hogy beteszel egy hidden mezőt, és abban továbbítod az id-t. Ha úgyis get-ben megy a formod, jó lesz így is.
-
PazsitZ
addikt
válasz
Speeedfire #4804 üzenetére
Ha beincludolod és nem külön függvényben van akkor viszont látnia kellene, ha átirányítod, akkor tovább kell adnod a változókat.
Fura, szvsz mennie kellene
, de esetleg próbáld meg úgy, hogy az action-ben csak az index.php-t adod meg és
<input type="hidden" name="id" value="kereses">
kóddal adod át az id-t is. -
PazsitZ
addikt
válasz
Speeedfire #4802 üzenetére
Mivel nem adtál meg az actionben fájlnevet, így az aktuális fájl hívja újra a megadott paramétereiddel.
Add meg a keres.php nevet is és jó lesz :
<form id=\"qsearch\" action=\"keres.php?id=kereses\" method=\"get\" > -
Sk8erPeter
nagyúr
válasz
Speeedfire #4796 üzenetére
Kicsi projektnél is van értelme az átláthatóság növelésének.
A notice szerint már van valahol egy session_start(); hívás. Ha require_once-szal az általad mutatott kódot mindenhol include-olod, ahol szükség van session elindítására és MySQL-csatlakozásra, akkor az összes többi session_start();-ot és MySQL-csatlakozást kiveheted! Akkor már nem fogja dobni a notice-t.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4794 üzenetére
Ha megnézed a rákövetkező hozzászólásom, látod, hogy plusz három sor az egész. Ez nem bonyolítás, és megfelel a DRY (don't repeat yourself) paradigmának is.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4791 üzenetére
Előbbi file 17-es sorában átadod a kategória id-jét, eddig jó. Most a másodikba kell belerakni, hogy szűrjön is rá:
$sql = "SELECT `kategoria`.`kat`, `tartalom`.`szoveg`, `tartalom`.`datum`, `tartalom`.`url`, `tartalom`.`webcim`, `users`.`nick`
FROM kategoria, tartalom, users
WHERE ((kategoria.sorszam = tartalom.katid) AND (users.id = tartalom.fid) and (tartalom.elfogadva='1') AND kategoria.sorszam='". mysql_real_escape_string($_GET['sorszam'])."') ";
if (isset($_GET["get"])) {
$sql .= "AND tartalom.katid = \"" . mysql_real_escape_string($_GET["get"]) . "\"";
}
$sql .= " ORDER BY `tartalom`.`sorszam` ASC"; -
Tele von Zsinór
őstag
válasz
Speeedfire #4790 üzenetére
A require_once() annyit csinál, hogy a fordítás elején berakja az includeolt filet a hívás helyére, és error szintű hibát generál, ha nem tudja olvasni. Mindemellett megnézi, az a file volt-e már require/include hívás áldozata, és ha igen, akkor kihagyja.
A require és az include között a fontos különbség, hogy a require a fordítás elején húzza be (ezért az error), az include csak akkor, amikor odaér a futtatás (ezért csak warningot dob), utóbbit ezért szokták feltételekbe is rakni, mert csak akkor hajtódik végre, ha muszáj.Ha jól értem, egy egyszerű szűrés kell neked. Nem feltétlen kell új file, ha van olyan oldalad, ahol ezeket már listázod valahogy, abba kell belenyúlnod a következőképp: ahol az adatbázisnak átadott queryt állítod össze, tegyél be egy ellenőrzés: ha a $_GET tömbben van mondjuk egy filter kulcsú elem, akkor annak az értékét berakod a query where záradékába. Mivel a listázásig már csak a szűrt elemek jutnak el, ennyivel megúszod a dolgot.
-
Speeedfire
félisten
válasz
Speeedfire #4790 üzenetére
-
Sk8erPeter
nagyúr
válasz
Speeedfire #4787 üzenetére
Csináld úgy, ahogy Tele von Zsinór mondja, de azért azt is mondhattad volna, hol vannak notice-ok, és mi az üzenet tartalma, mert szerintem kizárt, hogy valaki elejétől végéig átböngészi a kódot, hibákat keresve.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4784 üzenetére
Csináld úgy, hogy van egy fileod, ami elintézi a kezdeti dolgokat: db kapcsolat, session_start, ilyenek, és require_once-al húzod be. Ekkor biztosan csak egyszer fogsz például sessiont indítani.
"Minden oldal külön fileban" - ez így van nálam is, mondjuk még jobban is szét vannak darabolva. Azonban a wwwrootban egyetlen file van, az úgynevezett front controller, ez dobja szét a megfelelő, kívülről nem látható phpnak a kérést. Innentől nem kell bohóckodni olyanokkal sem, mint ellenőrizni, a db osztályod közvetlen van-e hívva, vagy include()-al.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #4784 üzenetére
tudsz mutatni komplett kódrészletet? nem nagyon olvastam vissza, de kicsit egyszerűbb lenne látni, miről van szó.
a session_start()-ot a kódod legelején add ki.echo "session_start();"
ennek semmi értelme, ez jól kiírja, hogy session_start();, és annyi. -
Tele von Zsinór
őstag
válasz
Speeedfire #4778 üzenetére
Ez mi akart lenni, em vagy px?
-
Tele von Zsinór
őstag
válasz
Speeedfire #4780 üzenetére
Azt mondja a php, hogy a $_SESSION tömbben nincs captcha indexű elem. Nézd át mégegyszer a kódot, ami berakná, illetve nézd meg var_dump()-al.
-
PazsitZ
addikt
válasz
Speeedfire #4775 üzenetére
elseif (empty($_SESSION['captcha'])) {
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"]) {
echo "Hibás biztonsági kód!";
}
}Ez kicsit fura nekem. akkor vizsgálsz ha nincs captcha session azután az összehasonlítás egyértelműen hamis, mivel típus szerint hasonlítasz.
Feltételezem a session-ben minden esetben van captcha:
if (isset($_POST["captcha_code"])){
if (strtolower($_POST["captcha_code"]) !== $_SESSION["captcha"]) {
echo "Hibás biztonsági kód!";
}
}
else echo "Nincs megadott kód!";
} -
PazsitZ
addikt
válasz
Speeedfire #4770 üzenetére
Az általad írt kód is működött volna egy flush() paranccsal.
-
L3zl13
nagyúr
válasz
Speeedfire #4768 üzenetére
"más: az egyik oldalon kicsit komlikáltabb ellenőrzés és adat felvitel lesz
viszont az lenne a kérdésem, hogy azt hogy tudom megoldani (a kevesebb mysql adat miatt), hogy beküldésnél ne pl ne azt írja a táblába hogy kocsi, hanem a kocsinak az "id-jét" és a lekérdezésnél már azt írja ki h kocsi?"Ha itt most a kategóriára gondolsz, akkor:
Gondolom a kategoria táblában van egy id oszlop meg egy kat oszlop. Előbbi egy numerikus azonosító, utóbbi meg a szöveges.
A select feltöltésekor az option-ök 'value'-ja legyen az adott recordhoz tartozó 'id' (ne a $kategoriaba beírt 'kat'), de az option szövege maradjon továbbra is az ami most.A form elküldéskor így az id-t fogja elpostolni, tehát a $_POST['kategoria'] értéke a katid lesz.
Utánna, insertkor logikus módon ezt az id-t tárolod el.
-
válasz
Speeedfire #4768 üzenetére
Ja az a header rossz helyen van, bármiféle kimenet csak utána lehet, előtte nem. Na meg szerintem nem sleep()-pel kéne várakoztatni.
Két választásod van:
1. html meta tagokkal babrálsz (ezt ugyebár a <head>be kell írni)
<meta http-equiv="refresh" content="5;url=index.php" />
2. ugyanúgy headert használsz (még a kimenetek ELŐTT):
header( "refresh:5;url=index.php");
Mindkettőnek ugyanaz az eredménye: 5 másodperc után átirányít a megadott oldalra.
-
válasz
Speeedfire #4765 üzenetére
Nem olvastam vissza, de remélem szűröd a POST-ban az aposztrófokat (vagy bekapcsolva van a magic_quotes), mert elég csúnyán hekkelhető így a kódod.
-
L3zl13
nagyúr
válasz
Speeedfire #4765 üzenetére
Ezen kívül feltünt, hogy a kód végén lévő hibakezelésben a header() előtt kiiratsz valamit az oldalra az echoval. Header előtt nem lehet semmilyen kimenet, különben hibát dob.
-
L3zl13
nagyúr
válasz
Speeedfire #4763 üzenetére
Ez mi akar lenni?
"SELECT kat FROM kategoria WHERE kat"Hol a feltétel másik fele?
-
Speeedfire
félisten
válasz
Speeedfire #4762 üzenetére
jól működik minden
viszont elakadtam megint egy kicsit
egy ellenőrzést akarok csinálni, azt egyik feltétele már jó, a másodikat viszont figyelmen kívül hagyja
a lényege annyi lenne, hogy ha valaki be akar küldeni egy szöveget akkor előbb megnézi, hogy üres-e a textbox, ha igen akkor visszadob egy hibát, hogy töltsd ki
ha ok akkor megnézi, hogy szerepel-e már az adatbázisban, ha igen akkor kiírja hogy ez már benne van -
Sk8erPeter
nagyúr
válasz
Speeedfire #4757 üzenetére
Eddig azt hittem, az már megvolt, hogy maga a fájlod UTF-8 kódolású...
Ha az nincs meg, akkor tök feleslegesen erőlködsz, össze-vissza kódolásokkal mindenképp szar lesz a karakterkódolás.
Ragaszkodj egyféle karakterkódoláshoz következetesen, különben szívni fogsz vele (mint látható).
Notepad++ » Kódolás » "Átalakítás UTF-8 kódolásra BOM nélkül" menüpontra klikkelj az összes olyan fájlnál, ami nem UTF-8 kódolású (ld. DeltaPower hsz.-ét). (Itt fontos, hogy az "Átalakítás..." kezdetűre menj, különben megint csak rossz lesz.)
-
DeltaPower
addikt
válasz
Speeedfire #4759 üzenetére
bekuld-kat.php
kezdolap.php
login.php
reg_check.php
register.php
tartalom.php
vedett.phpezek nem utf8 kódolásúak. attól hogy headerben kiküldöd az utf8-at, maga a fájl még iso(ansi) marad, iso karakterekkel.
-
Tele von Zsinór
őstag
válasz
Speeedfire #4757 üzenetére
Nézd meg mégegyszer: biztosan utf8 kódolási a fileod? Biztosan utf8-ként próbálja megjeleníteni a böngésző?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #4751 üzenetére
Azért a fájljaidba a <!DOCTYPE...> elé (!) beszúrhatnád a köv. sort:
<?php
header('Content-Type: text/html; charset=utf-8');
?>Lehetőleg a MySQL-csatlakozást is még előtte intézd el, és a
mysql_query('SET NAMES utf8');
sort is illene az elé pakolni.Ha fv.-be és külön fájlba pakolod a MySQL-csatlakozást, akkor ilyesmi lehetne pl. végeredményként:
<?php
header('Content-Type: text/html; charset=utf-8');
require_once('functions.php');
//MySQL-csatlakozás:
csatlakozas();
mysql_query('SET NAMES utf8');
//...
?>
<!DOCTYPE .....> -
PazsitZ
addikt
válasz
Speeedfire #4751 üzenetére
Nálam különösebben sosem volt gond a mysql kódolással. A leírt 2 sor alkalmazása után. Nem tudom nálad mi lehet a gubanc. Bizos, hogy adat bevitelekor is UTF-8 kódolást használ az oldalad?
(Nem biztos, de elképzelhető, hogy a selectDB után kellene elhelyezned az UTF8 DB beállításokat.)Nem, én is ilyen sorrendben használom.Karakterengedélyezést már regisztrációnál kell akkor elvégezni.
Egyébként a ez a regexp pont megengedi az ékezetest is, mivel a listában felsorolod őket.
[a-zA-Z\-\_áéíóöüóűÁÉÍÓÖÜŐŰ]
Igy már nem engedi: [a-zA-Z\-\_]összetettebb rendszerre gondoltam először is, amin vannak ellenőrzések Meg kell írni, ki kell bővíteni, olyanra, amire igényed van...
(#4750) zka67 Az az optimális ha fejlesztés közben be van kapcsolva és nem dobál
-
zka67
őstag
válasz
Speeedfire #4745 üzenetére
A működés szempontjából ugyan most nincs jelentősége, de ha már xhtml-t használsz, akkor figyelj a következőkre:
a parancsokat kisbetűvel írják, pl. <div> ... </div>
azokat a parancsoknak, amiknek nincs lezáró parancsuk, azokat is le kell zárni. pl:<hr /> <br />
<link rel="stylesheet" href="style.css" type="text/css" media="screen" /> -
zka67
őstag
válasz
Speeedfire #4745 üzenetére
Használd inkább ezt:
if (! $_SESSION['belepett']) { ... }
-
zka67
őstag
válasz
Speeedfire #4744 üzenetére
A karakter kódolást így tudod megoldani:
$db = mysql_connect($dbhost, $dbuser, $dbpassword);
mysql_select_db($dbdatabase, $db);
$cp="latin2";
mysql_query("SET NAMES '".$cp."'",$db);
mysql_query("SET character_set_client=".$cp,$db);
mysql_query("SET character_set_connection=".$cp,$db);
mysql_query("SET character_set_database=".$cp,$db);
mysql_query("SET character_set_results=".$cp,$db);
mysql_query("SET character_set_server=".$cp,$db);A $cp -be azt írd be, ami kell. Az oldaladon se felejtsd ki a
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-2;" /> persze a helyes charset-tel. Az adatbázisban az illesztések is megfelelőek legyenek és akkor helyesen fog megjelenni az oldalad. -
zka67
őstag
válasz
Speeedfire #4741 üzenetére
Egy tipp, hogy ne kelljen kétszer leírnod ugyanazt:
while($row = mysql_fetch_assoc($result)) {
$cat = $row['kategoria'];
echo '<option ' .
(($cat=='Top') ? 'selected="selected" ' : '') .
'value="' . $cat . '">' .
$cat . '</option>';
} -
PazsitZ
addikt
válasz
Speeedfire #4739 üzenetére
Ahogy elnézem a te kódod még nem igazán jó, mivel 1. minden elem selected lesz, 2. nincs value az option tageknél, 3. csak az utolsó option taget zárod be a többi nyitva marad
Külön kategória lekérdezést/listázást WHERE feltétellel oldhatsz meg. Ebben az esetben érdemes arra az oszlopra egy indexet rakni.
$category = $_GET['kategoria'];
if (validatecategory($category)){
mysql_query("SELECT * FROM kategoriaTabla WHERE category=$category");
...
}
Linkesíteni hasonló szisztémával tudsz, mint select-et képezni.A "beszélő" paraméterek tudtommal ugyanúgy keresőbarátok:
pl.: index.php?page=login
index.php?page=list&category=xyDe a könyvtáras megoldás is jó.
Ott, ugye el is hagyható a /index.php hiszen automatikusan azt fogja meghívni.
http://domain.hu/link-bekuldese/index.php - > http://domain.hu/link-bekuldese
De paraméter esetén már minimum ilyen formát kell alkalmazni: http://domain.hu/link-bekuldese/?param=xy -
PazsitZ
addikt
válasz
Speeedfire #4736 üzenetére
Ilyesmire gondoltál? [link]
-
PazsitZ
addikt
válasz
Speeedfire #4735 üzenetére
Nem azokkal a rekordokkal van csak gond, amit eddig beraktál korábban?
Továbbá a listázásnál is beraktad a leírt 2 sort a connection után?Nem biztos, hogy tökéletes, de valami ilyesmi: [link]
Ezután mindig bármiféle kimenet előtt meg kell hívni a session_start()-ot és utána ellenőrizni, mondjuk !empty($_SESSION['userid']) feltétellel, hogy belépett-e vagy sem.A kiléptetés adott, gyakorlatilag megszüntetjük magát az egész session-t.
-
Speeedfire
félisten
válasz
Speeedfire #4735 üzenetére
lenne még egy olyan kérdésem is, hogy azt meglehet oldani pl:
egy legördülő listából választom ki a dolgokat amiket előtte az adatbázisból kértem le?
pl ez van az adatbázisban
kocsi
motor
informatikaés azt szeretném h a legördülő listában csak ezek jelenjenek meg
-
PazsitZ
addikt
válasz
Speeedfire #4732 üzenetére
lassú voltam és csak most látom már megválaszolták
mysql_connect után rakd be a következő 2 sort:
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
szvsz: a DB connectiont rakd külön php-ba és akkor elég egy sorban behúzni. pl.: require "db_connect.php"; -
Gyuri16
senior tag
válasz
Speeedfire #4732 üzenetére
valahova az elejere tegyel ilyesmit (ahol mar megvan a kapcsolat):
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'"); -
Tele von Zsinór
őstag
válasz
Speeedfire #4668 üzenetére
PHP-ból ilyet nem tudsz. Úgy lehet ilyet megoldani, hogy az egyik hostot a másik aliasaként adod meg a regisztrátorodnál.
-
tgabi333
aktív tag
válasz
Speeedfire #4662 üzenetére
és ez az adott mappa van egy másik gépen?
-
tgabi333
aktív tag
válasz
Speeedfire #4659 üzenetére
szerintem valamit rosszul látsz a dologgal kapcsolatban. Az hogy egy fájlt/könyvtárat mindenki írhat az azt jelenti, hogy a gépre bejelentkezett felhasználók közül mindenki.
Írd le pontosan, hogy mit csinála a script
-
DeltaPower
addikt
válasz
Speeedfire #4659 üzenetére
-
Tele von Zsinór
őstag
válasz
Speeedfire #4653 üzenetére
Meg.
A dolgod annyi, hogy a feltöltés után megnézed, van-e cím megadva, és ha igen (feltételezve helyes php.ini beállításokat) a mail() függvény használatával tudsz levelet küldeni.
Van ezer egyéb mód, de ez a legegyszerűbb. Ha komolyabb kell, akkor Swift mailer, vagy Zend_Mail. -
wis
tag
válasz
Speeedfire #4647 üzenetére
Ha egy tábla mezőinek a típusa érdekel akkor ez alapján: [link]
így:
$query = mysql_query('SHOW COLUMNS FROM tabla');
while ($row = mysql_fetch_row($query))
{
print "$row[1]<br />";
} -
1ed
csendes tag
válasz
Speeedfire #3743 üzenetére
Nem csak annyit változott
[link]
mod: Elkéstem.
Sk8erPeter
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3743 üzenetére
NE használd a $HTTP_GET_VARS-t, helyette használd a $_GET['akarmi'] (ha GET method-ot használsz, akkor értelemszerűen ezt) és $_POST['akarmi'] változókat!
Ezenfelül
method"GET"
részből hiányzik az egyenlőségjel, helyesen:
method="GET"
de hogy XHTML szabványos legyen:
method="get"Ne csodálkozz, hogy ez nem működött.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3740 üzenetére
Sok minden nem működik már abból, amit a "Tanuljuk meg a PHP4 használatát 24 óra alatt" c. könyvben elmondanak, ráadásul sok benne a hiba, ami miatt egyszerűen nem működnek az ott leírt programok, vagy ha igen, akkor helytelenül (persze nem jelenti azt, hogy az egész könyv minden programja hibás, mert van jópár hasznos dolog). A könyv olyan szempontból hasznos, hogy ha nincs korábbról programozói gyakorlatod, akkor elmondja az alapokat is, hogy mi az a tömb, mi az a függvény, stb., ezt elég egyszerűen, konyhanyelven elmondja, arra jó lehet. De ne onnan tanuld meg a PHP alapjait, hanem inkább nézz szét neten, php.net-et olvasgasd, Weblaboron is vannak hasznos cikkek, és még számos más helyen.
Érdemes inkább alkalmazkodni az aktuális verziókhoz, és azt tanulni, mert ha beleversz a fejedbe olyan dolgokat, amik az aktuális verziókban már nem működnek, akkor sokat szívhatsz vele. Ja, és leginkább ne olyan komolytalan helyeken próbálgasd, mint az atw.hu, ahol képtelenek már lecserélni nem tudom, mióta azt a PHP-verziót, meg még az UTF-8 támogatottság sem létezik...
A PHP-Script.hu-n mindig vannak érdekes elírások vagy helyesírási hibák, pl. nem tudom, mi értelme van annak a mondatnak, hogy "Szép elrendezésű, is szép design-ű mappalistázó."
-
1ed
csendes tag
válasz
Speeedfire #3740 üzenetére
Az alapkonfigurációban a <? titlva van. A programban pedig csak ilyen van és azért nem működik. Ezt: short_open_tag = Off átírva a php.ini-ben on-ra szerintem működni fog. (Ez egyébként nem jó gyakorlat, nem szokták engedélyezni.) Azt, hogy cseréld le az 5.3-as php-t azért írtam mert elég sok minden változott benne, és előjöhetenk olyan hibaüzenetek amik 5.2 alatt nem (főleg ha mások által írt dolgokat is használsz).
-
sonar
addikt
válasz
Speeedfire #3738 üzenetére
Hát ez elég régi
xampp aktuális verziók
# Apache 2.2.14 (IPv6 enabled) + OpenSSL 0.9.8l
# MySQL 5.1.41 + PBXT engine
# PHP 5.3.1Könyv ugye nem a php 24 (az a bizonyos közkézen forgó akkor az a php4-et tárgyalja -> shift+del, én is megszoptam! De van megoldás - PÜ)
-
sonar
addikt
válasz
Speeedfire #3733 üzenetére
Azért ez érdekes. Akkor milyen verziókat pakoltál fel?
-
DeltaPower
addikt
válasz
Speeedfire #3735 üzenetére
az újabb html szabványokban már csak a kisbetűs tagek a szabványosak.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3733 üzenetére
"mondjuk arra kiváncsi lennék h az atw milyen verziókat futtat, nem hinném ha 4.x.x verziójú php-t"
De igen, 4.3.5 verzió van fent...Elég gáz a részükről...
Készíts egy php kiterjesztésű fájlt, az alábbi tartalommal, majd töltsd fel ATW-re:
<?php echo phpversion() ?> -
Sk8erPeter
nagyúr
válasz
Speeedfire #3731 üzenetére
Ez tényleg érdekes, de konkrétan melyiknek a korábbi verziója oldotta meg? Ha pl. most PHP-ből felraksz egy későbbi változatot, akkor megint nem megy?
-
Speeedfire
félisten
válasz
Speeedfire #3730 üzenetére
izé
megvan a megoldás, nem teljesen értem, de most működik
php verzió 4.4.9
apache verzió 2.0.63 -
Sk8erPeter
nagyúr
válasz
Speeedfire #3726 üzenetére
Lehet, hogy érdemes lenne megpróbálnod elölről telepíteni az egészet.
Én ez alapján csináltam meg még régebben a telepítést, és semmi gond nem volt: Apache és PHP telepítése kezdőknek Windows rendszereken (Weblabor)
Mondjuk a nagy részét nem is volt türelmem elolvasni, úgyhogy aztán megcsináltam magamtól, de nem volt vele para.
Az Apache 2.2 könyvtárába, azonbelül a htdocs könyvtárba pakolászom a futtatandó dolgaimat, és ennyi. Arra már nem emlékszem, kellett-e buherálni a php.ini-ben, szerintem nem. -
Sk8erPeter
nagyúr
válasz
Speeedfire #3723 üzenetére
Tudom, hülye kérdésnek tűnik, de hátha esetleg elfelejtetted, szóval php kiterjesztésűek a fájlok, amiket futtatsz?
(pl. index.php és nem index.html)
-
Tele von Zsinór
őstag
válasz
Speeedfire #3710 üzenetére
A kép alapján nem fut le a php scripted. Ugye localhost-on keresztül éred el, és nem máshogy?
-
sonar
addikt
válasz
Speeedfire #3721 üzenetére
Service-ként v manuális indítással futnak a serverek?
Admin vagy a gépen? Admin felület bejön?
Esetleg átküldjem az xampp-om php.ini-jét? -
1ed
csendes tag
válasz
Speeedfire #3717 üzenetére
Helló! Szerintem az a baj, hogy 5.3-as a PHP. Próbáld meg 5.2.11-el.
http://www.wampserver.com/addons_php.phpCsak simán fel kell telepítani az addont. Utána pedig azt kiálasztani a tálca ikon segítségével. Ha valamilyen php modulra is szükség van, azt szintén ennek a segítségével tudod engedélyezni, a PHP kiterjesztések menüpontban.
-
Speeedfire
félisten
válasz
Speeedfire #3717 üzenetére
nem tudom h ez segít-e, de azért belinkelem
phpinfo -
Sk8erPeter
nagyúr
válasz
Speeedfire #3710 üzenetére
Hogyan kezded a php kódot?
Ha így:
<?
akkor próbáld meg ezzel:
<?php
Mert tudtommal engedélyezni kell az előbbi megoldást, lehet, hogy ez nálad nincs beállítva.
Csak első tipp. -
Sk8erPeter
nagyúr
válasz
Speeedfire #3706 üzenetére
Mit jelent az, hogy "nem mutatja megfelelően a tartalmat"? Egyáltalán fut a php? A htdocs könyvtárba pakolod a megjelenítendő cuccot?
-
Sk8erPeter
nagyúr
válasz
Speeedfire #3598 üzenetére
Nem nagyon tanulmányoztam át a kódodat, de ami már első ránézésre igencsak feltűnt, és NAGYON rossz megoldás:
- nincsen <body> elemed, viszont lezárod a törzsrészt a </html>-lel, és utána még kiíratsz dolgokat;
a megfelelő struktúra:
<html>
<head>
<!-- meta tag-ek -->
<title>Az oldal címe</title>
<!-- meghívandó scriptfájlok, JS-függvények, CSS-fájlok, stb. -->
</head>
<body>
<div>Az oldal érdemi része, megjelenítendő elemek</div>
</body>
</html>- szintaktikai hibának minősül, ha a HTML-ben az átadott paramétereket NEM "macskakörmök" közé rakod:
echo "<table width=100% border ='0' bordercolor='#cccccc' cellpadding='10' cellspacing='6'>
<tr>";
HELYETT akkor már
echo '
<table style="width:100%;border:0px" cellpadding="10" cellspacing="6">
<tr>
'; //nincs értelme border-color-t meghatározni, ha 0px szélességű amúgy is..., stb.
- biztos lenne még mit javítani, most nincs időm átnézni -
1ed
csendes tag
válasz
Speeedfire #3598 üzenetére
<img style=\"border: 0;\" src=\"$kicsi/$files[$i]\">
http://php.net/manual/en/language.types.string.php -
Speeedfire
félisten
válasz
Speeedfire #3558 üzenetére
esetleg érdekelne egy olyan is ami egy bizonyos mappa képeiből autómatikusan megcsinálja a galériát a kis képekkel együtt is
Új hozzászólás Aktív témák
Hirdetés
- Telefon felvásárlás!! Apple Watch SE/Apple Watch SE 2 (2022)
- Telefon felvásárlás!! Honor Magic6 Lite, Honor Magic6 Pro, Honor Magic7 Lite, Honor Magic7 Pro
- Samsung Galaxy S23 , 8/128 GB , Kártyafüggetlen
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- AKCIÓ! nVidia Quadro P4000 8GB GDDR5 videokártya garanciával hibátlan működéssel
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged