22786
Html-, css- és php-help
-
#9061 Igen.. -
Cat 02 #9060 Kivetted a csillagot ? :D -
#9059 Akk vlamit nem jól csinálok.. -
ldavid #9058 ehhez minden oldalon át kell színezned az adott linket, vagy gondolom javascripttel is meglehet oldani
dragon11: hogyhogy nem jó? -
#9057 Nem jó..=( -
#9056 Na megcsináltam...De ezt írja ki a felvisz.php-nál
Warning: mysql_connect() [function.mysql-connect]: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) in /mnt/users/t/o/tomioldala/felvisz.php on line 16
Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in /mnt/users/t/o/tomioldala/felvisz.php on line 17
És akkor alatta van az kitöltő mező...
Igen átirtam az adatbázisos dolgokat (legalábbis a hostot, a nevet...stb) :) -
damien06 #9055 Na akkor rohamléptekbe is haladhatsz, de nem tanácsos. :)
Először is, tanulmányozd át ezt:
www.tizag.com/phpT/forms.php
Ez a kis cikk arról szól hogy php-val miként lehet a formokból érkező adatokat kezelni (ebben az esetben egy feldolgozó fájl kiiratja az érkező adatokat).
De írok ide egy rövid példát a cikkekre:
felvisz.php:
<?
//kapcsolat előkészítése
$dbhost = 'localhost';
$dbname = 'user';
$dbpass = 'password';
$dbbase = 'database';
$conn = mysql_connect($dbhost,$dbname,$dbpass);
mysql_select_db($dbbase,$conn);
?>
<form name="cikk" action="">
<input type="text" name="cikk_cim" />
<textarea name="szoveg"></textarea>
<input type="submit" name="kuldes value="Küldés" />
</form>
<?
if(isset($_POST['kuldes'])){
$cim = $_POST['cikk_cim'];
$szoveg = $_POST['szoveg'];
$sql = "INSERT IGNORE INTO cikkek (cim, szoveg)";
$sql.= "VALUES ('$cim','$szoveg')";
$keres = mysql_query($sql, $conn);
}
?>
kiirat.php:
<?
//kapcsolat előkészítése
$dbhost = 'localhost';
$dbname = 'user';
$dbpass = 'password';
$dbbase = 'database';
$conn = mysql_connect($dbhost,$dbname,$dbpass);
mysql_select_db($dbbase,$conn);
$sql = "SELECT * FROM cikkek";
$keres = mysql_query($sql, $conn);
$cikkek = array();
while($r=mysql_fetch_array($keres)){
$cikkek[]=array('cim'=>''.$r['cim'].'','szoveg'=>''.$r['szoveg'].'');
}
foreach($cikkek as $cikk){
echo "A cikk címe: ".$cikk['cim']."<br />\n";
echo "A cikk szövege: ".$cikk['szoveg']."<br />\n";
echo "<br />";
}
?>
És itt hozzá a mysql tábla:
CREATE TABLE `cikkek` (
`id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`cim` VARCHAR( 50 ) NOT NULL ,
`szoveg` TEXT NOT NULL
) ENGINE = MYISAM ; -
#9054 Nem szeretem ezeket a "weblapcsinálókat" :) Inkább saját magam szeretném. Akkor a kommentelés nem olyan fontos, de azt a cikkes dolgot muszáj lenne valahonnan megtanulni. Esetleg tudsz adni egy linket kezdésnek? -
damien06 #9053 Ha nagyon kezdő vagy, igen nehéz lesz összehozni a cikkes dolgot, és alá a hozzászólásokat. Miért nem használsz kész "weblapépítő" oldalmotort.. mint pl.: php-nuke, drupal?
Ha tényleg saját magad szeretnéd megcsinálni, minél hamarabb ülj neki a php-nak, és az sql-nek... :) -
#9052 2. Frame mentesség
A weblapon nem ajánlott frame-ek, iframe-ek használata, mivel felolvasó szoftverekkel ezek oldalai egyszerre nem érhetőek el nem látó felhasználók számára, gyakorlatilag átláthatatlanná téve ezzel az oldalt. A kisebb tudású karakteres böngészők sem kínálnak ezekre megoldást, így azok számára is megnehezítjük az oldal használatát, akik valamilyen okból éppen csak karakteresen tudnak böngészni.
A frame-ek kezelése, programozása is egy külön művészet, sokszor megbonyolítva ezzel a programozást, olyan feladatokat a programozó elé állítva, melyek ellenkező esetben nem okoznának problémát. Egy egyszerű példa erre a beléptetés, kiléptetés: ha a felhasználó belép az egyik frame-ben, attól a másik frame még nem biztos, hogy hozzáfér a munkamenet azonosítójához (GET-es, POST-os munkamenet kezelés esetén), vagy adott esetben a kibővülő, átalakuló menüt sokkal bonyolultabb frissíteni is - a HTML szabvány nem (illetve nem egyértelműen) támogatja egy form több frame-be elküldését.
Az aloldalak, frame-ek könyvjelzőzése sem egy igazán egyszerű feladat, ha ilyen megoldásokat használunk, a felhasználó egy konkrét frame összeállítást nem tud letárolni, csak azt az oldalt, amely betöltötte neki a kereteket.
A frame-ek, iframe-ek helyett sokszor megoldást nyújthat a problémára a CSS overflow tulajdonsága, melyet használva nagyon hasonló hatás érhető el a frame-ekhez, azzal együtt, hogy a teljes tartalom egy oldalon foglal helyet.
A frame-eknek persze megvan a maga helyük, a fentiek nem jelentik azt, hogy ne lenne létjogosultságuk. Speciális, asztali alkalmazásokat utánzó oldalakon, admin felületeken például nagyon jól használhatóak.
Forrás: Bártházi András - Irányelvek webfejlesztőknek, Weblabor
Illetve egy régi klasszikus: Why Frames Suck (Most of the Time)
Keresőrobot szempontból: Search Engines and Frames
-
phoenix1 #9051 *keretek*
Viszont megvannak a hátrányai is:
* keresőrobotok, felolvasószoftverek nem szeretik
Nemrég olvasgattam egy fórumot ahová nem látó emberek (vakok) írnak, és éppen a keretekkel kapcsolatban találtam egy érdekes hozzászólást. Miszerint a "keretes oldal még mindig jobb mint az enélküli", azonnal írta, hogy miért is, de még én hozzáteszem, ha nincsen megfelelően megírva a kód akkor nem sokat ér a keretes ez igaz, "a cím alapján megtudja különböztetni, hogy hol a menü és hol a tartalom". -
ldavid #9050 &*laquo; és &*raquo; (csillag nélkül) -
cbr1983 #9049 Nem, nem ilyenre gondoltam, pontosabban: a példádban a menüre való kattintással az aktuális hivatkozás háttere fekete színű lesz, viszont miután a másik linkre ugrottunk, a menüben a feke szín /az aktuális link kijelölése/ eltűnik, és visszaáll alapértelmezetten barnára.
Példa: van egy függőleges menü, benne proba1.html, proba2.html és proba3.html hivatkozás. Háttérszínük barna. A lényeg, hogy az aktuális linknek megfelelő hivatkozás a menüben más színű legyen, mint a többi. Tehát úgymond ki van jelölve a menüben egy más színnel, hogy melyik oldalon vagyunk.
Tud valaki segíteni? -
#9048 Köszi -
#9047 Az úgy nagyjábol megy tutorok segítségével, de fejből semmiképpen :) -
#9046 El kell sajátítani, mert a HTTML és a CSS felelős azért, hogy a böngészőben megfelelően jelenjenek meg az adatok.
Ha egy blogmotrot (fórummotrot, stb...) használsz és testre akarod szabni a kinézetét, akkor mindenképpen értened kell, hogy mit kell átírnod ahhoz, hogy az oldal kinézete megváltozzon. -
#9045 Aham :) Tudtam, hogy valami ilyesmire jó a php, csak nem tudtam hogy kell használni :)
A html-t és a css-t muszáj nagyon elsajátítani? :) Szval nincs valami tutorial, hogy így kell pl. "kommentelő rendszert" csinálni...stb :) -
#9044 "A php az nehezebb mint a html? :) Mármint akarok csinálni egy oldalt, de php-ban akarom."
Először is tudnod kéne, mire is jó a PHP. ;)
Tehát: a weboldalak 3 részből épülnek fel: tartalom, szerkezet, és forma. (Van még egy a "viselkedés", de ez egy kicsit különálló dolog).
A szerkezet adja meg az oldal "vázát" (ez a fejléc, ez a menüt tartalmazó rész, ez a tartalom, ez egy címsor ez egy kép,...). A szerkezetbe kerül bele a tartalom (a fejlécbe: "Ez itt kismiska oldala"). A forma pedig elrendezi, hogyan nézzen ki a szerkezet (a fejléc legyen piros hátterű, sárga betűkkel, Courier 20 pixeles, félkövér, középre igazított,...).
A HTML kezdetén (amikor még csak a HTML volt) a 3 első funkció a HTML nyelvben egyesült. Egy ideig ez jó is volt, viszont megnövekedtek az igények a grafikusabb, "designosabb" weboldalak irányába. Mivel a webes nyelvek nem voltak "kiforrva" (ez leginkább a CSS-re volt igaz), nem voltak böngészők által teljeskörűen támogatva, a weboldalak készítői mindenféle kényszermegoldásokat kezdtek el használni. Ilyen volt a táblázatos oldalszerkezet, a háttérzene...
Viszont a webes nyelvek és a böngészők fejlődése, ezeket a funkciókat szétszeparálta, a kényszermegoldásokat szanálta.
Statikus oldalak (ahol az oldal tartalma egy, a szerkezetet is tartalmazó HTML állományban helyezkedik el, amit a webszerver kiszolgál) esetén, a tartalom és a szerkezet a HTML nyelvben maradt, viszont a forma a CSS-re lett bízva (így nem kellenek kényszermegoldások).
A dinamikus oldalak - ahol a tartalmat külön adatbázisban, adatállományban tárolják (tehát a tartalmi funkció is elkülönül) - esetén a szerveren levő adatbázisok, adatállományok és egyéb erőforrások kezelését a szerveroldali nyelvek (PHP, ASP, JSP, CFML, Perl) végzik. Sőt a lényeg: ezen adatbázisokat, adatállományokat, erőforrásokat űrlapokon keresztül lehet piszkálni - így teljes interaktivitás biztosítható.
Tehát: ha
* szerveren levő állományokat/adatbázisokat akarunk piszkálni
* a látogatótól akarunk adatokat bekérni, majd a szerveren tárolni
* szerveren levő erőforrásokat (például programok futtatása, hardverportok - LPT, USB, COM - kezelése)
vagyis: csevegőfalra (chat, shoutbox, tagboard), hírküldő rendszerre, bloghoz hozzászólás-küldőhöz, bejelentkeztetésre/regisztrációra, különböző weben keresztüli adatbeviteli megoldásokra van szükséged, akkor PHP-re van szükséged.
Nehezebb? Ha nem tanultál programozni nehéz lesz.
Ha nem sajátítottad el a HTML/CSS nyelveket kellőképpen, megint csak nehéz lesz.
"Ha a frameset-es igaz akkor mit lehet helyette használni?"
A <frameset>-ek használatának az alábbi okai voltak:
* az oldalba beillesztendő külső oldal betöltése
* látszólag meggyorsította az oldal betöltését az által, hogy az oldal egyes részeit nem kellett újra betölteni
* valamelyest szétszeparálható vele az oldal, nem kell ugyanazt a kódot többször leírni
Viszont megvannak a hátrányai is:
* keresőrobotok, felolvasószoftverek nem szeretik
* megtöri a böngészés folyamatát - nem könnyű könyvjelzőzni a látogatott oldalt, a látogató nem tudja hol jár, a címsávban nem a látogatott oldal linkje van
* a külső oldalak betöltése megoldható másképpen [<iframe>, Javascript/Ajax (ez leginkább domainen belül), PHP (ez meg külső oldalaknál akkor működik, ha a tárhelyszolgáltató engedi)]
* a szélessávú Internet-hozzáférések korában, a modern webes nyelvek használatával az oldalak gyorsan betölthetőek
Táblázatmentes:
http://weblabor.hu/cikkek/csstablazatnelkuli
http://weblabor.hu/cikkek/designbolkeszoldal
Keretek nélkül:
http://weblabor.hu/cikkek/jsadatcsere
http://www.tutorial.hu/tartalom-valtasa-a-lap-ujratoltese-nelkul-i/
http://www.tutorial.hu/tartalom-valtasa-a-lap-ujratoltese-nelkul-ii-htmlhttprequest/
http://www.w3schools.com/TAGS/tag_iframe.asp -
#9043 Hogyan tudnám elérni azt, hogy « » hogy ezek látszanak « » ezek helyett?:)
köszi. -
#9042 php-vel vagy javascriptel betöltöd -
Culram #9041 Sok helyen olvasom hogy ne használjuk táblázatot oldal elosztásra, valahol olvastam hogy frameset-et se nagyon haszáljunk.
Ha a frameset-es igaz akkor mit lehet helyette használni?
Div-ekkel meg lehet csinálni a frameset utánzást? hogyan?
-
#9040 HTML-szerkesztés kezdőknek topic -
#9039 Akkor lenne máris pár kérdésem :)
Tehát csinálok egy oldalt, és azt szeretném, ha rákattintok egy menüre, akkor a többi menürész jelenjen meg legördülve (mint itt (jobb oldalon alul van a menü)
A másik, hogy ha akarok írni egy cikket, akkor azt hogyan oldajam meg? Mindegyiknek csináljak egy külön html-t?(pl cikk1.html cikk2.html ...stb)
Aztán, azt hogy lehetne megoldani, hogy egy cikk alá lehessen kommenteket írni?
Egyelőre ennyi :) (bocsi a sok kérdésért, de még csak kezdő vagyok) -
#9038 Áhá :) Tehát az oldalt megcsinálom html-be, de a plusz dolgokat php-ben? -
#9037 html az csak dizájn
a php-vel megoldható ugyanez (dinamittal bolhára), de a php-ben már lehet programozni (számolás, változók, ciklus, adatbázis.. stb.) -
#9036 Akkor nekem nem világos :) Akkor a php az mire való? :D -
#9035 hát ha html-t csinálsz php-ben az nem nehezebb, csak hülyeség :) -
Cat 02 #9034 Igen, de a php teljesen más mint a html, html csinálod meg az oldal kinézetét, php-val meg mindent ami mögötte van. -
#9033 Hali!
A php az nehezebb mint a html? :) Mármint akarok csinálni egy oldalt, de php-ban akarom. Csak nem tudom, hogy az nehezebb-e :D -
#9032 Szóval valahogy így indulj neki:
<html>
<head>
[meta sorok]
<title>Title</title>
</head>
<body>
[oldal tartalma]
</body>
</html>
-
#9031 a script és meta tageket a head-on belülre rakd
és a body-nak nincs eleje -
Cat 02 #9030 <img src="elérési_út" alt="leírás" /> -
#9029 Hello! Kezdő HTML-es vagyok, első honlapomat szerkesztem. Eddig még csak fehér háttér és néhány vastagított betű van benne. Szeretnék pár képet is beszúrni, azt hogy tehetem meg?
Ez az oldal HTML kódja:
<script type="text/javascript" charset="utf-8" src="http://www.extra.hu/lib/webmaster/webmaster.js?scr=1&username=willtraveler&host=www.willtraveler.extra.hu&rid=1389204243"></script><html><head><title>Traveler - Az utolsó vakáció befejezés</title></head>
<meta name="description" content="Traveler - Az utolsó vakáció befejezés" />
<meta name="created" content="2008.06.27." />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
<META NAME="description" CONTENT="A Traveler lezárása. Itt minden kérdésedre megtalálod a választ!">
<META NAME="keywords" LANG="hu" CONTENT="Traveler, Az utolsó vakáció, Traveler - Az utolsó vakáció, befejezés, lezárás, kérdések, válaszok">
<meta name="Keywords" LANG="en" content="Traveler, The Last Holiday, warnup, quetsions, answers">
</body>
<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>
<script type="text/javascript">
var pageTracker = _gat._getTracker("UA-4832092-1");
pageTracker._initData();
pageTracker._trackPageview();
</script>
</html> -
#9028 Ilyenre?
#9024 -
#9027 hibátlanul megy 6.0-ban -
Cat 02 #9026 IE nem támogatja ha jól tudom. -
cbr1983 #9025 Sziasztok!
Olyan függőleges CSS menüre lenne szükségem, amiben ha ráklikkelek az egyik hivatkozásra, akkor más színű lesz a többihez képest, és ez a szín addig olyan marad, míg a menü egy másik hivatkozására nem kattintok. Régebben találtam ilyen menüt a neten, de most egyszerűen nem akar összejönni... -
ldavid #9024 itt a CSS rollover, tök felesleges a javascript -
#9023 css-el egyszerűbb, de preload akkor is érdemes, a kódját viszont nem vágom fejből -
#9022 Hali!
Maco13-tól idézek pár sort :)
Szoval itt van a javascript file, amit nem írok meg mert megvan. Ezt szedd le, és tölsd fel a szerverre. Ennek legegyszerűbb módja h katt a linkre, minden kijelöl, notepad megnyit, paste, mentés másként, filenév: button.js, majd szerverre feltöltés.
Ha ezzel megvagy, be kell linkelni a html kódba, érdemes a head-be:
<head>
<script src="button.js" language="javascript" type="text/javascript"></script>
Ezután jön a preload, ahova az image_x.jpg helyére azokat a képeket kell beírni, amiket akkor akarsz látni amikor valami fölé viszed az egeret (amiken rajta van a glow vagy bármilyn effekt):
<script language="javascript" type="text/javascript">
preloadImg('image_1.jpg');
preloadImg('image_2.jpg');
preloadImg('image_3.jpg');
</script>
head lezárása:
</head>
képcsere:
<img src="image1.jpg" id="image1" onmouseover="setImg('image1','image_1.jpg');" onmouseout="setImg('image1','image1.jpg');">
itt az image1.jpg látszik amikor betöltődik az oldal, image_1.jpg-re cserélődik amikor föléviszed az egeret, valamintn image1.jpg-re vissza amikor leviszed róla. Ha a képet linknek akarod használni, akkor beágyazod <a></a> közé.
Ha nem világos valami kérdezz
Ez javascript-es, de lehet css-el is, de azt nem tudom hogyan :) Abban majd segít Faustus bácsi