22786
Html-, css- és php-help
-
#15262 Ok. Felteszem a gépre, bár nemtudom ennek mi az előnye? -
#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) -
#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. -
#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. -
#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 -
#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:
-
#15256 szia Nasim :) -
#15255 vagy tinypaste.com -
#15254 pastebin.com -
#15253 De rosszul írtam, mert ezek csak a regisztráció forráskódjai bocs. -
#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. -
#15249 Jaja ;) -
#15248 ja, tudom de a lenyegen nem valtoztat.
Faustus:
type="text/css" :) -
karajjj #15247 a <th> a táblázat fejléce -
#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> -
#15245 köszi szépen, működik:)
és köszi mindenkinek:) -
#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 -
#15242 <td style="border-bottom:..."> ez most html? -
#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. -
#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? -
#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. -
#15237 ilyenre gondolsz? -
#15236 Üdv.
Olyasmit lehet csinálni, hogy rákattintok egy linkre és két oldalt hoz be? -
#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. -
#15234 divekkel simán szerintem. -
#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? -
#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 -
#15231 Köszi -
#15230 1. Javascript: setTimeout+window.location
2. <meta> referesh tag -
#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. -
#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. -
#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 -
#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?