22786
Html-, css- és php-help
  • Nasim
    #15262
    Ok. Felteszem a gépre, bár nemtudom ennek mi az előnye?
  • Lyukasbogrács
    #15261
    fwrite($f, mb_convert_encoding($s, 'ISO-8859-1', 'UTF-8'));

    van valakinek ötlete arra, hogy miért lesz a fájl mégis utf8 kódolású? amikor máshol nem is írok bele. ANSI kódolásút akarok, és az ékezetek is maradjanak meg (a php fájl kódolása ANSI, nem módosítom a headert se, nem is adatbázisból jön az adat)
  • Dj Faustus #15260
    "Igen, észrevettem a hibát. "
    Akkor a #15252-es hozzászólásodban kissé elhamarkodott a "Megírtam a regisztráció - login forráskódot."-kitétel. ;)

    "md5-ös jelszóvédelmet"
    Arra fel kell hívjam a figyelmed, hogy az önmagában nem sokat ér.
    Egyrészt ha nincs például SQL-injektálás ellen védelem (legalább egy mysql_real_escape_string), akkor hozzá lehet jutni az adatbázishoz.
    Másrészt a szimpla MD5-ös hash "visszafejthető", érdemes "sózni" - például:
    <?php
    $salt = "a6ZB7q41";
    $password_hash = md5($salt.md5($password.$salt));
    ?>


    "még azt nem tudom, hogy hogyan hozzam létre a kapcsolatot a mysql adatbázissal"
    A webtárhely-szolgáltató adatbázisához a webtárhelyre feltöltött szkript tud hozzá férni.
    Ehhez a szolgáltató ad egy adatbázis-szervert, egy felhasználónevet, egy jelszót, és egy adatbázist. Ezeket kell megadni a szkriptben a mysql_connect illetve a mysql_select_db függvények paramétereiben.

    Ha nem akarsz webtárhelyen ügyködni, akkor meg a lokális gépeden kell egy webszerver-csomagot elhelyezni - mint azt már a Dreamweaver topikban említettem.
  • Nasim
    #15259
    Mert ugye nekem a gépen nincs mysql elérés csak a kiszolgáltatónál, viszont a tutorialt a készítője saját gépéről tesztelte. Így gondolom a forráskódokon is változtatni kellene.
  • Nasim
    #15258
    Igen, észrevettem a hibát. De most egyenlőre csak azt szerettem volna megoldani, hogy a weblapról létre lehessen hozni egy egyszerű reget a kiszolgáltató mysql adatbázisában. Viszont van egy sokkal jobb forráskód-gyűjtemény, nemrég készült el. Ez tartalamzza az index, register, login, member, logout.php-ket, md5-ös jelszóvédelmet, meg mindent ami csak kell.

    Eygenlőre még azt nem tudom, hogy hogyan hozzam létre a kapcsolatot a mysql adatbázissal
  • Dj Faustus #15257
    Adott az SQL-adatbázis-táblát létrehozó lekérdezés - ezt a tárhely adatbázis-kezelő alkalmazásával (PhpMyAdmin, mysqladmin,...) vihatő fel - ez már megvan.

    Amit te LOGIN forráskód néven említesz az a regisztrációs űrlap - ez jeleníti meg a látogató számára a regisztrációs adatokat bekérő űrlapot. Nevezzük mondjuk register.php-nek.

    Mivel a regisztrációs űrlap <form> tagjének action attribútuma a do_reg.php-re hivatkozik, ezért a regisztráció kódja nevű kódot do_reg.php néven kell elmenteni.

    De! Én ezt ebben a formában nem használnám, ugyanis:
    - A regisztrációs űrlapon nincs semmilyen ellenőrzés - például nincs ellenőrizve, hogy a regisztráló nem-e valamilyen automatikus robot (ez ellen például Captcha segítségével védekezhetsz); vagy nincs ellenőrizve, hogy az e-mail mező helyesen lett kitöltve (reguláris kifejezésekkel ellenőrizheted - erről például itt olvashatsz).
    - A regisztrációs űrlap kétszer szerepel.
    - A regisztráció kódja nevű kódban se XSS, se CSRF, se SQL-Injection támadások elleni védelem nincs. Így könnyedén támadás alá vehető az oldalad. Ez ellen védekezni kell:

  • CattiBrie
    #15256
    szia Nasim :)
  • Lyukasbogrács
    #15255
    vagy tinypaste.com
  • Lyukasbogrács
    #15254
    pastebin.com
  • Nasim
    #15253
    De rosszul írtam, mert ezek csak a regisztráció forráskódjai bocs.
  • Nasim
    #15252
    Help!

    Megírtam a regisztráció - login forráskódot.
    A mysql adatbázisba létrehoztam egy user-t ezzel a kóddal:

    CREATE TABLE `user` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `username` varchar(20) NOT NULL default '',
    `password` varchar(50) NOT NULL default '',
    `email` varchar(40) NOT NULL default '',
    `ip` varchar(20) NOT NULL default '',
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;




    [size=15]Ez pedig a regisztráció kódja[/size]




    <?php //beginning tag
    $host = localhost
    $dbuser = user
    $dbpass = pass
    $dbname = user

    $connection = mysql_connect($host,$dbuser,$dbpass);
    $db = mysql_select_db($dbname,$connection);

    //grab data from form
    $name = $_POST[username];
    $pass = $_POST[password];
    $email = $_POST[email];
    $ip = $_POST[ip];

    //if else (else if)
    if($name ==false || $pass == false || $pass_conf == false || $email == false){
    echo "Please fill in all the required fields.";
    };
    if($pass != $pass conf){
    echo "Passwords do not match.";
    }else {
    $connection = mysql_connect(host,$dbuser,$dbpass);
    $db = mysql_select_db($dbname,$connection);
    $sql = "INSERT IGNORE INTO user (username,password,email,ip) VALUES ($name, $pass, $email, $IP)";
    $result = mysql_guery($sql);
    echo "Thank you for your registration to YOUSITENAME.com";
    };

    ?>



    [size=15]LOGIN forráskód[/size]


    <?php
    $IP = $_SERVER[REMOTE_ADDR];
    ?>

    <form name=reg action=do_reg.php method=post>
    Username: <input type=text name=username><br>
    Password: <input type=password name=password><br>
    Confirm: <input type=password name=pass_conf><br>
    Email: <input type=text name=email><br>
    <input type=hidden name=ip value='<?php echo $IP ?>'>
    <input type=submit value='Register'>
    </form>
    <br><br>
    <form name=reg action=do_reg.php method=post>
    <table border=0 cellspacing=0 cellpadding=2>
    <tr><td>
    Username:<td><input type=text name=username>
    <tr><td>
    Password:<td><input type=password name=password>
    <tr><td>
    Confirm:<td><input type=password name=pass_conf>
    <tr><td>
    Email:<td><input type=text name=email>
    <tr><td colspan=2>
    <inpu type=hidden name=ip value='<?php echo $IP ?>'>
    <input type=submit value='register'>
    </form>
    <table>

    Kérdésem, hogy ezeket a kódokat melyik php-be kell illeszteni, illetve hogy kell-e még feltölteni valamit a mysql adatbázisba?
  • cmsworld
    #15251
    Segítséget kérnék .po fájlok szerkesztésében. Lefordítottam egy oldal nyelvi fájlját, de azon közben több változtatás is volt. Most megvan az új angol nyelvi fájl. A változtatás nem nagy rajta, csak erre arra pár sor. Lenne rá mód valahogyan összehasonlítani ezt a két fájlt egy programmal és az azonos részeket összeilleszteni? Segítségeteket előre is köszönöm!
  • cmsworld
    #15250
    Egy bizonytalan szerver kimaradásainak áthidalására tökéletes.
  • Dj Faustus #15249
    Jaja ;)
  • Voyager5
    #15248
    ja, tudom de a lenyegen nem valtoztat.

    Faustus:
    type="text/css" :)
  • karajjj
    #15247
    a <th> a táblázat fejléce
  • Dj Faustus #15246
    Mivel a HTML inkább egy, az oldal struktúráját és tartalmát leíró nyelv, ezért a formázásokat érdemes CSS-ből végrehajtani.

    Tehát vagy a <head> és </head> tagek közé beilleszted az alábbit:
    <style type="text/css">
    td {
    border-bottom: 1px solid #000000;
    }
    </style>


    Vagy külön CSS-állományba elhelyezed az alábbit:
    td {
    border-bottom: 1px solid #000000;
    }

    majd a <head> és </head> tagek között hivatkozol rá:
    <link rel="stylesheet" type="text/javascript" href="style.css" />
    ahol a style.css az adott CSS-állomány neve

    Vagy minden egyes cellában formázol:
    <td style="border-bottom: 1px solid #000000;">...</td>
  • Láma!
    #15245
    köszi szépen, működik:)

    és köszi mindenkinek:)
  • Voyager5
    #15244
    Van vmi olyasmi, hogy:

    <table rules="rows" >
    <tr>
    <th>ize</th>
    <th>hoze</th>
    </tr>
    </table>
  • karajjj
    #15243
    style tagben megírod a css-t
  • Lyukasbogrács
    #15242
    <td style="border-bottom:..."> ez most html?
  • Láma!
    #15241
    azért mert a program amiben ezt meg kéne írni (Lotus Notes), kliensben nem támogatja a css-t, csak a html-t.
  • CattiBrie
    #15240
    CSS
    td {
    border-bottom: 1px solid green;
    }


    HTML-be ágyazott CSS:

    <table cellspacing="0">
    <tr>
    <td style="border-bottom: 1px solid green;"></td>
    <td style="border-bottom: 1px solid green;"></td>
    </tr>
    <tr>
    <td style="border-bottom: 1px solid green;"></td>
    <td style="border-bottom: 1px solid green;"></td>
    </tr>
    </table>
  • karajjj
    #15239
    miért nem jó css?
  • Láma!
    #15238
    Sziasztok!

    Egy kérdésem lenne. A html tud-e olyat, hogy van egy táblázat, aminek nincs kerete, de minden táblázat cellának van alsó szegélye? ergo egy táblázat sorai aláhúzással elválasztva.
    A css azt hiszem tud, de nekem html-ül kéne ez.

    Előre is köszi.
  • Lyukasbogrács
    #15237
    ilyenre gondolsz?
  • SMGBAS
    #15236
    Üdv.
    Olyasmit lehet csinálni, hogy rákattintok egy linkre és két oldalt hoz be?
  • Dj Faustus #15235
    1. A <form> tagen belül feleslegesen van definiálva egy újabb <form> tag.
    2. <cfif> - valószínűsítem nem használsz Coldfusiont. Szóval az sem kell.

    Szóval ha másolunk, tegyük körültekintően. Például.
  • Vaxi
    #15234
    divekkel simán szerintem.
  • pxxl
    #15233
    Olyat lehet, hogy van egy html, amiben csak egy swf van, és arra rátenni mégegy (kisebb) swf-et, egy meghatározott helyre?
  •  castor
    #15232
    beillesztettem egy dátumválasztót és ezzel azt értem el, hogy az ellenőrzés nem működik. gondolom meg kéne adnom, hogy hivatkozzon a naptárra is, ha az 'Elküld' gombra kattintok, de ezt hogy...

    így néz ki:
    http://pastebin.com/WAFp07XM
  • SMGBAS
    #15231
    Köszi
  • Dj Faustus #15230
    1. Javascript: setTimeout+window.location
    2. <meta> referesh tag
  • SMGBAS
    #15229
    Üdv.
    Van valami olyan kód html-ben amit ha beírok akkor egy idő után továbbvisz egy másik oldalra?
    Pl.: Van egy film amit feltöltök, hogy lehessen online nézni. Kirakom a linkjét és ha arra rákattint valaki akkor megjelenik egy oldal ahol reklám van és mondjuk 10 mp múlva továbblép arra az oldalra ahol a film van.
  • bracsek #15228
    Én a semmi közepén élek, de 6 Mbit em van... itt ennyi jutott, mert én sem akarok hatalmas összeget fizetni valami jobbért, de nincs itt olyan hely ebben az országban ahol nem lehet elérni a 2 Mbitet, és akinek az alatt van annak sajnálom, nekem is volt mobilos netem úgy kivágtam mint a golyó, nem volt 3G mindenütt.
  • Krszti1160
    #15227
    Mind 1 már nem is izgat :D nem tudom meg csinálni :( De azért kösz a segítséget :)
  • Cat 02 #15226
    if (!$_SESSION['be_van_e_lepve')
    {
    echo 'Nem vagy belépve';
    exit();
    }

    tess, értelemszerűen kell egy session olyan néven és TRUE-ra állítani, ha be van lépve. Vagy bizergálhatod az adatbázist is mindig.
  • Krszti1160
    #15225
    $lijstGebruikers = "SELECT * FROM users WHERE username='$cookieusername'";
    $resultLijstGebruikers = mysql_query($lijstGebruikers);
    if (mysql_num_rows($resultLijstGebruikers) == 1) {
    $check = "pos";
    } else {
    $melding = "You are not logged in. You will be redirected to the login page in 3 seconds" . "<META http-equiv=refresh content=\"2;url=index.php\">";
    }
    Ezt találtam a gépen egy oldalból... ilyenre gondoltam, ezt nem lehet valahogy meg csinálni arra ami nekem kéne?
  • Cat 02 #15224
    Olvasd el mit tud a SESSION és gondolkozz :s
  • Krszti1160
    #15223
    hát igen xD És olyat nem lehet, hogy amit le akarok védetni. Oda valami kódot berakni és az vissza irányít a belépéshez? Olyan megoldást nem tudsz?