Autor | Zpráva | ||
---|---|---|---|
krteczek Profil |
#1 · Zasláno: 6. 4. 2007, 07:02:58
Figy:
1) INSERT INTO =>
názvy tabulek definuji: define("Nazev_tabulky", 'uzivatele'); Definice je dostupná ve všech funkcích a třídách, a nelze po definování změnit její obsah. potom pracuji ve všech funkcích a includovaných skriptech jen s Nazev_tabulky a v případě potřeby změním název na jednom místě 2) $result = mysql_query ("select count(*) as pocet from online where user = $uzivatel"); spočítej počet řádků v tabulce online kdy obsah sloupce user je roven proměnné $uzivatel a výsledek ulož do proměnné pocet list ($pocet) = mysql_fetch_row ($result); Výsledek váceného záznamu ulolž do proměnné $pocet krteczek |
||
Figy Profil |
#2 · Zasláno: 6. 4. 2007, 12:00:41
diky mooooc
|
||
Figy Profil |
#3 · Zasláno: 6. 4. 2007, 12:19:25
jenom, jaksi nechapu, jak to mam spocitat :'(
|
||
Figy Profil |
#4 · Zasláno: 6. 4. 2007, 12:25:49
nechápu kterou proměnou mám čím nahradit :(
potřeboval bych to ukázat na konkrétním příkladě.... ...jinak ješte nevím jak se udělají v tabulce řádky a jak je pojmenuju atd.... ...potreboval bych navod jak pracovat s databazi, v php uz to nejak zvladu, ale databazi vubec nerozumim |
||
Alphard Profil |
#5 · Zasláno: 6. 4. 2007, 13:04:22
potreboval bych navod jak pracovat s databazi
http://www.linuxsoft.cz/article.php?id_article=731 jinak ješte nevím jak se udělají v tabulce řádky a jak je pojmenuju atd http://www.linuxsoft.cz/article.php?id_article=809 |
||
Figy Profil |
#6 · Zasláno: 6. 4. 2007, 13:51:16
uz chapu jak se pracuje s databazi, ale ted bych potreboval...
...mam formular normalne v html, ten odesila data do souboru .php a ten je zpracovava, uz mam hotovej skript na registraci, kdyz uzivatel napise neco sptane atd.... vsechno funguje a posledni co mi tam chyby, je to hlavni... jakej je prikaz v php, aby se ty data z toho formulare automaicky ulozili do databaze, hned jak se uzivatel zaregistruje ??? ...predem dekuji |
||
djlj Profil |
#7 · Zasláno: 6. 4. 2007, 13:53:11 · Upravil/a: djlj
|
||
Figy Profil |
#8 · Zasláno: 6. 4. 2007, 13:59:21
{ function
INSERT INTO $login = "`INSERT INTO `" . registracni_databaze . "` (`login`) VALUES ('" . $login . "') "; INSERT INTO $heslo = "`INSERT INTO `" . registracni_databaze . "` (`heslo`) VALUES ('" . $heslo . "') "; INSERT INTO $email = "`INSERT INTO `" . registracni_databaze . "` (`email`) VALUES ('" . $email . "') "; } muze to vypadat takhle, nebo sem vymyslel hovadinu ? |
||
mercy Profil |
#9 · Zasláno: 6. 4. 2007, 14:09:05
Můj výsledný skript vypadá takto:
<? $uzivatel=$_SESSION[USER]; mysql_connect("localhost", "uziv", "heslo") or die("Nelze se připojit k MySQL: " . mysql_error()); echo mysql_error(); mysql_select_db("databaze") or die("Nelze vybrat databázi: ". mysql_error()); echo mysql_error(); $result = mysql_query ("select count(*) as pocet from online where user = $uzivatel"); list ($pocet) = mysql_fetch_row ($result); if ($pocet > 0) mysql_query("INSERT INTO online (user, time) values ('".$uzivatel."', '".time()."')"); $vysledek=mysql_query('SELECT user FROM online WHERE time > '.(time()-300)); while ($zaznam=MySQL_Fetch_Array($vysledek)): echo $zaznam["user"].", "; endwhile; mysql_query('DELETE FROM online WHERE time < '.(time()-300)); ?> Ale teď se mi opět nic nezapisuje do databáze.. Přitom ten řetězec s kontrolou počtu jsem vložil před vložení uživatele do databáze.. Kde jsem udělal chybu? |
||
djlj Profil |
#10 · Zasláno: 6. 4. 2007, 14:12:56
mercy
Přečti si tohle: http://php.vrana.cz/vyuziti-unikatnich-klicu-v-databazi.php |
||
Figy Profil |
#11 · Zasláno: 6. 4. 2007, 14:17:19
djlj
porad mi prosim... uz sem uplne bezradnej |
||
Alphard Profil |
#12 · Zasláno: 6. 4. 2007, 14:29:10
mercy
if ($pocet == 0) mysql_query("INSERT INTO online (user, time) values ('".$uzivatel."', '".time()."')"); > vkládalo by se právě, když už nějakej záznam existuje, to právě nechceš 2. možnost je využití unikátních klíčů, já jsem ji nezmiňoval, protože nefandím postavení scriptu na základě vrácené chyby, snažím se jim předcházet |
||
Figy Profil |
#13 · Zasláno: 6. 4. 2007, 14:45:20
$uzivatel=$_SESSION[USER];
mysql_connect("server", "uzivatel", "heslo") or die("Nelze se připojit k MySQL: " . mysql_error()); echo mysql_error(); mysql_select_db("databaze") or die("Nelze vybrat databázi: ". mysql_error()); echo mysql_error(); mysql_query("INSERT INTO uzivatele (login) VALUES ('$_POST[login]')"); if (mysql_errno() == 1062) { echo "Uživatel již existuje. "; |
||
Figy Profil |
#14 · Zasláno: 6. 4. 2007, 14:46:05
je nekde v tomto chyba ???
|
||
Figy Profil |
#15 · Zasláno: 6. 4. 2007, 15:00:39
Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'recept.641@local'@'81.0.237.33' (using password: YES) in /home/www/over.cz/subdomeny/recepty/registrace/index.php on line 55
Nelze se pøipojit k MySQL: Access denied for user 'recept.641@local'@'81.0.237.33' (using password: YES) ...nechapu tenhle error ...co je spatne ? |
||
mercy Profil |
#16 · Zasláno: 6. 4. 2007, 15:14:18
Alphard: Díky, za pomoc, nicméně se mi stále po každém klepnutí myší vypisuje moje uživatelské jméno, takže jich tam mám několik za sebou.. :-(
|
||
mercy Profil |
#17 · Zasláno: 6. 4. 2007, 15:25:52
Figy: Access denied = Přístup zamítnut
Asi jsi zadal špatné uživatelské jméno k databázi.. |
||
Alphard Profil |
#18 · Zasláno: 6. 4. 2007, 15:43:45
mercy
po kliknutí myší kam? jiank vypiš echo $pocet; pocet by měl odpovídat počtu řádků v databázi se splněnou podmínkou, pokud ne, tak jsem něco přehlédl |
||
mercy Profil |
#19 · Zasláno: 6. 4. 2007, 15:56:43
Alphard: celé to uživatelské rozhraní je v jednom souboru, jehož valná část je přístupná jen po zadání libovolného jména uživatele a hesla společného pro všechny. Je tam nabídka s ikonami a pokud na některou z nich klepneš, tak se ti zobrazí jiná část toho souboru. Celé to funguje asi takhle:
if (!isset($_GET[txt])) $_GET['txt']=cast1; switch ($_GET[txt]) { case "cast2": echo (" atd... Problém je v tom, že pokud klepnu na jednu z těch ikon v nabídce, tak se mi pod ní, kde si nechávám vypisovat seznam přihlášených, vypíše o jedno stejné jméno přihlášeného navíc. Schválně jsem si tedy nechal vypsat proměnnou $pocet a ta se mi ani nevypsala.. |
||
Alphard Profil |
#20 · Zasláno: 6. 4. 2007, 16:07:21
mercy
$result = mysql_query ("select count(*) as pocet from online where user = $uzivatel"); echo mysql_error(); a ještě dej '$uzivatel' do apostrofů, já na ně někdy zapomínám :-) |
||
mercy Profil |
#21 · Zasláno: 6. 4. 2007, 16:43:19
Alphard: Teď už to jede bezvadně.. Díky moc :-)
|
||
mercy Profil |
#22 · Zasláno: 6. 4. 2007, 16:52:27
ještě tam mám takovou drobnost:
<? if (isset($_REQUEST['odhlasit'])){ echo("Byli jste odhlášeni"); session_destroy(); } else if($logged) { ?> Tohle tam mám v případě, že se uživatel odhlásí.. Chtěl jsem to udělat tak, že jsem před session_destroy() napsal řádek: mysql_query('DELETE FROM online WHERE user = '$uzivatel''); Ale tohle mi nefungovalo. Tak teď uvažuju, jestli tam má znovu před tím být přihlášení k databázi, nebo to mám jednoduše syntakticky špatně? |
||
Figy Profil |
#23 · Zasláno: 8. 4. 2007, 12:58:00
if((!$pripoj = @mysql_connect(SQL_HOST, SQL_USERNAME , SQL_PASSWORD))
$dotaz = "INSERT INTO registrace ($login, $heslo, $email, $prezdivku) VALUES ('" . addslashes($_POST[login]) . "', '" . sha1($_POST['login']) . "', '" . sha1($_POST['password']) . "', '" . sha1($_POST['email']) . "', '" . sha1($_POST['prezdivka']) . "', '" . sha1($_POST['jmeno']) . "', '" . sha1($_POST['prijimeni']) . "', '" . sha1($_POST['vek']) . "', '" . sha1($_POST['icq']) . "', '" . sha1($_POST['telefon']) . "' )";) Nevite nekdo prosim kde mam chybu ???? ...ja uz sem bezradnej :'( |
||
Časová prodleva: 17 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0