- Luck Dragon: Asszociációs játék. :)
- Magga: PLEX: multimédia az egész lakásban
- Argos: Szeretem az ecetfát
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- sziku69: Szólánc.
- Geri Bátyó: B550 szűk keresztmetszet, de mi és miért?
- eBay segítség kezdőknek
- moha bácsi: VIII. Viharsarki Hobbi Elektronika Találkozó Békéscsaba 2025.06.14. szombat
Új hozzászólás Aktív témák
-
syC
addikt
Hello!
Az mitől lehet, hogy felmásolom a php fájlt a tárhelyre, majd amikor böngészőben meg akarom nyitni futtatás helyett felajánlja a fájl letöltését ? Semmilyen php nem fut le, de php elvileg van telepítve a webszerverre.
-
Sk8erPeter
nagyúr
válasz
Atti575 #12394 üzenetére
Teljesen felesleges itt az adatbázis- és tábla-létrehozó query-d. Ezt nem így szokás elintézni, szóval amíg nincs az alkalmazásodban ez a tábla automatikus létrehozása az alkalmazásból egy jó helyre beépítve, addig inkább hozd létre manuálisan az adatbázist és a táblát. Úgyis csak egyszer kell. Viszont csúnyává teszi a kódodat, hogy ott van ez a query, plusz egy felesleges terhelést ró a webszerverre és az adatbázis-szerverre is.
Ezt a hozzászólásomat nem láttad? >>> [link]
Itt egy használhatóbban kinéző kód van.========================
(#12397) fordfairlane :
bár látványosan ignorálod a neked címzett hozzászólásaimat, az azokban esetleg számodra feltett direkt kérdéseket valami elég furcsa okból, azért megkérdezem: miért nem próbálsz inkább jobb szokást belenevelni az újoncba, pl. PDO-kódok használatával, hibaelnyomás (lásd @ karakter) használata helyett normális hibakezeléssel? Most érted, az is egyfajta "felelősség", hogy mi milyen segítséget adunk itt valakinek. -
fordfairlane
veterán
válasz
Atti575 #12394 üzenetére
mysql_select_db("test");
helyett
mysql_select_db("etterem");$selectdb= @mysql_select_db($etterem);
helyett
$selectdb= @mysql_select_db("etterem");INSERT INTO eterem
helyett
INSERT INTO kajaMáskor légyszi olvashatóbban írj, és használd a programkód formázást a programkódnál, mert így egy olvashatatlan massza az egész. Ja, és használd a mysql_real_string_escape-t az INSERT INTO-nál, ahogy azt a példámban korábban írtam.
-
Atti575
tag
hát már próbáltam úgy is akkor is kiríja ha lefuttatom html a táblázat nem elérhető mysql be létre hozza a mezőket de értéket meg nem ad neki
-
Atti575
tag
Na most már ugy állok a phpval hogy megcsinálom a táblákat mysql-ben de nem ad neki értéket úgy kellene hogy ha veszek 1 pirítós meg 1 kaja akkor csak ezt a 2 írása ki mysql nekem meg így kiír mindent és nem jó + elinditom a html bejelölöm mi kell összeadja kiirja mit vettem de valamiért kiirja még hogy a táblázat nem elérhetö de nem birok rájönni hogy miért
<?php
mysql_connect("localhost", "localhost", "");
mysql_query("CREATE DATABASE IF NOT EXIST etterem");
mysql_select_db("test");
//tábla létrehozása
mysql_query("CREATE TABLE IF NOT EXISTS `kaja` (
`kulcs` int(10) unsigned NOT NULL AUTO_INCREMENT,
`datum` varchar(20) COLLATE utf8_hungarian_ci NOT NULL,
`piritos` int(11) NOT NULL DEFAULT '0',
`palacsinta` int(11) NOT NULL DEFAULT '0',
`kakao` int(11) NOT NULL DEFAULT '0',
`tea` int(11) NOT NULL DEFAULT '0',
`fizet` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`kulcs`),
KEY `datum` (`datum`)
); ");$fizet=0; $vasarolt="";
if ( isset($_POST["piritos"]) && $_POST["piritos"]>0 ) { $fizet+=$_POST["piritos"]; $vasarolt.="- prititós<br>"; } else { $_POST["piritos"]=0; }
if ( isset($_POST["palacsinta"]) && $_POST["palacsinta"]>0 ) { $fizet+=$_POST["palacsinta"]; $vasarolt.="- palacsinta<br>"; } else { $_POST["palacsinta"]=0; }
if ( isset($_POST["kakao"]) && $_POST["kakao"]>0 ) { $fizet+=$_POST["kakao"]; $vasarolt.="- kakaó<br>"; } else { $_POST["kakao"]=0; }
if ( isset($_POST["tea"]) && $_POST["tea"]>0 ) { $fizet+=$_POST["tea"]; $vasarolt.="- tea<br>"; } else { $_POST["tea"]=0; }if ( $fizet == 0 ) { print "Nem vásárolt semmit."; exit; }
print "Összesen: ".$fizet." Ft-ot kell fizetni<br>";
print "Vásárolt: ".$vasarolt."<br><br>";
print "Köszönjük a vásárlást<br>";$mysql_host = "localhost";
$mysql_uname = "localhost";
$mysql_pass ="";
$connect = @mysql_connect($mysql_host, $mysql_uname, $mysql_pass);if( !$connect ) { print "Hiba nincs kapcsolat"; exit; }
$selectdb= @mysql_select_db($etterem);
if ( !$selectdb ) { print "A táblázat nem elérheto!"; exit; }@mysql_query("INSERT INTO eterem (`datum`, `piritos`, `palacsinta`, `kakao`, `tea`, `fizet`) VALUES ('".date("Y.m.d H:i:s")."', ".$_POST["piritos"].", ".$_POST["palacsinta"].", ".$_POST["kakao"].", ".$_POST["tea"].", ".$fizet."); ");
?>
</body>
-
Brown ügynök
senior tag
Bocsi a kavarásért. Csak kipróbáltam, hogy lehet-e olyat, hogy annak a cookienak az érvényességét állítom be ahol a session is tárolódik de úgy továbbra is fennállt a hiba.
Most leszedtem a szerverről a működő kódot, átírtam a cookie hatókörét helyi URL-re és úgy tűnik működik. Kop-kop. Tehát marad a két cookies megoldás.
-
Soak
veterán
válasz
Brown ügynök #12390 üzenetére
Most ezt nem egészen értem. Beállítasz egy PHPSESSID nevü cookie-t a PHPSESSID cookie tartalmával és névével?
-
Brown ügynök
senior tag
-
Soak
veterán
válasz
Brown ügynök #12387 üzenetére
A cookienak meg kell adni, hogy milyen domainre ervenyes. Erre gondoltal? Tehat a dev kornyezetben dev parametereket hasznalsz?
-
Brown ügynök
senior tag
"Emlékezz rám" funkcióval kapcsolatban szeretnék segítséget kérni.
Ugyanaz a kód fut élesben és a gépemen is. Létrehozok egy plusz cookie-t, hogy vizsgálni tudjam, hogy a felhasználó bejelentkezve akar-e maradni. A session_id-t és a cookie értékét adatbázisban tárolom. Ha jön a felhasználó, megnézem, hogy van-e cookie-ja. Ha igen, akkor megnézem, hogy van-e ilyen cookie az adatbázisban és hogy érvényes-e még. Ha van de az érvényességi ideje lejárt, akkor a cookie-t érvénytelenítem , a session-t és az adatbázis bejegyzést törlöm.
Nos, ez élesben működik, de a gépemen, ha olyan cookie-val próbálok bejelentkezni ami már érvénytelen, akkor kiléptet. Majd amikor ismét bejelentkezek, az egyik menüpontnál a korábban lejárt cookie-t veszi és annak az azonosítójára keres rá az adatbázisban. hogy Azt látom, hogy ilyenkor kettő ugyanolyan nevű cookie van a gépemen. Ez mitől lehet?
Igazából azért hozok létre egy plusz cookiet, hogy az "emlékezz rám" funkció működjön.
-
Sk8erPeter
nagyúr
válasz
oleslie #12385 üzenetére
Ennek semmi köze az Ubuntuhoz...
Nem véletlen, hogy deprecated az általad írt megoldás, és ezért nem kell ám anyázni
http://php.net/manual/en/language.references.pass.php"Note: There is no reference sign on a function call - only on function definitions. Function definitions alone are enough to correctly pass the argument by reference. As of PHP 5.3.0, you will get a warning saying that "call-time pass-by-reference" is deprecated when you use & in foo(&$a);. And as of PHP 5.4.0, call-time pass-by-reference was removed, so using it will raise a fatal error."
-
oleslie
aktív tag
válasz
Sk8erPeter #12384 üzenetére
Már meg nem mondom, de volt vmi ami évekig 'deprecated' volt, aztán szűnt meg.
Nemrég pedig belefutottam egy pofonba (igaz, nem nagyon olvasgatom a híreket, csak írogatom a hüje kis programjaimat), miszerint nem mind1, hol/hogyan használod a &$ -t.
ennek fatal error az eredménye :
$valami = 1;
$masolat = &$valami;
$masolat = 2;eddig lehetett így is:
$valami = 1;
func(&$valami);
function func($param) { ... }most viszont a fenti megoldás hibát eredményez, így működik:
$valami = 1;
func($valami);
function func(&$param) { ... }fejből meg nem mondom melyik php verziótól, annyit tudok, hogy buguntu, friss (<=2 hónap) telepítés.
-
oleslie
aktív tag
ok, nem fogalmaztam pontosan.
Tehát az adatbázis elérésére gondoltam. mysql_* fügvényekkel vs. :: PDO> - ez a jelen/jövő, a régi mysql extension a múlt és deprecated
ehh ... akkor ez lehet 1 hét <->10év :/ -
Sk8erPeter
nagyúr
válasz
oleslie #12380 üzenetére
"PDO vs MySQL hitvita"
Valamit nagyon rosszul tudsz, mivel itt PDO-val is a MySQL-hez csatlakoztam, ahogy a mysql_connect() is MySQL-hez csatlakozik... a PDO egy PHP-s osztály. A MySQL pedig egy adatbázis-kezelő szerver.http://php.net/manual/en/book.pdo.php
Itt utána tudsz olvasni, mi is ez.
Lényeg nagyon röviden:
- OOP
- adatbázis eléréséhez absztrakciós réteget nyújt, így könnyebbé teszi más adatbázisra való átállást (pl. SQLite-ról MySQL-re vagy fordítva, de ez most csak egy példa a sokból), nem kell mindenhol lecserélni a mysql_* előtagokat (persze nem úszod meg bizonyos query-k átírását az átálláskor, ha azt nem támogatja a másik adatbázis)
- prepared statementek, macerás mysql_real_escape_string() és ehhez hasonló ocsmány hívások elkerülése
- szebb kód (ez az előző pontból is következik)
- itt Tele von Zsinór még leírt pár dolgot
- kényelmesebb kód (mint például az előbbi pontban látható foreach-es bejárás, ami gyorsan átlátható kódot eredményez)
- ez a jelen/jövő, a régi mysql extension a múlt és deprecated: http://news.php.net/php.internals/53799Ha még magasabb szintű absztrakció kell, akkor persze egy komplett ORM-et kell használni.
-
oleslie
aktív tag
hmmm ... láttam már népeket más fórumokon összeveszni PDO vs MySQL hitvita ügyében.
Valaki felvilágosítana (nem úgy!) mi a lényeg? Nekem nincs gondom a mysql -el, amit akarok, azt el tudom benne intézni, sebességére nincs panaszom (injection nem játszik, nem teszek adatot query-be ellenőrzés nélkül.)
-
Sk8erPeter
nagyúr
válasz
fordfairlane #12378 üzenetére
Ne má', legalább Te ne mutass őskövület kódokat kezdőknek...
Egyébként a query-d első ránézésre hibás.
Átalakítom, szerencse, hogy Tele von Zsinór példájából lehet gyorsan ollózni.// ........ MIUTÁN ELLENŐRIZTÜK a $_POST-tömböt
// persze a csatlakozás lehet máshol is, most tök mindegy
$db = new PDO(
"mysql:host=localhost;dbname=etterem", // adatbázis neve 'etterem'
"USERNAME", // cserélendő
"PASSWORD", // cserélendő
array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
)
);
$stmt = $db->prepare(
"INSERT INTO tablanev (mezonev1, mezonev2, mezonev3, mezonev4)
VALUES(:mezonev1, :mezonev2, :mezonev3, :mezonev4)");
$stmt->execute(array(
':mezonev1' => $_POST['piritos'],
':mezonev2' => $_POST['palacsinta'],
':mezonev3' => $_POST['kakao'],
':mezonev4' => $_POST['tea'],
));Szerk.: persze ez sem biztos, hogy hibátlan, nem teszteltem, nem raktam code syntax highlightot mutató editorba.
-
fordfairlane
veterán
válasz
Atti575 #12377 üzenetére
Szerintem már kaptál példát arra, hogy hogyan kell adatot írni adatbázisba. Létre kell hozni egy adattáblát a megfelelő mezőkkel, ez lesz az adatok sémája. Adatot beleírni meg egyszerű:
$query = 'INSERT INTO tablanev SET';
$query .= ' mezonev1 = "'.mysql_real_escape_string($mezoertek1).'"';
$query .= ',mezonev2 = "'.mysql_real_escape_string($mezoertek2).'"';
$query .= ',mezonev3 = "'.mysql_real_escape_string($mezoertek3).'"';
/// és így tovább, és így tovább, ahány meződ van...
mysql_query($query); -
Atti575
tag
Segítenétek még egy kicsit el se tudom kezdeni hogy amit választatom ételt ki kell íratni egy msyql
adatbázisba :/
$fizet=0; $vasarolt="";if ( IsSet($_POST["piritos"]) && $_POST["piritos"]>0) { $fizet+=$_POST["piritos"]; $vasarolt.="- prititós<br>"; }
if ( IsSet($_POST["palacsinta"]) && $_POST["palacsinta"]>0) { $fizet+=$_POST["palacsinta"]; $vasarolt.="- palacsinta<br>"; }
if ( IsSet($_POST["kakao"]) && $_POST["kakao"]>0) { $fizet+=$_POST["kakao"]; $vasarolt.="- kakao<br>"; }
if ( IsSet($_POST["tea"]) && $_POST["tea"]>0) { $fizet+=$_POST["tea"]; $vasarolt.="- tea<br>"; }print "Összesen: ".$fizet."Ft-ot kell fizetni<br>";
print "Vásárolt: ".$vasarolt."<br>";$mysql_host = "localhost";
$mysql_uname = "localhost";
$mysql_pass = "";
$mysql_db = "etterem";$connect = @mysql_connect($mysql_host, $mysql_uname, $mysql_pass);
if(!$connect) {
print "Hiba nincs kapcsolat";
exit;
}$selectdb= @mysql_select_db($mysql_db);
if(!$selectdb) {
print "Köszönjük a vásárlást!";
exit; -
válasz
Sk8erPeter #12373 üzenetére
Köszönöm, számomra eddig nem volt gond a beépített függvények nevének átírásával, de át fogok szokni akkor a kisbetűkre.
-
Sk8erPeter
nagyúr
válasz
Peter Kiss #12374 üzenetére
Ez így van, de mondjuk ez már a kötekedés része, és akkor még fel lehetne pár ilyet sorolni, echo, print, unset, satöbbi.
-
Peter Kiss
őstag
Az isset() egyébként sem függvény.
-
Sk8erPeter
nagyúr
válasz
vgyuri #12361 üzenetére
IsSet --> isset
"datumtol, datumig - árváltozásnál a régi árakat is meg lehetne nézni, ebben akár nettó ár is szerepelhetne, ha változna az áfa"
Ezt a termék általános adataitól teljesen elkülönítve kellene tárolni, másik táblában. Az árat is.
A termék adatait tartalmazó táblába mindenképp kerüljön bele egy INT típusú, auto_increment termékazonosító (pl. product_id) is.A vásárlások táblázatában product_id szerint kellene hivatkozni a termékre, nem stringgel.
Aztán persze ezen a táblaszerkezeten még lehetne javítani, de az inkább az SQL kérdések vagy MySQL topic témája.
(#12371) vgyuri :
"függvényekbe szoktam nagybetűt is rakni, így számomra olvashatóbb a kód, pl. StrToLower, HtmlSpecialChars, Str_Replace..."
Ez egy rossz ötlet, ne akard saját szád íze szerint megváltoztatni egy nyelv beépített függvényeinek nevét, mert rossz szokást nevelsz saját magadba, valamint ha külső szemlélő meglátja a kódodat, akkor nagyon anyázni fog. Egy normális nyelvnél nincs ilyen szintű szabadságod amúgy sem. -
válasz
Speeedfire #12368 üzenetére
Köszönöm, azt hittem maga a függvény elavult, és valami mást kellene használni helyette. Változókat mindig kis betűvel írom, a függvényekbe szoktam nagybetűt is rakni, így számomra olvashatóbb a kód, pl. StrToLower, HtmlSpecialChars, Str_Replace...
-
fordfairlane
veterán
válasz
Speeedfire #12368 üzenetére
A PHP funkciók nem kis- és nagybetűérzékenyek.
-
válasz
Peter Kiss #12366 üzenetére
Megvizsgálja, hogy létezik-e a változó. Mi a baj vele?
-
válasz
Atti575 #12360 üzenetére
<?php
$fizet=0; vasarolt="";
if ( IsSet($_POST["piritos"] && $_POST["piritos"]>0) { $fizet+=$_POST["piritos"]; $vasarolt.="- prititós<br>"; }
if ( IsSet($_POST["palacsinta"] && $_POST["palacsinta"]>0) { $fizet+=$_POST["palacsinta"]; $vasarolt.="- palacsinta<br>"; }
if ( IsSet($_POST["kako"] && $_POST["kako"]>0) { $fizet+=$_POST["kako"]; $vasarolt.="- kakaó<br>"; }
if ( IsSet($_POST["tea"] && $_POST["tea"]>0) { $fizet+=$_POST["tea"]; $vasarolt.="- tea<br>"; }
print "Fizet: ".$fizet."<br>";
print "Vásárolt: ".$vasarolt."<br>";
$mysql_host = "localhost";
....Ha csak 4 terméked van, addig nincs gond, de egy étteremben gondolom sok mindent lehet enni-inni. Erre egy külön adatbázis lehetne, amiben a termékek adatait szerepelnek (datumtol, datumig - árváltozásnál a régi árakat is meg lehetne nézni, ebben akár nettó ár is szerepelhetne, ha változna az áfa):
- termeknev (varchar 100 pl: kakaó-tea...)
- termekpost (varchar 50 pl: kako-tea..., indexelt)
- ar (integer)
- datumtol (date, indexelt)
- datumig (date, indexelt)Vasarlasok táblázat, hogy vissza lehessen nézni a forgalmat:
- vasarlasid (egyedi)
- datum (datetime)
- termekpost
- darabVagy ezt is ketté lehetne venni:
Vasarlasok:
- vasarlasid (egyedi)
- datum (datetime)
- fizetett (integer)Vasarlasoklista:
- vasarlasid (egyedi)
- termekpost (varchar 50)
- darab (integer)
- fizetett (integer)Az első html-t is át lehetne írni php-ra, hogy a termék adatai alapján egy for ciklussal felsorolja az összes terméket, mellé darabszámot be lehessen írni (mi van ha 2 teát vásárolnak).
-
Atti575
tag
NA már tudom mit kell csinálni kiíratom hogy mennyit kell fizetni de azt is ki kell írnom mi t vettem
html:
<body>
<p>
<label>Étterem Árlista</label>
</p>
<form method="post" action="etterem.php">
piritos 10Ft:<input name="piritos" type="checkbox" id="piritos" value="10"/><br />
palacsinta 15Ft:<input name="palacsinta" type="checkbox" id="palacsinta"value="15"/><br />
kako 20Ft:<input name="kako" type="checkbox" id="kako"value="20"/><br />
tea 25Ft:<input name="tea" type="checkbox" id="tea"value="25"/><br />
<input type="submit" name="Küld" value="Küld"/>
</body>
</html>
php:
<body>
<?php
$piritos=$_POST["piritos"];
$palacsinta=$_POST["palacsinta"];
$kako=$_POST["kako"];
$tea=$_POST["tea"];
$fizet=($piritos+ $palacsinta+ $kako+ $tea);
echo "$fizet";
$mysql_host = "localhost";
$mysql_uname = "localhost";
$mysql_pass = "";
$mysql_db = "etterem";
$connect = @mysql_connect($mysql_host, $mysql_uname, $mysql_pass);
if(!$connect) {
print "Hiba nincs kapcsolat";
exit;
}
$selectdb= @mysql_select_db($mysql_db);
if(!$selectdb) {
print " Ft-t kell fizetnie";
exit;
}
?>
</body>
</html>
azt nem tudom hogy irasam ki ha veszek egy tea meg 1 csokit akkor ne csak azt irja ki hogy hogy 50 ft hanem azt is hogy 50 ft kell fizetnie és teát és csokit vettem -
WolfLenny
senior tag
Első körben mindenkinek BUÉK!
A kérdésem a következő. Adott egy php+mysql páros.
Adott 3 mező. Alap esetben mindhárom mezőben vannak adatok (szöveg), azonban vannak olyan mezők ahol a 3. üres. Hogy lehetne azt megcsinálni, hogy a 3-as mező esetén ha üres, akkor a másik kettő szövegét "összeadja"?Pl.
Misi Karcsi üres
Ebből csinál
Misi Karcsi Misi-Karcsi -
Speeedfire
félisten
válasz
Tele von Zsinór #12354 üzenetére
Köszi!
-
Tele von Zsinór
őstag
válasz
Speeedfire #12353 üzenetére
Nem adsz neki nevet.
-
Speeedfire
félisten
Ha egy form-ot get-tel küldök el, hogy lehet az url-ből eltávolítani a submit nevét? Tehát csak a kereső legyen ott. Itt ph-n is így működik.
-
Sk8erPeter
nagyúr
válasz
lazlora #12349 üzenetére
Escape-elni kell a karaktereket. A video.php után szerintem elfelejtettél egy kérdőjelet a query string elkezdéséhez.
Valahogy így próbáld meg:
print '<div onclick="ajax(\'belso\',\'xml/video.php?id='.$id['video_id'].'&title='.$video['title'].'&description='.$video['description'].'\')">';
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12350 üzenetére
Dehogy oldja meg.
Nézd meg jobban, az attribútumnak adott értéket lezárod lényegében már az első onclick-ben lévő idézőjellel, tehát a "belso" stringgel már el is van cseszve. -
Speeedfire
félisten
-
lazlora
tag
szerintetek ebben mi a hiba?
print '<div onclick="ajax(''belso'',''xml/video.php id='.$id['video_id'].'&title='.$video['title'].'&description='.$video['description'].''')">';
-
Sk8erPeter
nagyúr
A Drupal is egy PHP-fájlban, konkrétan egy tömbben tárolja az adatbázis-kapcsolódáshoz szükséges felhasználónevet, jelszót, az adatbázis nevét, host címét, portszámot, esetleges prefixet, a használt karakterkódolást, meg drivert (ha nem MySQL lenne, hanem egyéb), mégsem ez a legfőbb oka a feltöréseknek. Valahol muszáj tárolni hozzáférési adatokat, különben a PHP script sem fogja tudni, honnan szedje őket.
-
Kommy
veterán
egy php fájlban tárolt jelszó mennyire jelent veszélyt? Egy e-mail fiókhoz tartozik a jelszó.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12343 üzenetére
Ennek örülök, szívesen!
(#12344) kahva :
rengeteg változás történt, meg sajnos a PHP4 még tele volt gányolásokkal, így a hozzá tartozó könyvek, tutorialok is, úgyhogy ezekből tényleg nem érdemes tanulni.
Remélem, beválik a másik könyv, sok sikert hozzá! -
kahva
tag
válasz
Sk8erPeter #12342 üzenetére
Hat mint mondtam még nagyon csak most kezdtem, lattam en hogy van mar php5 ös könyv is de azt gondoltam hogy nagy valtozas nem lehet benne. Az általad ajanlott könyv egész jónak tünik, valószinüleg át is fogom olvasni.
-
Speeedfire
félisten
válasz
Sk8erPeter #12340 üzenetére
Ahh, valóban ott volt a gond. Nem jól adtam meg egy statikus dolgot, így gondolom oda valami szemét került. Kijavítottam, most már rendben lesz.
Köszi! -
Sk8erPeter
nagyúr
Na, ezt a könyvet dobd ki. Vagy nyomtasd ki, alázd meg, aztán égesd el máglyán, az látványosabb.
"Tanuljuk meg a PHP4 használatát 24 óra alatt"
2004. július 13-án bocsátották ki a PHP 5-ös verzióját, tehát a PHP4-est felejtsd el.
Akkor már ugyanebből a kötetből legalább a PHP5-öshöz tartozót használd...
Persze vannak ennél sokkal jobb könyvek is, reméljük, hogy valaki ajánl egy jót.Például esetleg ezzel próbálkozhatnál:
http://nagygusztav.hu/web-programozas
Van lecke az OOP-ről, PDO-ról is benne. -
kahva
tag
válasz
Sk8erPeter #12339 üzenetére
Programozni Adobe Dreamweaver CS6 -ba szoktam, mert azzal egyúttal fel is tudom tölteni. De van Notepad++ -om is. A könyv meg hát EZ .
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12338 üzenetére
"PHPMail-ert használok"
Akkor miért nem azt mutattad (vagy inkább azt IS), hogy a PHPMailert hogyan inicializálod, és milyen kóddal küldöd a levelet...?"From: =?UTF-8?Q?T=C3=B3th_Szabi_-_Linux=2C_openwrt=2C_tplink_-_1043?= <>"
Itt valami nagyon nem kerek......! -
Sk8erPeter
nagyúr
Szívesen!
Ja, OK, akkor bocsánat, összekevertelek valakivel, aki még jóval korábban beküldött hasonlót, hibaüzenet nélkül.
Miben programozgatsz? Egy Notepad++ is a segítségedre lehet, egész jó benne a syntax highlighting, tehát könnyebben megtalálod a hibákat a különböző színek miatt (pl. lezáratlan tagek, lezáratlan zárójelek, blokkok, stb.):
http://notepad-plus-plus.org/
Melyik könyv az, amelyik ezt a kódot mutatta? Tényleg kidobandó.
Egyébként nehogy bármilyen PHP4-es írást elővegyél, mert az nagyon rossz dolgokat fog mutatni Neked.
Amúgy az 500-as HTTP code elég furcsa, sima PHP-s syntax error miatt elvileg nem kellene előfordulnia. -
Speeedfire
félisten
Na, akkor én is ide rakok egy keresd a hiba lapot.
Localhoston nem kellett smtp kimenetet használni, szerveren viszont kell (jobb). Ez csak egy teszt üzenet. PHPMail-ert használok.
Viszont ezt a hibát kapom, valami a headerben nem kerek neki:speeedfire@gmail.com
SMTP error from remote mail server after end of data:
host mx2.local.sys [10.1.1.21]: 550 Mail header syntax check error. Check mail headers!
------ This is a copy of the message, including all the headers. ------
Return-path: <web.2630@e-tiger.net>
Received: from web.2630 by web4.e-tiger.net with local (Exim 4.74)
id 1ToKwq-0005zO-Bz
for speeedfire@gmail.com; Thu, 27 Dec 2012 22:25:04 +0100
To: speeedfire@gmail.com
Subject: =?UTF-8?Q?H=C3=ADrlev=C3=A9l_-_Elindult_az_oldal!444?=
Date: Thu, 27 Dec 2012 22:25:04 +0100
From: =?UTF-8?Q?T=C3=B3th_Szabi_-_Linux=2C_openwrt=2C_tplink_-_1043?= <>
Message-ID: <3170e83bebb5850e650981deb2ec5ee7@tothszabi.info>
X-Priority: 3
X-Mailer: PHPMailer 5.0.0 (phpmailer.codeworxtech.com)
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Content-Type: text/html; charset="UTF-8"
Sender: Domain Root <web.2630@e-tiger.net>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<base href="http://tothszabi.info/" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="language" content="en" />
<style type="text/css">
#page { width: 960px;}
h1 {color:red;}
p {color:blue;}
</style>
<title>TĂłth Szabi - Linux, openwrt, tplink - 1043 - Hirlevelkuld Hirlevel - Elindult az oldal!444</title>
</head>
<body>
<div id="page">
<div id="header">
<div id="logo">TĂłth Szabi - Linux, openwrt, tplink - 1043</div>
</div><!-- header -->
<a href="/hirlevel/elindult-az-oldal444-3">�zenet megtekintÊse a weben</a>
<p>
asdsdsad</p>
<a href="/hirlevel/leiratkozas?email=speeedfire%40gmail.com&hash=50dca698de8e03.24674349">A leiratkozĂĄshoz kattintson ide!</a>
<div class="clear"></div>
<div id="footer">
Copyright © <a title="TĂłth Szabi | WebfejlesztĂŠs, keresĹ�optimalizĂĄlĂĄs, linux" href="http://tothszabi.info">TĂłth Szabi</a>
2012. Minden jog fenntartva.
</div><!-- footer -->
</div><!-- page -->
</body>
</html> -
-
kahva
tag
válasz
Sk8erPeter #12334 üzenetére
Nagyon szépen köszönöm.
Egyébként pár poszttal feljebb írtam hogy 1-2 napja foglalkozok csak php programozással, azért írtam hogy ismét. Hibajelenséget azért nem írtam mert nincs hibajelenség, ugyanis 500 http -as error van.
Amúgy meg a kód egy könyv alapján van. -
Sk8erPeter
nagyúr
"ismét a keresd a hibát játékkal jelentkezek."
Nem lett volna egyszerűbb, ha megosztod a hibaüzenetet/hibajelenséget, amit kapsz?Egyébként a kódod elképesztően gány, a form taged nincs lezárva, a $PHP_SELF változó NINCS, mivel alapból a register globals off-ra van állítva szerencsére ($_SERVER['PHP_SELF']), de egyébként totál felesleges is használni (az action attribútumot egyszerűen üresen kellene hagyni, két idézőjel egymás mellett, azt' kész), ráadásul nincs is utána pontosvessző, a $fajl változó szintén nem lesz beállítva a register_globals kikapcsolt állapota miatt (még jó), a $fajl_name, $fajl_size, $fajl_type teljesen ismeretlen, honnan kéne, hogy beállítva legyenek, a második if-ednél hiányzik a zárójel zárórésze, és a submit típusú inputod sincs lezárva rendesen...
-
kahva
tag
Sziasztok, ismét a keresd a hibát játékkal jelentkezek.
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Képfeltöltés</title>
</head>
<?php
$feltoltes_konyvtar = "/home/httpd/htdocs/uploads";
$feltoltes_url = "http://test.mmo-king.com/uploads";
if ( isset( $fajl ) )
{
print "elérési út: $fajl<br>\n";
print "név: $fajl_name<br>\n";
print "méret: $fajl_size bájt<br>\n";
print "típus: $fajl_type<p>\n\n";
if ( $fajl_type == "image/gif"
{
copy ( $fajl, "$feltoltes_konyvtar/$fajl_name") or die ("Nem lehet másolni");
print "<img src=\"feltoltes_url/$fajl_name\"><p>\n\n";
}
}
?>
<body>
<form enctype="multipart/form-data"
action="<?print $PHP_SELF?>" method="POST"
<input type="hidden" name="MAX_FILE_SIZE"
value="1024000">
<input type="file" name="fajl"><br>
<input type="submit" value="feltöltés!"
</form>
</body>
</html> -
fordfairlane
veterán
válasz
Atti575 #12331 üzenetére
Az a baj, hogy nem tudom, jelen esetben mi számít elfogadható megoldásnak. Nem tudom, hogy az ételek, amiket meg lehet rendelni, benne vannak-e az adatbázisban vagy sem, hol vannak ezek az árak, melynek ismeretében kell a számlát kiállítani. Semmi infó nincs arról, mi az, amit tudsz adatbáziskezelésből, és mi az, amit nem.
Van már a megrendeléseknek adattáblája? Egyáltalán ismered az adattábla fogalmát, vagy azt, hogy mi az a relációs adatbázis?
Nem tudok kész megoldást írni. Egyébként sem szeretek mindent kidolgozni más helyett, de így, ha akarnék, se tudnék. Egyelőre leírtam azt, hogyan lehet adatbázis táblába írni egy rekordot. (INSERT INTO)
-
Atti575
tag
válasz
fordfairlane #12329 üzenetére
na végülis ez a feladatom
Egy étterem a megrendeléseit interneten keresztül is felveszi. Készítsen olyan
weboldalt ami lehetővé teszi a megrendeléseket, és a megrendeléseket egy
adatbázisban rögziti, az árak ismeretében elkészíti a számlát és a számlát egy pdf
fájlban kinyomtathatóvá teszi.
a számlát nem tudom hogy csináljam meg mysqlbe -
Atti575
tag
válasz
fordfairlane #12329 üzenetére
Azt szeretném kiíratni amit megveszek a html-mbe az ételek chekckboxba vannak és az kellene bepipálom úgy hogy 1 palacsinta és 1 kóla akkor azt irja a mysqlbe amit bepipálok
-
fordfairlane
veterán
válasz
Atti575 #12328 üzenetére
csak egy mysql kiirtást is kell csinálni
Gondolom a kiirtás kiíratás akar lenni. Tehát el akarod menteni a rendelés adatait. Melyik részét? A végösszeget, vagy a tételeket is? Mert akkor először létre kell hozni a megfelelő szerkezetű adattáblát, utána tudsz csak adatokat írni.
$query = 'INSERT INTO tablanev (mezonev1, mezonev2, mezonev3, mezonev4) VALUES(';
$query .= ' "'.mysql_real_escape_string($mezoertek1).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek2).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek3).'"';
$query .= ',"'.mysql_real_escape_string($mezoertek4).'"';
$query .= ' )';
mysql_query($query); -
Atti575
tag
Sziasztok szeretnék segítséget kérni PHP-hoz egy étterem rendelést kell megcsinálnom a html kész már php-ban átveszem az adatokat összeadom kiíratom hogy mennyit kell fizetni csak egy mysql kiirtást is kell csinálni és ott egy számla kell hogy mit vettem meg az étlapról és ezt nem tudom megcsinálni :S
<body>
<?php
$piritos=$_POST["piritos"];
$palacsinta=$_POST["palacsinta"];
$kako=$_POST["kako"];
$tea=$_POST["tea"];
$fizet=($piritos*10 + $palacsinta*15 + $kako*20 + $tea*25);
echo "$fizet";
$mysql_host = "localhost";
$mysql_uname = "localhost";
$mysql_pass = "";
$mysql_db = "etterem";
$connect = @mysql_connect($mysql_host, $mysql_uname, $mysql_pass);
if(!$connect) {
print "Hiba nincs kapcsolat";
exit;
}
$selectdb= @mysql_select_db($mysql_db);
if(!$selectdb) {
print "Fizet";
exit;
}
?>
</body>
</html> -
modder
aktív tag
Jótanács: biztosabb kiküldeni egy Content-type headert, mert az leveri a meta tagben szereplő értéket, és felülírhatod vele a szerver által alapból kiküldött értéket, ha van.
http://php.net/manual/en/function.header.php[ Módosította: CoolMan ]
-
kahva
tag
válasz
Speeedfire #12323 üzenetére
Már jó is, köszönöm!
-
CSorBA
őstag
válasz
Speeedfire #12323 üzenetére
Meg egy doctype is, ha egész korrektek akarunk lenni
-
kahva
tag
Sziasztok, még elég kezdő vagyok a programozások terén (1-2 napja hobbiból kezdtem).
Írtam egy full egyszerű 6-7 soros kódot. De a megjelenéssel gondok vannak.
A kód:
<html>
<head>
<title>5.1</title>
</head>
<body>
<?php
$hangulat = "boldog";
if ( $hangulat == "boldog" )
{
print "Hurrá, jó kedvem van!";
}
?>
</body>
</html>Az eredmény:
HurrĂĄ, jĂł kedvem van!Vagyis az a gondom hogy az ékezetes karaktereket nem úgy printeli ahogy kellene.
Mi lehet a baj ?Előre is köszönöm.
-
Speeedfire
félisten
válasz
Sk8erPeter #12320 üzenetére
Előbb a tartalmakat vittem át, hát az nem volt egyszerű.
1 tartalomhoz nálam kb 6 táblához kell hozzáírni.
A php azért kellett, hogy elkészítsem az insert/update sql függvényeket. Elég béna megoldás, de gyorsabbnak véltem így.
Tegnap a hozzászólásokat írtam át a rendszerbe. -
Sk8erPeter
nagyúr
válasz
Speeedfire #12319 üzenetére
Dehogy sértődtem.
Inkább meglepődtem.
Amúgy hátha segít, nem olvastam el:
http://erickennedy.org/blog/Drupal-to-Yii-Migration-TipsVisszatérve az eredetire: még nem vágom, hogy mit viszel át, és mindezt miért PHP-ben csinálod, miért nem közvetlenül MySQL-ben mondjuk. Engem például érdekelne, hogyan migrálod az adataidat.
A tömbben előforduló értékek mire kellenek? -
Speeedfire
félisten
válasz
Sk8erPeter #12318 üzenetére
Nehogy besértődj miatta....
Szinte egyből írtam, hogy megoldódott a gondom.Minden egyes fórum hsz-hez tartozik az adott fórumban hányadik hsz. Hasonlóan, mint itt a ph!-n. Így ha ki van törölve egy hsz, akkor még az id megmarad. Így lehet rá rendesen hivatkozni. Ezt raktam csak bele pluszban.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12316 üzenetére
Nem gondoltam volna, hogy meg fogja zavarni a nyugalmadat, hogy a te problémádon "lovagolnak".........
Hát bocs már, hogy témázunk azon, hogyan néz ki normálisan a függvény, amiről beszélsz.
"hogy a drupal adatbázist át tudjam rakni a sajátomba"
Ehhez miért kell, hogy csinálod? Csak kíváncsiságból. -
Speeedfire
félisten
Kép thumbnail gondom lenne.
Ha én fix méretre akarom croppolni a képeket pl 400*300px és az adott kép egyik széle kisebb, mint a megadott paraméter. Akkor azon a részen fekete színnel tölti ki. Meglehet oldani, hogy ezeket a képeket előtte nagyítsa fel? Vagy valami más megoldás erre? Nem igazán találom rá semmit a nagyításra.Ezt használom én képátméretezésre. [link]
-
Speeedfire
félisten
válasz
Tele von Zsinór #12314 üzenetére
Igen, kaptam már de még mindig ezen lovagolnak. Pedig csak 2 percre kellett egy használható függvény, hogy a drupal adatbázist át tudjam rakni a sajátomba.
Mindenesetre köszi neked is. -
Tele von Zsinór
őstag
válasz
Speeedfire #12299 üzenetére
Látom kaptál már megoldásokat, de azért bedobom, tessék használni az array_* függvényeket, meg a névtelen függvényeket! Hasznos újítás volt.
$array = array('valami', 'valami', 'valami', 'ketto', 'harom', 'ketto');
var_dump(
count(
array_filter($array, function ($v) { return $v == "valami"; })
)
); -
Soak
veterán
válasz
Sk8erPeter #12312 üzenetére
Mivan, elnyomott a bejgli?
Olvass kettovel vissza!
Vagy 4el inkabb
-
Soak
veterán
válasz
Sk8erPeter #12310 üzenetére
A beepitett funkciorol beszeltem, csak azert mivel okosabb fv-t lehet irni es valoszinuleg gyorsabb is egy erteknel ( bar ezt nem mertem le ), ha meg tobb ertek kell egy tombbol akkor egesz biztosan, de az elozo hszmben leirtam hogy mikent kepzelem.
-
Soak
veterán
válasz
Sk8erPeter #12308 üzenetére
Mondjuk en inkabb egy wrappert irnek az elobb targyalt funkciora.
-
Sk8erPeter
nagyúr
válasz
Sk8erPeter #12307 üzenetére
Ja, a kulcsot az előbb nem tudom, miért mondtam, hogy csekkolni kell, mivel itt értéket nézünk.
Na jó, akkor már legyen meg teljesen:function count_repeat_values($needle, $haystack){
if(!is_array($haystack)){
trigger_error('Invalid 2nd parameter passed to count_repeat_values().', E_USER_WARNING);
return FALSE;
}
$number_of_instances = 0;
foreach($haystack as $value){
if($value === $needle){
$number_of_instances++;
}
}
return $number_of_instances;
} -
Soak
veterán
válasz
Sk8erPeter #12305 üzenetére
Azon kivul hogy feleslegesen leszamoljuk a tomb elemeit elosszor?
Egy foreach($tomb as $key => $value) boven eleg ami egyutt allas eseten inkremental egyet , es meg van uszva ket count.
Szerk : De latom te is eliminaltad a 2. countot .
Szerk 2 : a kulcsot nem is kell nezni a cikulsban.
-
Sk8erPeter
nagyúr
válasz
Speeedfire #12299 üzenetére
Hát ez nem egy túl bonyolult függvény.
Nem ártana bele valami hibaellenőrzés, hogy a kulcs int vagy string, a második meg egyáltalán tömb-e.
Meg azt sem értem, minek ezt tömbbe pakolni, aztán nyomatni rá egy count()-ot...El lehetne intézni ennyivel, felesleges tömbbe gyűjtés helyett:
function count_repeat_values($needle, $haystack){
$x = count($haystack);
$number_of_instances = 0;
for($i = 0; $i < $x; $i++){
if($haystack[$i] == $needle){
$number_of_instances++;
}
}
return $number_of_instances;
}beépített függvény ilyen van:
array_count_values()$array = array('valami', 'valami', 'valami', 'ketto', 'harom', 'ketto');
$array_count_values = array_count_values($array);
var_export($array_count_values['valami']); // output: 3
var_export($array_count_values['ketto']); // output: 2Szerk.: megelőztek, Soak is ezt a függvényt linkelte pont.
-
Soak
veterán
válasz
Speeedfire #12301 üzenetére
Arra a kulcsra kell hivatkozni amelyiket elemet számolni akarod. Vagy pedig irsz rá egy saját funkciot ami ha ture akkor csak azt számolja le amit akarsz (jobban mondva azt adja vissza) ha meg false akkor vissza adja mindet.
Új hozzászólás Aktív témák
Hirdetés
- Kazy Computers - Fehérvár - Megbízható?
- Nyaralás előtti hardverszemle
- Teljesen az AI-ra fókuszál az új AMD Instinct sorozat
- PlayStation 5
- Xbox tulajok OFF topicja
- AMD Navi Radeon™ RX 9xxx sorozat
- Sorozatok
- PlayStation 4
- Linux kezdőknek
- SD-kártyát vennél? Ezért ne csak a GB-ot nézd! – Tech Percek #9
- További aktív témák...
- Hp Prodesk 600 G3/ G5/ G6 SFF-MT / i5 8-9-10 gen, Hp EliteDesk 800 G4 / Win11- Számla, garancia
- LG 48C2 - 48" OLED EVO - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - A9 Gen5 CPU
- LG 27GR95QE - 27" OLED / QHD 2K / 240Hz & 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
- DELL T40 EMC Szerver
- AKCIÓ! Apple MacBook Pro 13 2022 M2 8GB 256GB SSD 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