- Tokba kerülnek a Pixel 10 mágnesei
- Motorola Edge 50 Neo - az egyensúly gyengesége
- CMF Phone 2 Pro - a százezer forintos kérdés
- Fotók, videók mobillal
- Samsung Galaxy S25 Ultra - titán keret, acélos teljesítmény
- Külföldi SIM-ek itthon
- Samsung Galaxy A34 - plus size modell
- Garmin topik
- Yettel topik
- Hónap végén érkezik a Xiaomi Band 10, ára is van
Új hozzászólás Aktív témák
-
Sk8erPeter
nagyúr
Hali!
<?php
echo '10 random generált szám -100 és +100 között: <br />';
$min=-100;
$max=100;
$szum = 0; //segédváltozó az összeghez
for($i=1; $i<=10; $i++)
{
$rand = rand($min,$max);
$szum+=$rand;
echo "$i: $rand <br />";
}
echo "<br />";
echo "A 10 random generált szám összege: $szum";
?>A random függvényt a for cikluson belülre tedd, úgy jó. Én i-t 1-től indítottam, és minden cikluslépésben ki is írtam az aktuális számot, és a random generált számot a $szum változóhoz minden lépésben hozzáadogattam. Az értékadás egyébként így is jó lett volna: $szum = $szum+$rand; de így szebb ($szum += $rand).
A legvégén, a ciklus végeztével pedig kiírattam az összeget (a $szum változót).
-
meone
tag
Sziasztok
Nem nagyon vagyok járatos sajnos a phpban
, és holnapra egy kis beadandót kell csinálni.
Próbálkoztam meg csinálni de ahányszor össze kötöm mindig végtelen ciklusba köt ki a program.A feladat a következő:
generálni kell random 10 számot pozitívat és negatívat egyaránt.
Illetve ezt a 10 számot majd össze adni.
Amire eddig eljutottam:<?php
$min=-100;
$max=100;
$rand = rand($min,$max);
for($i=0; $i<=10; $i++)
echo ' '.$rand;
?>Tovább nem tudom, hogy hogy kell.
A segítséget előre is köszönöm.
-
maLakai
csendes tag
válasz
Sk8erPeter #3196 üzenetére
Legegyszerűbb és legjobb, hogyha nem ugyanazon az oldalon dolgozod fel az adatokat.
Persze csinálhatsz pl olyat, hogy a küldesz tovább egy random azonosítót is, amiben pl dátum-idő és vmi random bennevan, ezt persze tárolod is adatbázisban, így ellenőrizve az adatbázisból, hogy az el lett-e már küldve, de ez esetben a böngésző még úgy fogja látni, hogy újra post-olsz adatokat és figyelmeztetni fog (a jobb fajta), szóval felhasználói szempontból nem a legszerencsésebb.
-
Sk8erPeter
nagyúr
válasz
PazsitZ #3088 üzenetére
Itt az if ($op != "ds") feltétel-ellenőrzéssel csak azt ellenőrizzük le, hogy egyáltalán el lett-e a küldve a form, és ha igen, akkor mehet tovább az ellenőrzés?
"wrap=virtual" ez micsoda?
Egy fontos kérdés: ha nem állítok be ilyen számellenőrzős cuccot, viszont van egy form, amit kitöltve elküldök, majd frissítem a böngészőt, akkor hogyan kerülhetem el, hogy még egyszer ugyanazokat az adatokat elküldje? (Pl. vendégkönyv esetén [tudom, hogy egyébként is érdemes itt valami captcha-t vagy hasonló számellenőrzős cuccot berakni].)
Múltkor csodálkoztam rá, hogy még egyszer ugyanazt az adatot elküldi, és bővíti az adatbázist, ha F5-tel frissítek. Az meg ugye nem jó.
A $PHP_SELF-fel küldöm "önmagának" az adatokat, szóval ugyanazon az oldalon dolgozom fel...
Ez lehet, hogy kicsit amatőr kérdés, de egyelőre akkor sem tiszta számomra.Köszi!
-
cucka
addikt
válasz
Sk8erPeter #3193 üzenetére
de ezek szerint a tömb értékadásakor mindig a legutolsó tömbelem UTÁN (és a lezáró /0 elé) rakja az adott elemet? (tehát számomra az volt az újdonság, hogy nem írja felül a 0. elemet)
A $tomb[]=ertek formában megadott tömb feltöltés úgy működik, hogy a legkissebb nemnegatív egész számot használja indexnek úgy, hogy ne írjon fölül semmit. (Tehát üres tömbnél 0,1,2,3.. indexeket fogja használni). A programomban amúgy üres tömböt töltök így fel, tehát nem merül fel a kérdés, hogy fölülír-e valamit.És mi a teendő abban az esetben, ha adott esetben túllépi a memóriaküszöböt? Valamint milyen esetben fordulhat ez elő?
A php a változóidnak foglal le memóriát. Ha túlléped a memóriaküszöböt, akkor ki fogja írni a php, hogy elfogyott a memória.
Ez esetben át kell alakítsd a programodat, hogy kevesebb memóriát használjon. Például nem tolod be egy tömbbe a teljes adatbázis tábla tartalmát, hanem mindig csak 1 sort kezelsz, ilyesmi. Igazából minden eset más, nem lehet általánosan megmondani, mi a helyes lépés ilyen esetben. Amúgy az én programomat is át lehet írni ilyenre, csak nem akartam fölöslegesen bonyolítani.Ha ilyen problémád van, akkor a script által lefoglalt memóriamennyiséget a memory_get_usage() függvénnyel tudod lekérdezni.
Mod: talán még annyit érdemes megjegyezni, hogy a php memóriakezelése messze nem olyan egyszerű, mint mondjuk c-ben, vannak furcsaságai.
-
Sk8erPeter
nagyúr
Istencsászár vagy!
Pontosan így képzeltem el!
Valahogy nem akart eszembe jutni az a megoldás, amit Te csináltál, hogy simán lehet külön ciklusba rakni a tömb feltöltését a $row adattáblasorok adataival.
És az ezt követő ciklus dolga a konkrét megjelenítés, ez így tökéletes. Ráadásul a név szerinti rendezés és a többdimenziós tömb is nagyon elegáns megoldás.
Köszönöm szépen, hálám üldözni fog!---
Kérdés:
1. Egyébként azt gondoltam, hogy a tömbfeltöltéshez ($tomb[] = $row) is szükség van egy segédváltozóra a while cikluson belül (pl. így: $tomb[i], és az i-t növelgetjük a while cikluson belül), de ezek szerint a tömb értékadásakor mindig a legutolsó tömbelem UTÁN (és a lezáró /0 elé) rakja az adott elemet? (tehát számomra az volt az újdonság, hogy nem írja felül a 0. elemet)2. És mi a teendő abban az esetben, ha adott esetben túllépi a memóriaküszöböt? Valamint milyen esetben fordulhat ez elő?
-
mclord
aktív tag
Kérdésem a php mailer függvény le van tiltva a szolgáltatómnál és smtp hitelessel lehet csak kiküldeni levet , és a flashel akarom össze hozni, mivel paraméterezhető a flash még nehezebb az esetem
. 3 file felépítés van egy asp egy php, és egy xml . Xml -be adjuk be az adatokat, amit az asp-n kérünk,és ezeket a php-val küldjük el
, sajna fullra nincs lövésem mit tudok csinálni
: Fileok
annyit megkaptam ezt kellene használni :
$mail = new PHPMailer();
$mail->IsSMTP();
// SMTP szerver neve
$mail->Host = "localhost";
// SMTP port
$mail->Port = 1025;
// A felado e-mail cime
$mail->From = "felado@domain.hu";
// A felado neve
$mail->FromName = "Gipsz Jakab";
// Cimzett e-mail cime. Tobb is megadhato.
$mail->AddAddress("cimzett@domain.hu");
$mail->SMTPAuth = true;
// Az azonositashoz hasznalando e-mail cim (lehet barmely, az
$mail->Username = "valamilyennev@domain.hu";
// Az elozoleg megadott e-mail cimhez tartozo jelszo
$mail->Password = "jelszo-a-fenti-e-mailhez";
// SMTP protokollon keresztul kuldunk
$mail->Mailer = "smtp";
// A level targya
$mail->Subject = "First PHPMailer Message";
// A level torzse. Lehet plaintext, vagy HTML kod is.
$mail->Body = "<html><body><br><br><b>Hi!</b><br> This is my first e-mail sent through PHPMailer.";
// Plaintext esetben hany betu utan torje meg a sort automatikusan
$mail->WordWrap = 50;
// Ha a torzsbe irtunk HTML kodokat, akkor a kovetkezo
// parameter beallitasa szukseges:
$mail->IsHTML(true);// A level kikuldese
if(!$mail->Send())
{
echo 'A levelet nem sikerult elkuldeni.';
echo 'Hibakod: ' . $mail->ErrorInfo;
}
else
{
echo 'A level sikeresen elkuldve.';
}
?>előre is köszi aki tudna segíteni
-
cucka
addikt
válasz
Sk8erPeter #3189 üzenetére
Nem igazán értem, hol akadtál el. Valahogy így oldanám meg:
$tomb=array();
$elozonev=null;
$res=mysql_query("select * from tablanev order by nev asc");
while ($row=mysql_fetch_assoc($res)){
$tomb[]=$row;
}
for ($i=0;$i<count($tomb);$i++){
if ($i==0 || $tomb[$i]['nev']!=$tomb[$i-1]['nev']{
//nagy kep kiirasa
print '<img src="'.$tomb[$i]['nagy_kep_url'].'"" />';
} else {
//kis kep kiirasa
print '<img src="'.$tomb[$i]['kis_kep_url'].'"" />';
}
if (!isset($tomb[$i+1]) || $tomb[$i+1]['nev']!=$tomb[$i]['nev']){
print 'Kutya neve: '.$tomb[$i]['nev'];
}
}A program név szerint abc sorrendben kiír minden kutyához egy nagy képet, n darab kis képet és a végén a kutya nevét.
A lényeg: végigiterálunk a sorokon és azt figyeljük, hogy mikor érünk el egy új kutya adataihoz. Ha új kutyához érünk, akkor nagy képet írunk ki, különben kis képet. Ha a következő kép már egy új kutyához tartozik, akkor kiírjuk a kutya nevét.
Az adatok kutyanév szerint vannak rendezve, tehát olyan nem fog előfordulni, hogy egy korábban kiírt kutyához tartozó sorral találkozunk.
Azért rakom ki a mysql-ből érkező adatokat egy tömbbe, mert az iteráció során szükségem van az előző és a következő sorra is. Feltételezem, nincs több százezer sor a táblában, így nem fog gondot okozni a script futtatása. (A lehetséges probléma az lehet, hogy nem elég a php programnak engedélyezett memóriamennyiség, ami általában 16 mega.) -
Sk8erPeter
nagyúr
válasz
Sk8erPeter #3189 üzenetére
Az a rész már megvan, hogy egy tömbbe le tudtam kérni a kutyák neveit, és megtisztítani a duplikátumoktól, ez nem volt túl nehéz.
Ha egy külön while-ciklusba betenném, hogy pl. amíg ez a tömb első eleme megegyezik a "név" adatmezőben található névvel, amelyik adatsornál a táblából épp jár a "while ($result = mysql_fetch_assoc($query))", addig mutogassa az 50px-es képeket, az nem lenne jó?
Egyelőre érdekelne, hogy valami ilyesmi gondolatmenet nem lenne-e célravezető. -
Sk8erPeter
nagyúr
válasz
ArchElf #3188 üzenetére
Hű, ezt nem lehet valahogy egyszerűbben megoldani?
A tag táblánál miért van szükség "típus" mezőre? Csakis kutyák neveinek az eltárolásáról lenne szó, ami a kép többi adatával együtt bekerül egy táblába (ahogy nálad a "kép tábla" esetén látható).
Valami olyasmi megoldással nem lehetne a rendelkezésre álló adattáblákból és feltöltött képekből kinyerni és rendezni az adatokat, hogy mondjuk egy tömbbe gyűjtöm pl. a "kép tábla" - "név" mezőinek összes adatát, az újból előfordulókat kiszűröm, és mondjuk amíg a név mező első eleme (pl. a "Vauvau" nevű kutya) tartozik az adott sorhoz, addig gyűjtse ki belőle az 50px-es képek elérési útját?
Ez nem megoldható?Most nagyon nagyvonalakban, csak a lényeget kiemelve ilyen módon jelenítem meg a képeket, de ezzel az a baj, hogy csak egymás mellé rendezgeti div-ekbe az adattábla sorainak megfelelően, még akkor is, ha egy kutyanév többször is előfordul (csak adott sorhoz más kép tartozik):
<?php
$menupont = "kolykok";
$parancs = "SELECT * FROM kepek WHERE menupont = '$menupont'";
$query = mysql_query ($parancs)
or die ("Nem lehet lekérni az adatot a MySQL-táblából.<br />Hiba: ". mysql_errno() . "\n\r". mysql_error() ."<br />");
echo "
<!-- Nagy div eleje -->
<div class=\"images\">";
while ($result = mysql_fetch_assoc($query))
{
print "
<!-- Kutya adatainak eleje -->\t
<div class=\"doggie\">\n
<ul class=\"kutya_lista\">
<li><a href=\"".$result['kep']."\" title=\"$cim\">
<img src=\"".$result['kep_200']."\" width=\"". round($result['kep_felbontas_0']/$result['kep_felbontas_1']*200) ."\" height=\"200\" alt=\"dogs\" />
</a></li>
<li>
<img src=\"".$result['kep_50']."\" width=\"". round($result['kep_felbontas_0']/$result['kep_felbontas_1']*50) ."\" height=\"50\" alt=\"dogs\" />
</li>
<li>Név: ".$result['nev']."</li>
<li>Apa: ".$result['apa']."</li>
<li>stb....... (itt még include-olok egy, az adott kutyához tartozó törzskönyvet is!)</li>
</ul>
</div>
<!-- Kutya adatainak vége -->\n\r";
}
echo "
<div style=\"clear: both;\"></div>
</div>
<!-- Nagy div vége -->";
?>A lényeg: azt szeretném, hogy az adattáblában szereplő azonos nevű kutyák képei egymás mellett legyenek, és ugyanígy rendezve legyen a többi kutya neve is, a hozzátartozó képekkel.
Ilyesmi módon:
A nagy piros keret a 200px-es nagykép, az alatta lévők az 50px-es kisképek, melyekre rá lehetne kattogni, alatta pedig az adatok; végül mellette a következő nevű kutya.Azért másoltam be a kódot is, hogy hátha így jobban látható, mit szeretnék, és hátha van rá egyszerű módszer is.
Tehát az a tömböt nevekkel feltöltős módszer (amíg a "nev" mezőben a tömb első eleme szerepel, addig jelenítse meg az 50px-es képet) vagy valami hasonló nem működik?Előre is köszi!
Megj.: persze hibák a kódban még előfordulhatnak, szóljatok, ha láttok ilyet...
Egyébként a kommenteket sok helyen azért raktam oda, hogy átlássam (meg Ti is) a dolgot, majd a végsőből kiszedem. -
ArchElf
addikt
válasz
Sk8erPeter #3187 üzenetére
Ez egy kicsit tagging kérdés...
Hogy először ne a technikai részével foglalkozzak: szerintem egyrészt célszerű előre feltölteni egy tag táblát, ami tartalmaz neveket (ebben az esetben kutyaneveket), a felhasználó a képfeltöltéskor megadhatja a nevet és rakhat hozzá tag-eket is.
A tag-ek hozzáadásánál használhat privát és pubikus tag-eket, a meglevő listát bővítheti is.Technikailag első blikkre így képzelném el:
A Tag tábla:
tag azon. | tag név | típus (publikus / vagy felhasználóvév)Kép tábla:
azonosító | megjelenítendő név | kép adatok...KT (kép/Tag) kereszttábla:
Kép azon | Tag azon.Megjelenítéskor:
Kép azonosító kinyerése, tag-azonosítók kikeresése és monjuk egySelect * From Kep Where kep_az IN
(Select kep_az From KT Where tag_az IN
(Select tag_az From KT Where kep_az = @kep_az))Esetleg még bele kell hegeszteni egy aggregációt, hogy az eredeti és a Tag-ek alapján megtalált kép között mennyi közös Tag van és csökkenő sorrendbe lehessen tenni.
AE
-
Sk8erPeter
nagyúr
Hali!
Most az istenért sem akar beugrani a megoldás, PHP+MySQL kérdés:
egy adattáblában sok-sok oszlop van, a legfontosabbak az azonosítószám (automatikusan inkrementálódik), a név, valamint a nevekhez tartozó képek elérési útja, az egyik a 200px magasaké, a másik meg az 50px magasaké.
Amikor a júzer feltölt egy képet adott névvel, akkor egy függvény automatikusan készít 200 és 50px magas thumbnaileket, ezek elérési útját eltárolja az adattáblában.Egy oldalon pedig úgy szeretném megjeleníteni a képeket, hogy először jelenjen meg az adott nevű képből egy 200px magas, majd alatta azok az 50px-es kisképek, amik még ugyanehhez a névhez tartoznak, vagyis amíg ezeknek a képeknek a "név" oszlopában ugyanaz az érték szerepel. (A kisképekre meg már Javascripttel intézném el, hogy jelenjenek meg a 200px magas résznél rákattintás esetén.)
Hogy kézzelfoghatóbbá tegyem a dolgot: van egy oldal, ahol a júzer feltöltheti kutyák képeit, a neveket meg feltöltéskor ő gépeli be (tehát mindig lehetnek újak, nem előre eltárolt nevű kutyákból kell megjeleníteni a képeket, mert akkor egyszerű lenne a problémát megoldani, pl. while ($kutyanev='Vauvau') {...} ciklussal), egy oldalon meg szeretném megjeleníteni ezeket a képeket úgy, hogy van egy nagy kép a "Vauvau" nevű kutyáról, alatta meg ugyanerről a "Vauvau" nevű kutyáról jelenjenek meg az 50px-es thumbnailek.
Emellett megint ugyanebben a felépítésben pedig pl. a "Vuffvuff" nevű kutya képei jelennének meg, először a 200px, majd 50px-esek. És így tovább, amíg a név adatmező összes értékét ki nem merítettük.Maga az adattáblából való adatlekérés természetesen megy, a képeket meg tudom jeleníteni, de egyelőre csak úgy megy, hogy külön-külön jelennek meg, ugyanaz a kép először 200, majd alatta 50px méretben.
Remélem érthető volt a leírás, hogy mit is szeretnék, ha nem, akkor szóljatok, és megpróbálom érthetőbben...
Köszi!---------------------------------------------------------------------------------------------------------------------
Kicsit OFF (sima HTML-kérdés), de a másik topicban nem válaszoltak, Ti meg itt nagyon vágjátok a dolgokat, esetleg erre a kérdésre rá tudnátok nézni? Hátha van valami ötletetek --> [link]Köszi!
-
Heeelp...
Gondoltam ide írok, mert ez a topik jobban pörög a többinél és hátha tudja valaki.
Már napok óta szenvedek azzal, hogy pár oldal helyett a weblapomon teljesen üres fehér oldal jön be. Mára kiderült, hogy a /var/log/apache2/error.log végén ilyesmik vannak:
[Thu Oct 08 20:20:48 2009] [notice] child pid 30595 exit signal Segmentation fault (11)
[Thu Oct 08 20:20:48 2009] [notice] child pid 30597 exit signal Segmentation fault (11)
[Thu Oct 08 20:20:48 2009] [notice] child pid 30598 exit signal Segmentation fault (11)Magyarán mindig ilyet nyom a fájlba, amikor fehér lappal válaszol. Amúgy a kód más szerveren simán fut, de a simán konfigolt gépemen nem. Már próbálkoztam apache, php újratlepítéssel, de nem használt. Ubuntu 9.4 x64 rendszerről van szó. Ja és még annyit, hogy a kód relatív sok kimenetet csinál(na), azaz olyan 50-80 kB-ot - ha ez számít.
-
biker
nagyúr
válasz
Sk8erPeter #3184 üzenetére
submit nélkül az 1.0 user nem tud mit csinálni. az neki kész blokk. nem lehet elküldeni, és ennyi
Én valakinek tegnap telefonba magyaráztam, hogy oldalra is lehet ám görgetni, nem csak fel le, és tegye meg, akkor majd látja a kép maradékát.
és közben ne legyek túl ideges, igaz? -
Sk8erPeter
nagyúr
"Submit gomb minek? Enterrel is végrehajtja az action-t."
Nem jó, ha megszokod, hogy nem használod a submit gombot, mert később, ha honlapot akarsz csinálni, akkor figyelembe kell venned, hogy a legtöbben az egerüket szeretik használni böngészés közben, és nem a billentyűzetet. Különösen igaz ez akkor, ha opciók közül kell majd választani, nem csak begépelgetni. -
fordfairlane
veterán
Különféle biztonsági okok miatt a szerver a kapott paramétereket manapság már nem globális változókba, hanem a $_GET, $_POST, $_REQUEST, $_COOKIE, $_FILES, $_SERVER ... egyéb asszociatív tömbökbe tárolja el, részletekbe nem akarok belemenni. Elég az hozzá, hogy a legtöbb webszerveren mára már ki van kapcsolva a register_globals, és a 6-os PHP-ból, a PHP következő verziójából teljesen ki fogják szedni. Már csak ezért is jobb meg sem szokni ezt a fajta programozási stílust.
-
cucka
addikt
Azért veszélyes, mert url paraméterek segítségével kezdőértéket tudok adni a szkriptedben használt változónak. Arra pedig kevesen figyelnek oda, hogy a php programban használt összes változónak adjanak kezdőértéket.
Nagyon precizen megírt, jó minőségű kóddal ki lehet küszöbölni a problémát, de azért ismerjük el, a php nem tesz túl sokat azért, hogy rákényszerítse a programozót, hogy normális kódot írjon. Az általam látott, más által írt php kódok nagy része a rettenetes gányolás kategóriába tartozik. -
Paulie86
tag
Sziasztok, segítségeteket szeretném kérni egy problémámmal kapcsolatban. Egy quicktime videó lejátszásával lenne gondom. clearbox játszaná le, az eddig meg is lenne, csak az a baj, hogy addig nem játsza, amíg az egész le nem töltődött, tehát nem indul el egyből.
Az autoplay="true" paraméter nem oldotta meg.
kössz a válaszokat. -
cucka
addikt
A $termekek értéke "ResourceID" lesz, de nem ismeri meg a mysql_fetch array
Igen, mert a $termekek változóba az $egy_id értékét pakolod, ami a mysql_query eredményét tartalmazza. A mysql_query pedig egy resource típusú értékkel tér vissza.Jobban járnék, ha inner join-os lekérdezést tennék bele?
Inkább left join. Általában véve kerüld azt a megoldást, hogy egy query minden sorára lefuttatsz még egy query-t, erre találták ki a join-okat, amelyek lényegesen gyorsabbak, mint a két külön lekérdezéses megoldás.Például ez jó lesz neked szerintem. Az ne zavarjon be, hogy a tábláknak adtam egy rövidebb nevet.
select wt.* from
webshop_user_termekek wut left join webshop_termekek wt
on (wut.termek_id=wt.id)
where wut.user_id='{$_SESSION['user_id']}' -
cucka
addikt
De arra rájöttem ha a php.ini-ben bekapcsolom a register_globals = On akkor müxik.
Igen, de ettől függetlenül ne kapcsold be. Nagyon komoly biztonsági lyuk, gyakorlatilag nem fogsz találni olyan webszervert, ahol be lenne kapcsolva. Amúgy a php fejlesztők is rájöttek erre, a php5-ben alapból ki van kapcsolva, a php6-ban pedig be sem lehet majd kapcsolni. -
sonar
addikt
válasz
fordfairlane #3171 üzenetére
A php24 nevű könyvet olvasom és abból próbálom megoldani a feladványokat illetve a minta példákat. De arra rájöttem ha a php.ini-ben bekapcsolom a register_globals = On akkor müxik.
Submit gomb minek? Enterrel is végrehajtja az action-t. -
biker
nagyúr
megint kérdeznék
van egy terméklekérdezés select * ....., ez ugye kiíratja a megfelelő termékeket, és while-al a képernyőre is kirakom mysql_fetc_array-el.
most ezt kicsit bonyolítanám, mert azt, hogy a termék tábla melyik ID termékét kell kiolvasni, azt egy másik tábla (korábbi vásárlásaim) ból olvasom be, és ebből kellene megformázni a $termekek tömböt olyanra, hogy ugyanaz a while($termekek_listaja = mysql_fetch_array($termekek))
elfogadja, mint normál esetben, de nem megyif ( $_GET['modul'] == "kor_vas" )
{
$id_lista = mysql_query("SELECT * FROM webshop_user_termekek WHERE user_id='{$_SESSION['user_ID']}'");
while ( $id_lista_tomb = mysql_fetch_array($id_lista))
{
$egy_id = mysql_query("SELECT * FROM webshop_termekek WHERE termek_ID='{$id_lista_tomb['termek_id']}'");
$termekek .= $egy_id;
}
}A $termekek értéke "ResourceID" lesz, de nem ismeri meg a mysql_fetch array
Jobban járnék, ha inner join-os lekérdezést tennék bele?
ha igen, valaki súgna ?kell a webshop_termekek összes adata (*) ahol a webshop_termekek termek_ID = webshop_user_termekek termek_id-vel
-
Sk8erPeter
nagyúr
válasz
fordfairlane #3171 üzenetére
Pontosan ez bizonyítja, mennyi hiba van a Tanuljuk meg a PHP4 használatát 24 óra alatt! c. könyvben...
A példa ugyanis onnan származik. Ha valakinek fogalma sincs a PHP-ról, akkor az csak kaparja az arcát, hogy mit csinálhat rosszul, a könyvben ennél a résznél még csak utalás sincs arra, hogy talán valahogy a bejövő adatokat fel is kéne dolgozni, és azt hogyan.
-
fordfairlane
veterán
Azért nem működik, mert rossz a kód. A form submitje után nem fogod megkapni $tipp változóban a "tipp" inputmező értékét, hanem jelen esetben a $_POST['tipp']-ben lesz benne. Kábé 4-5 éve már így szokás php kódban a formmezőket kezelni. Egyébként a formnak nincs submit gombja, ez meg van oldva?
-
sonar
addikt
Sziasztok,
Megint lenne egy láma kérdésem. A következő kódban mi a hiba? Miért nem müxik rendesen?
<?php
$kitalalando_szam=42;
$uzenet ="";
if (! isset($tipp))
{
$uzenet = "Üdvözlöm a számkitalálós játékban!";
}
elseif ($tipp > $kitalalando_szam)
{
$uzenet = "A(z) $tipp túl nagy, próbáljon egy kisebbet";
}
elseif ($tipp < $kitalalando_szam)
{
$uzenet = "A(z) $tipp túl kicsi, próbáljon egy nagyobbat";
}
else // egyenlõk kell, hogy legyenek
{
$uzenet = "Telitalálat!";
}
?>
<html>
<head>
<title>9.10 Számkitalálós PHP program</title>
</head>
<body>
<h1>
<?php print $uzenet ?>
</h1>
<form action="<?php $PHP_SELF?>" method="post">
Ide irja a tippjét: <input type="text" name="tipp">
</form>
</body>
</html> -
fordfairlane
veterán
Én a mágikus url nevű függvényemet használom erre a célra.
<?
function url() {
$req = array();
$url = "";
if(func_num_args()) {
$arglist = func_get_args();
foreach($arglist as $arg) {
if(is_array($arg)) {
$req = array_merge($req,$arg);
}
}
if(is_array($req)) {
foreach($req as $key => $value) {
if($value) {
if(strlen($url)) $url .= "&"; else $url = "?";
$url .= $key."=".urlencode($value);
}
}
}
}
return $url;
}
?><a href="<?=url($_GET,array('beta' => 'víziló'))?>">link</a><?
?><a href="<?=url($_GET,array('beta' => 1))?>">link</a><?
?><a href="<?=url($_GET,array('beta' => ''))?>">link</a><?
?>N darab asszociatív tömböt fogad el paraméterként, összekombinálja őket balról jobbra, majd gyárt egy url stringet. Az alsó sorba írtam három példát, szerintem önmagáért beszél.
-
csongiclio
csendes tag
Sziasztok!
Lenne egy problémám. Egy weboldalra, hogy tudok felteeni egy zenét ami folyamatosan menjen, mikozben a menuben is navigalok, amik persze kulonallo php file-ok???
-
raczger
őstag
echo "<a href='fajl.php?alfa=1'>alfa</a>";
if($_REQUEST['alfa'] == 1) {
echo "<a href='fajl.php?beta=1&alfa=".$_GET['alfa']."'>b1</a>";
echo "<a href='fajl.php?beta=2&alfa=".$_GET['alfa']."'>b2</a>";
echo "<a href='fajl.php?beta=3&alfa=".$_GET['alfa']."'>b3</a>"; }Esetleg ilyenre gondoltál?
-
ReJim
őstag
sziasztok
(ez egy példa)echo "<a href='fajl.php?alfa=1'>alfa</a>";
if($_REQUEST['alfa'] == 1) {
echo "<a href='fajl.php?beta=1'>b1</a>";
echo "<a href='fajl.php?beta=2'>b2</a>";
echo "<a href='fajl.php?beta=3'>b3</a>"; }ha ráklikkelek az alfára akkor megjelenik a b1,b2,b3.
de ha már a b2-re is ráklikkelek, eltűnik az alfa.hogyan lehet egyszerűen megoldani, hogy ne tűnjön el? tehát nekem valami olyasmi kellene mint a request_uri vagy a php_self keveréke.
szóval ezt hogy szokták megoldani?echo "<a href='fajl.php?alfa=1'>alfa</a>";
if($_REQUEST['alfa'] == 1) {
echo "<a href='".$_SERVER['REQUEST_URI']."?beta=1'>b1</a>";
echo "<a href='".$_SERVER['REQUEST_URI']."?beta=2'>b2</a>";
echo "<a href='".$_SERVER['REQUEST_URI']."?beta=3'>b3</a>";
}ebben az esetben ha alfa, b1, b1 - re kattintok, akkor az alábbi címnél járok:
fajl.php?alfa=1?beta=1?beta=1én ezt akarom valahogyan kikerülni, hogy akárhány beta klikkre is csak fajl.php?alfa=1?beta=1 legyen a cím.
erre írnom kell valamit, vagy létezik megoldás?
-
raczger
őstag
Az SQL az adatbázis, abban tárolod az adataidat, a php pedig egy scriptnyelv, melynek segítségével tudsz keresőt létrehozni, egy egyszerűbbet nem olyan nehéz, bár nem árt ha van már tapasztalatod más programnyelvben.
Teljesen mindegy szerintem milyen programot használsz, a lényeg, hogy szépen színezze a kódot, itt nincs olyan, mint a html-nél, hogy szépen nézed mit csinálsz, ez más. A Dreamweaver pedig tökéletes erre a célra.
Talán ez a kis tutorial segíthet, akár ez alapján egyszerűbb keresőt még meg is tudsz csinálni. -
kariad
senior tag
Szerintem bíztos tudtok segíteni.
Én alap szinten Dreamweaver MX 2004 és annál is gyengébb alapból Flash 7 használom!
Sikerült is velük egy egész jó honlapot csinálnom, de szeretnék az oldalra egy keresőt.
3 paraméter szerint keresni vele a megadott adatbázisból!!De annyi minden van itt PHP SQL stb. Hogy lehet a legegyszerübben egy ilyet összedobni? a Dreamweaver jó hozzá? Nagyon nem értek hozzá!!
Melyik progival kezdjem?? mert nem tudom. Elvileg a szolgáltatomnál SQL adatbázis lehetőség van! Akkor a PHP nem jó? Szóval fogalmi zavarba vagyok, de nagyon!
-
akopacsi
csendes tag
Egy oldalról egy másik oldalon lévő php kódnak szeretnék két paramétert átadni. Az egyiket egy form-ból veszi, a másikat pedig hidden paraméterként szeretném továbbítani. Utóbbit már az első oldal is paraméterként kapja az url-ben. Az alábbi megoldást alkalmazom:
<form action="megrendeles_hozzaadasa.php" method=post>
<input type="hidden" name="megrendeles_termek_azonosito" value="<?php print $_GET['termek_azonosito']; ?>">
Megrendelt mennyiség:<br>
<input type=text name="megrendeles_termek_mennyiseg" size=75><br><input type=submit name="submit" value="Megrendelés">
</form>A kód működik, de az Eclipse, amivel írom mégis szintaktikai hibát jelez. Miért?
-
Sk8erPeter
nagyúr
válasz
animatrix11 #3154 üzenetére
Flash-videókra használd ezt az ingyenes lejátszót, sok mindent (többek közt lejátszólistát) lehet vele beállítani: JW FLV Media Player.
De ez már bőven OFF-topic, nem itt kellene beszélni erről. -
cucka
addikt
válasz
ArchElf #3156 üzenetére
A különbség az, hogy preg-nél a regexp-et két slash közé kell tenni /regexp/, utána pedig módosítót lehet tenni. Gyakran lehet utána látni mondjuk <i>-t:
A fő különbség, hogy az ereg_ függvények szabványos reguláris kifejezésekkel működnek, a preg_ függvények pedig a Perl nyelvben használt reguláris kifejezésekkel. Például az általad említett \w wildcard is csak a perl-es reg. kifejezésekben létezik. A w a word rövidítése, ehhez hasonlóan van \s (space és egyéb üres karakterekre illeszkedik), \d (digit, azaz számjegyekre illeszkedik), továbbá ha nagybetűvel írod, akkor az ellentétét jelenti. Tehát például a \w ekvivalens a [a-zA-Z0-9_] mintával, a \W pedig a [^a-zA-Z0-9_]-vel.Amúgy én innen szoktam puskázni, ha reguláris kifejezést kell írni.
-
-
ArchElf
addikt
válasz
Alukard #3155 üzenetére
function validateTextOnly($theinput,$description = ''){
if (preg_match ("/^[A-Za-z0-9\ ]+$/", $theinput )){
return true;
}else{
$this->errors[] = $description;
return false;
}
}A különbség az, hogy preg-nél a regexp-et két slash közé kell tenni /regexp/, utána pedig módosítót lehet tenni. Gyakran lehet utána látni mondjuk <i>-t:
/abc/i
it az i a case invariant jelölése, tehát nem fog a beadott szövegben a kis- és nagybetűk között különbséget tenni.
Mondjuk a függvényed nem igazán értem (miért text a space és mondjuk az _ nem).
Amúgy a \w = [A-Za-z0-9_]AE
-
Alukard
senior tag
Üdv!
Tudom, már kismilliószor volt szó az ereg() kontra preg_match() -ről, de sehol sem találtam megfelelő tutorialt a cserére... és sajnos még gyerekcipőben jár a php tudásom
remélem tudtok segíteni
function validateTextOnly($theinput,$description = ''){
$result = ereg ("^[A-Za-z0-9\ ]+$", $theinput );
if ($result){
return true;
}else{
$this->errors[] = $description;
return false;
}
}Ez kéne nekem preg_match-el (mert ha jól tudom ez kell hozzá)
Minden segítséget előre köszönök
-
animatrix11
őstag
válasz
DeltaPower #3153 üzenetére
thx!
igen másik topciba is ezt irták, ha fullra rakom akkor megjelenik a csúszka, de előre tekerni igy sem tudok benne, ez valami media player betegség lehet
normal modban pedig nem lehet elinditani a lejátszást
eseteg abban tudnál sergitni hogy flsaht hogy ágyazok be, egy kód kéne
-
DeltaPower
addikt
válasz
animatrix11 #3152 üzenetére
<param name="uiMode" value="mini" />
azt hiszem ez a sor a ludas, value="full" vagy "normal" megoldja, ha jól emlékszem
-
animatrix11
őstag
sziasztok
Segítség kéne, nem vagyok benne a témában, weboldab épeitett media playert használok, működik is, de egy gond nem tudok beletekeni a videóba, a "csik" ott van, de a kis csúszka nem jelenik meg mint a többi lejátszónál
hogy lehetne ezt beállitani hogy működjön? ime a kód<object id=player_id15337
codebase=http://www.microsoft.com/ntserver/netshow/download/en/nsmp2inf.cab#Version=5,1,51,415
type=application/x-oleobject height=367 standby="Videó töltése..."
width=452 classid=CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6>
<param name="url" value="http://sugarsuli.hu/sulioldal/video/tv2.WMV" />
<param name="autoStart" value="false" />
<param name="uiMode" value="mini" />
<param name="PlayCount" value="1" />
<param name="showControls" value="1" />
<param name="showStatusBar" value="1" />
<param name="enableContextMenu" value="0" />
<param name="stretchToFit" value="0" />
<param name="Volume" value="100" />
<embed width="452" height="367"
autostart="true"
loop="false" id="player_id15338" uimode="mini" showstatusbar="1" playcount="1" enablecontextmenu="0" showcontrols="1"
pluginspage="http://www.microsoft.com/windows/mediaplayer/download/default.asp"
type="video/x-ms-asf-plugin" url="http://sugarsuli.hu/sulioldal/video/tv2.WMV" stretchtofit="0" volume="100" name="player_id15337"/>
</object>előre is thx a help, az is jó ha tudtok más lejátszót esetleg ami használhatóbb
-
biker
nagyúr
válasz
Tele von Zsinór #3150 üzenetére
feldaraboltam és megformáztam
de köszi
-
Tele von Zsinór
őstag
Nem
maradhat úgy, ahogy van, de a select querydben például úgy legyen, hogy
SELECT UNIX_TIMESTAMP(`mezonev') AS `asdf`;
És ezután nyugodtan átadhatod a date-nek. Hasonló módon kell használni a másik függvényt is, csak annak kell egy másik paraméter is, analóg módon a php date függvényével.
-
biker
nagyúr
válasz
Tele von Zsinór #3148 üzenetére
namost ilyet nem tudok megadni neki mint mezőtulajdonság.
vagy úgy érted, hogy ne hagyjam üresen, hanem pl time='unix_timestamp()' ?? -
Tele von Zsinór
őstag
Ha timestampként kell, akkor UNIX_TIMESTAMP(), ha formázott dátumként kell, akkor DATE_FORMAT().
-
biker
nagyúr
újabb kérdés, bocsi
a mysql timestamp esetén nem unix timestampet tesz bele, hanem pl 20090928174234 formátumot, amit tök értelmetlen beadni a date() fv-nek, erre van valami trükk, hogy formázva megkapjam? number format nem jó
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3144 üzenetére
Értem, köszönöm a kimerítő választ, pont erre voltam kíváncsi.
Egyébként a perzisztens kapcsolat milyen esetekben lehet szükséges/ajánlott?
-
vamzi
senior tag
Sziasztok!
Php-ben létrehozunk illetve bővítünk egy file-t az fopen paranccsal. a fájlnak a nevét a get paranccsal mintázzuk egy .txt kiterjesztéssel, mert egy kattintásszámlálót akarunk csinálni. minden megy szépen, számol ahogy kell, csak az a baj, hogy a txt-nk az eredeti fájl mellé jön létre, mert a get paranccsal a teljes elérési utat adjuk ugyebár fájlnévnek. hogy tudnánk vagy a fájlnevéből kiszedni a kritikus részt, hogy a gyökérbe legyen létrehozva a fájl és ott is legyen bővítgetve?
-
Tele von Zsinór
őstag
válasz
Sk8erPeter #3143 üzenetére
MySQL esetében nem ajánlott a perzisztens kapcsolat, maradj a sima _connect()-nél.
Kapcsolatot bezárni szép, de ha úgyis a scripted végére tennéd, felesleges: a futás végén a php felszabadít minden erőforrást, így a kapcsolatot is. Használata ott ajánlott, ahol sok konkurrens felhasználó van: gyorsan összeszeded adatbázisból, ami kell, zárod a kapcsolatot, és csak utána foglalkozol a kiiratással. -
PazsitZ
addikt
válasz
Sk8erPeter #3141 üzenetére
Nem ismerem kifejezetten, de amire pl felhívja a figyelmet: "Ensure that you do not exceed the number of connections allowed by MySQL."
itt alul megtalálod az esetleges hátulütőit
pl.:
Esetleges bug (végtelen ciklus) esetén beakad a szál, hamar elfogy az összes kapcsolati szál.
Ha a script valamiért hosszabb időre lock-olja a táblát/sort akkor elérhetetlenné válik. -
Sk8erPeter
nagyúr
Hali!
Ha van egy oldal, ahol van egy galéria, ahol a képek elérési útját adatbázisból kérem le, valamint magát az oldal tartalmát is a könnyebb módosíthatóság érdekében (adminfelületen keresztül kényelmesen módosítható, hozzácsapok a szerkesztőmezőhöz még egy TinyMCE-t, így találtam a legegyszerűbbnek, hogy az emberkének ne kelljen kódokat szerkesztenie) minden menüpontban, akkor melyikkel érdemes csatlakozni a MySQL-kiszolgálóhoz, a
mysql_connect(), VAGY a
mysql_pconnect()
paranccsal?
Azt vágom, hogy utóbbi egy állandó kapcsolatot hoz létre arra az esetre, ha meg akarjuk takarítani az időt, ami egy kapcsolat felépítéséhez szükséges - de nem rejt ez magában biztonsági kockázatot?
Előnyök/hátrányok?Lehet, hogy nem a legjobb, ha minden egyes függvény után beteszem a mysql_close() parancsot.
(ami mondjuk nem zárja a mysql_pconnect()-tel megnyitott kapcsolatot)
Köszi!
-
biker
nagyúr
válasz
PazsitZ #3139 üzenetére
a probléma css formázás, szövegdobozok, több hasábban
a lekérdezés ad 20 találatot, és elkezdem kiíratni gyönyörűen 1. box balra, 2.jobbra, 3. balra, 4. jobbra, 5. balra stb
ez sokszor tökéletes, de időről időre (refreshelve) 1-1 doboz nem a jó helyre kerül, de még csak nem is bal helyett jobbra, hanem még a megfelelő pozíció mellé is csúszik 20px-nyit kbugyanaz a termékdoboz ami elcsúszik, az mindegy, hogy a randomnál hova kerül, 1. sor vagy 18. sor, onnantól törik a kinézet.
megnéztem amivel csak tudtam, nem találok semmi fals formázást, főleg, ha a ciklusban lenne hiba, akkor rendre ugyanott lenne a hiba, nem véletlenszerű helyen úgy, hogy van olyan, amikor a teljes oldal hibátlan 2-3 refresh után is, és csak a 4.-nél van hiba.
ezért gondolom, hogy a termék adatbázisban lehet valami gebasz, de nem találom, mi azha van kedved segíteni, és bárki másnak, privátban szívesen adok elérhetőséget a tesztoldalhoz
-
biker
nagyúr
válasz
PazsitZ #3137 üzenetére
jó így is, köszi.
Csak jól le kellett teszteljem(csak arra kéne tipp, hogy rejtett rossz karaktereket hogy találok meg, mert a szemem kigúvad, akkor se találok egy hibát, ami egy egy sornál random széttöri a dobozokat. ugyanaz a sor mindig, de csak az, és nem látom a karakterhibát
)
-
PazsitZ
addikt
Ha nem adsz meg oszlopot (ahogy írtam is), akkor tábla teljes tartalmából fog válogatni.
Azaz az összes sort randomba fogja rendezgetni.De ha arra gondolsz, hogy a 15., 137. 1456. 8765. 15.324. általad meghatározott sorok közül dobjon ki egyet, akkor php-ban sorsolj egyet közülük és azt az egyet kérd le...
-
biker
nagyúr
válasz
PazsitZ #3133 üzenetére
node várj, ez csak véletlenszerű oszlop szerinti rendezés (ORDER BY RAND() )
25.000 sornál az, hogy a 10 oszlop melyikét rendezi előre, ettől soha nem fogom látni az összes adatot random.Olyanra gondoltam, hogy random dobja ki mondjuk a 15., 137. 1456. 8765. 15.324. sort mondjuk.
ezt php-ban meg lehetne oldani, hogy lekérem az összsort, majd random 0-maxsor közt generálok számokat, csak gondoltam van szebb megoldás is -
dany27
őstag
hi
nem régen kezdtem el ismerkedni a PHP nyelvel, és ehhez szeretnék pár irodlamat beszerezni.
PHP5 24 óra alatt valamint a PHP zsebkönyv.
Az elsővel van személyes tapasztalatom , de a másodikat nem ismerem.Valaki ismeri a PHP zsebkönyvet? Ez tulajdonképpen mi?? Különböző utsítások színtaktikája van bennt vagy mi?? Vagy mit tom én konkrét példákra megoldás??
Érdemes megvenni?Előre is köszi!
-
biker
nagyúr
lehet hülye kérdés, van mysql queryben random lekérdezés?
véleltlenszerűen mutatnék sorokat minden oldalbetöltéskor. ehhez van beépített rutin, vagy generáljak random számokat, és olvassam ki azok alapján pl ID egyezésre? -
serwer
csendes tag
Halihó!
Azt meg lehetne oldani, hogy egy bizonyos országból érkező látogatóknak ne legyen elérhető a weboldal?
Kapjanak egy hibaoldalt vagy valami hasonlót. -
biker
nagyúr
nagy myadmin kérdés:
a táblában van id és timestamp mező is autora állítva
php scriptből és myadmin insert vagy update esetén mindkettő jól frissül, ellenben ha importálok, akkor az id és a timestamp mezőket üresen hagyom, kkor az id mező rendesen számolódik felfelé, a timestamp viszont 00000000000000 lesz.már próbáltam üresen, null értékkel, 0-val, de semmivel se értem el, hogy import esetén is frissüljön.
erre van megoldás?
-
cucka
addikt
Itt válaszolok erre, mert tisztán php kérdés, semmi köze a mysql-hez.
A while ciklus akkor áll meg, amikor a feltétele hamis lesz. Ez azt jelenti, hogy a php a feltételt boolean típusra cast-olja és megnézi, hogy egyenlő-e a boolean false értékkel.
Normálisan valahogy így kell megírni egy ilyen ciklust.
$res=mysql_query("select * from tablanev");
while (false !== ($row=mysql_fetch_assoc($res)){
//itt a ciklus magja
}Az történik, hogy (jobbról balra, belülről kifele haladunk):
1. A mysql_fetch_assoc visszatér egy tömbbel vagy boolean false értékkel, amennyiben nincs több sor. Tehát nem ad vissza 1-et meg nullát, hanem mindig a mysql resourse-hoz tartozó következő sort adja vissza asszoc. tömbként. Ha nincs több sor, akkor false-al tér vissza.
2. Az értékadás művelete mindig arra értékelődik ki, ami az értékadás jobb oldalán van, tehát jelen esetben a mysql_fetch_assoc visszatérési értékére.
3. A false !== rész megvizsgálja, hogy a mysql_fetch_assoc boolean false értékkel tér-e vissza. Ezt le lehet spórolni, de célszerű így megszokni. Probléma akkor lehet, ha a mysql_fetch_assoc üres tömbbel tér vissza, ami boolean-ra cast-olva false értéket ad. A mysql_fetch_assoc soha nem fog üres tömbbel visszatérni, de ha mondjuk saját adatbázis kezelő osztályt írsz, akkor előfordulhat.A következő kódod pedig totál rossz:
$result = mysql_fetch_assoc($query) or die ("Para van!")
Itt akkor fog lefutni a die, ha a mysql_fetch_assoc visszatérési értéke == boolean false. (Tehát nincs típusellenőrzés). Gyakorlatilag ha nincs egyetlen sor sem a táblában, akkor lefut a die.
A fenti sor ekvivalens a következővel.
$result=mysql_fetch_assoc($query);
if ($result==false) die("Para van"); -
Sk8erPeter
nagyúr
Hali!
PHP+MySQL kérdés, csak ahogy elnézem, a MySQL topic nem túl sűrűn látogatott mostanában
Rá tudnátok nézni a kérdésre? Halál egyszerű dologról lenne szó, amire valahogy így későn nem sikerül rájönnöm:
[link]
Köszi! -
PazsitZ
addikt
A $_POST,$_GET,... tömbök.
Tömbre pedig a string azonosító miatt hivatkozol 'névvel'.
" " macskakörmöt használva be lehet szimpla változókat rakni a string közé, amit a fordító behelyettesít.
Ha egy tömbön belül string azonosítóval való hivatkozás viszont már viszont hibát dob.
Ekkor a stringhez . -al hozzá tudod fűzni az értéket további . -al pedig folytatólagosan fűzöd az újabb string elemet.Remélem jól magyaráztam és érthető is.
-
-
raczger
őstag
<html>
<head>
<title>9_3 Egyszerû HTML ûrlap feldolgozása</title>
</head>
<body>
<?php
print "Üdvözlet <b>".$_GET['felhasznalo']."</b><P>\n\n";
print "A címe:<P>\n\n<b>".$_GET['$cim']."</b>";
?>
</body>
</html>Ha pedig valami hibát ad ki a program általában leírja hányadik sorban van, és pontosan mi az, próbáld majd magad javítani, azt sem árt gyakorolni
-
sonar
addikt
válasz
Tele von Zsinór #3114 üzenetére
Valóban
Egy másik kérdésem is lenne. Felraktam az xampp-ot de vhogy most meg a get-es űrlapoknál akadtam le. Látom a címsorban, hogy szépen küldi az adatot, de vhogy nem veszi át a paramétert a php progim. Milyen beállítást kéne megnéznem?
Űrlap<html>
<head>
<title>9_2 Egyszerû HTML ûrlap</title>
</head>
<body>
<form action="9_3_program.php" method="GET">
<input type="text" name="felhasznalo">
<br>
<textarea name="cim" rows="5" cols="40">
</textarea>
<br>
<input type="submit" value="rendben">
</form>
</body>
</html>Feldolgozó
<html>
<head>
<title>9_3 Egyszerû HTML ûrlap feldolgozása</title>
</head>
<body>
<?php
print "Üdvözlet <b>$felhasznalo</b><P>\n\n";
print "A címe:<P>\n\n<b>$cim</b>";
?>
</body>
</html> -
(Bundás)
addikt
Elnézést az OFF-ért: webshopokban jártas (konkrétan Quick Cart (mysql adatbázis nélküli móka)), vagy vállalkozó embert keresek az ügyben. Aki jártas benne nem hiszem, hogy óriási dolog, megfizetem, részeltek PM.
-
sonar
addikt
Sziasztok,
Belefogtam a PHP tanulásba a PHP24 könyv alapján. Arra már rájöttem, hogy a legtöbb ott leírt program így vagy úgy hibás - sebaj, legalább tanul az ember egy kis debugot is.
Viszont a 8. fejezetben ahol az osztályokat tárgyalja a könyv leakadtam a 8.5-ös programnál.
Nem tudom, hogy mi lehet a hiba. Lécci vki segítsen.
Kiemeltem azt a sort amivel gond van.
<?php
class Tablazat
{
var $tablazatSorok = array();
var $oszlopNevek = array();
var $oszlopszam;
function Tablazat ($oszlopNevek)
{
$this->oszlopNevek = $oszlopNevek;
$this->oszlopszam = count ($oszlopNevek);
}
function ujSor ($sor)
{
if (count($sor) !=$this->oszlopszam)
return false;
array_push ($this->tablazatSorok,$sor);
return true;
}
function ujNevesSor ($asszoc_sor)
{
if (count($asszoc_sor) != $this->oszlopszam)
return false;
$sor = array();
foreach ($this->oszlopNevek as $oszlopNev)
{
if (! isset($asszoc_sor[$oszlopNev]))
$asszoc_sor[$oszlopNev]="";
$sor[] = $asszoc_sor[$oszlopNev];
}
array_push($this->tablazatSorok,$sor);
}
function kiir()
{
print "<pre>";
foreach ($this->oszlopNevek as $oszlopNev)
print "<b>$oszlopNev</b> ";
print "\n";
foreach ($this->tablazatSorok as $y)
{
foreach ($y as $xcella)
print "$xcella";
print "\n";
}
print "</pre>";
}
[B]$proba = new Tablazat (array("a","b","c"));[/B]
$proba->ujSor(array(1,2,3));
$proba->ujSor(array(4,5,6));
$proba->ujNevesSor (array ("b"=>0, "a"=>6, "c"=>3));
$proba->kiir();
?> -
Sk8erPeter
nagyúr
válasz
PazsitZ #3111 üzenetére
TÖKÉLETES!
Pont ilyen tömbös megoldásra gondoltam én is, csak én úgy akartam megoldani, hogy pl.$special_chars = array (
'á' => 'a',
'à' => 'a',
'ä' => 'ae',
'â' => 'a',
'ã' => 'a',
...
}(ezt a tömböt kimásoltam innen, úgyhogy nem kellett szenvedni a megírásával
), tehát hogy ami a nyíl után van, arra helyettesítse, azt hittem, úgy is megoldható
De így is tökéletes, köszönöm, PazsitZ!Tényleg, ha már itt tartunk, akkor már érdekelne, hogy egyébként esetleg kivitelezhető lenne azzal a változattal is, amire én gondoltam eredetileg? Ha igen, akkor mi a módja?
Szerk.:
most látom, valahogy így oldja meg:if (in_array($char, array_keys($special_chars))) {
$result .= $special_chars[$char];
}Kicsit túl hosszú a többi kód, rá kéne vennem magam, hogy áttanulmányozzam...
-
PazsitZ
addikt
válasz
Sk8erPeter #3110 üzenetére
Esetleg próbáld ki ezt:
function chere($txt){
$mit = array("á","é","í","ó","ö","ü","ű","ú","Á","É","Í","Ó","Ö","Ü","Ű","Ú","ä","Ä" );
$mire = array("a","e","i","o","o","u","u","u","A","E","I","O","O","U","U","U","a","A" );
return(str_replace($mit,$mire,$txt)) ;
} -
Sk8erPeter
nagyúr
válasz
PazsitZ #3109 üzenetére
Persze, hogy nem illik ékezetes betűt használni url-ben, épp ezért akartam ellenőrizni a júzert, aki feltölti a képet mondjuk "csodálatos ez a kép, sőt mondhatnám gyönyörű.jpg" néven
Szóval hogy helyettesítse a szóközöket mondjuk alsóvonással, az ékezetes betűket pedig a neki megfelelő ékezet nélküli karakterrel, mint pl. gyönyörű -> gyonyoru
Ez esetleg megoldható? Nem is nagyon vágom, miért nem működik az ékezet-konvertálás... -
PazsitZ
addikt
válasz
Sk8erPeter #3108 üzenetére
Most nézem csak, hogy mire is akarod használni.
Én direkt nem szenvedtem hasonló esetben az ékezetekkel, url-be amúgy sem illik ékezetet rakni.
Én így oldottam meg a dolgot:mb_ereg_replace("/[^a-z0-9]/i",'_',$filename)
Azaz a filenévben csak betűt és számot engedek, minden más alulvonás lesz a névben.
-
Sk8erPeter
nagyúr
válasz
Tele von Zsinór #3074 üzenetére
A böngészőfüggőt csak azért kérdeztem, mert már nem tudtam mire gyanakodni, hirtelen arra gondoltam, hogy esetleg az egyes form-ok esetén a böngészők más-más karakterkódolással küldik el a szövegeket... De akkor ez nem igaz.
Viszont kipróbáltam már szinte minden kombinációban, us-ascii-vel is, meg még kb. 5-féle kódolással, de egyszerűen sehogy sem akarja olyan formára alakítani, ahogy nálad megszületik a kimenet. Több szerveren is próbáltam már, ugyanúgy vagy csak egy ilyen dobozszerű ikon lesz az ékezetes betűk helyett, vagy egy, illetve más kódolás esetén kettő kérdőjel.
Próbáltam már az iconv-vel is, és próbáltam az mb_convert_encoding függvénnyel is, reménykedve abban, hogy az majd megoldja, de nem.
Kipróbáltam az alábbit is:$enc = iconv_get_encoding('all');
print_r ($enc);Így olvasható formában kapom meg pl. egy tömb elemeit, esetemben ez lesz az eredmény:
Array ( [input_encoding] => ISO-8859-1 [output_encoding] => ISO-8859-1 [internal_encoding] => ISO-8859-1 )
Pedig tudtommal az ISO-8859-1-ben nem kéne ékezetes karakternek lennie.
Mi lehet a gond, ami miatt nem tudom konvertálni az ékezetes karaktereket?
-
DviDee
csendes tag
válasz
Tele von Zsinór #3103 üzenetére
Jó lesz! Nagyon szépen köszönöm. 1-2 dolgot csiszolgatok rajta, de ilyesmire gondoltam. Köszönöm mindenkinek aki segített!
-
tob!as
tag
válasz
akopacsi #3087 üzenetére
<?php
$query = mysql_query('SELECT id, nev FROM kategoria', $connection);
?>
<form action="termek_hozzaadasa.php" method="post">
<p>Termék név:<br>
<input type=text name="termek_nev" size="75"><br>
Kategória:<br>
<select name="termek_kategoria">
<?php
while ($row=mysql_fetch_row($query)){
print '<option value='.$row[0].'>'.$row[1].'</option>';
}
?>
</select>
<input type=submit name="submit" value="Hozzáadás">
</p>
</form></body>
</html> -
DviDee
csendes tag
-
PazsitZ
addikt
A head tag, de még a <html> tag is (bármely html elem) azonnal kiírandó input.
A session-t rakd be a fő fájlod legelejére.
(A session_start elé max. PHP parancsok kerülhetnek, amelyek nem írnak az outputra, de többnyire még így is szinte mindig legelöl helyezkedik el)1: <?PHP
2: session_start();
3: ?>
4: <html>
5: <head>
6: </head>
7: <body>
8: <?PHP include 'mail.php'; ?>
9: ...
Új hozzászólás Aktív témák
Hirdetés
- AMD Ryzen 7 7700X - Új, 1 év garancia - Eladó!
- Apple Watch ultra 2 49mm Natur Titanium, Új, 1 év Apple garanciával
- Gamer PC - R5 5600, RTX 3060 és 16gb RAM + GARANCIA
- HP Zbook 14 laptop (14FHD/I7-G5/8GB/128SSD/MagyarVilágítós)
- Jó áron ÁRON ELADÓ! Üzleti HP Elitebook 1040 G9 Laptop! / i5-1245U 16GB 256GB
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
- BESZÁMÍTÁS! XFX MERC 310 RX 7900 XTX 24GB videokártya garanciával hibátlan működéssel
- BESZÁMÍTÁS! Asus H110M i5 7400 8GB DDR4 250GB SSD 1TB HDD GTX 1650 4GB ZALMAN S3 TG Chieftec 600W
- AZONNALI SZÁLLÍTÁSSAL Eladó Windows 8 / 8.1 Pro
- Laptop felvásárlás , egy darab, több darab, új , használt ! Korrekt áron !
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged