kamilk00
15.12.2003, 20:36:31
prosze pomocy potrzebuje systemu logowania z baza danych mysql. nie dokonca rozumiem jak to zrobic, prosze o wytlumaczeie z gory dzieki!
kicaj
15.12.2003, 21:39:57
czego nie rozumiesz?
do ktorego momentu?
a moze chcesz gotowca?
menic
15.12.2003, 21:45:06
Jak nie rozumiesz to skorzystaj z magiczne różdżki w postaci wyszukiwarki i poczaruj 8)
kamilk00
15.12.2003, 21:53:34

ale smieszne
a gotowca niechce! po prostu robie to w apache nawet nie moge nic do bazy dodac

niby wszystko dobrze ale jednak. popatrzcie dodaje w ten sposob z poziomu php:
[php:1:b1993ef0a3]
<html>
<head>
<title>
System newsow na podstawie bazy danych
</title>
</head>
<body>
<?php
/*ten program wpisuje wiadomość do bazy danych*/
if(isset($submit)):
$db = mysql_connect("localhost", "root");
mysql_select_db("php", $db);
$date = date("Y-m-d");
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
print("<h2>Dane zostały wpisane</h2>n");
print("<b>Poniżej możesz dodać inną wiadomość</b>n");
endif;
?>
<p><h3>Wpisz swoją wiadomość do bazy danych</h3>
<form action="data_in.php" method="post">
Nazwisko:<br><input type="text" name="auth"><p>
E-mail:<br> <input type="text" name="auth_email"><p>
Nagłówek:<br><input type="text" name="heading"><p>
Wiadomość:<br>
<textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea><p>
<input type="submit" name="submit" value=Wyślij wiadomość!">
</form>
</body>
</html>
[/php:1:b1993ef0a3]
Tak bylo napisane w ksiazce

patrze w bazie, jak nie bylo tak i niema

baza danych nazywa sie news tabela tez
-----------------------
[zmoderowane]
BzikOS: używaj BBCode
menic
15.12.2003, 22:32:28
A ja dalej twierdze, że użycie wyszukiwarki to wspaniała rzecz. A jeszcze jak byś zastosował bbcode to wogóle
scanner
15.12.2003, 22:57:59
Cytat
[php:1:f21ab296d4]<?php
mysql_select_db("php", $db);
?>[/php:1:f21ab296d4]
Cytat
baza danych nazywa sie news tabela tez

jak to mawia It's_me: Kłamiesz.
nameless
16.12.2003, 14:45:27
jesli baza nazywa sie news to dlaczego piszesz mysqsl_select_db("php");
kamilk00
16.12.2003, 14:52:06
wcale ze nie klamie :x
a o co ci chodzi z tym:
[php:1:029843ec12]
<?php
mysql_select_db("php", $db);
?>
[/php:1:029843ec12]
przecierz jest identycznie jak i umnie...
prosze tylko zeby mi ktos powiedzial co jest zle. korzystam z kasazki "php
to jest proste" tam jest identycznie napisane, a jednak cos jest zle [-o< pomocy jesli to zkapne to i zrozumiem jak zrobic systemik logowania a przeciez wszyscy tego chcemy
scanner
16.12.2003, 14:54:04
Cytat
[php:1:cb49549618]<?php
mysql_select_db("php", $db);
?>[/php:1:cb49549618]
Cytat
baza danych nazywa sie news tabela tez

No przecież widać, że pracujesz na bazie danch "php" a twierdziesz, ze na "NEWS"- to jak to w końcu jest?
kubatron
16.12.2003, 14:54:46
Cytat
Cytat
[php:1:aea566524c]<?php
mysql_select_db("php", $db);
?>[/php:1:aea566524c]
Cytat
baza danych nazywa sie news tabela tez

jak to mawia It's_me: Kłamiesz.
przeczytaj sobie co napisał scanner jak wiesz podobno twoja baza nazywa sie php a ty dałes php czy takie to trudne
[php:1:aea566524c]<?php
mysql_select_db("news", $db);
?>[/php:1:aea566524c]
BzikOS
16.12.2003, 14:55:14
Cytat
jesli baza nazywa sie news to dlaczego piszesz mysqsl_select_db("php");
@kamilk00: czytaj co Ci ludzie podpowiadają...
Jeżeli stworzyłeś bazę danych o nazwie 'news' to łącz się z bazą 'news', a nie 'php':
[php:1:c1644ec9ec]<?php
mysql_select_db("news", $db);
?>[/php:1:c1644ec9ec]
kubatron
16.12.2003, 14:56:49
BzikOS byłem pierwszy
kamilk00
16.12.2003, 14:59:20
ej sory nie zauwazylem jednej odpowiedzi jeszcze raz sorki zara przetestuje:)
kubatron
16.12.2003, 14:59:45
kamilk00
16.12.2003, 15:04:39
teraz to wyglada tak:
[php:1:d4bb5d0814]
<html>
<head>
<title>
System newsow na podstawie bazy danych
</title>
</head>
<body>
<?php
/*ten program wpisuje wiadomość do bazy danych*/
if(isset($submit)):
$db = mysql_connect("localhost", "root");
mysql_select_db("news", $db);
$date = date("Y-m-d");
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
print("<h2>Dane zostały wpisane</h2>n");
print("<b>Poniżej możesz dodać inną wiadomość</b>n");
endif;
?>
<p><h3>Wpisz swoją wiadomość do bazy danych</h3>
<form action="data_in.php" method="post">
Nazwisko:<br><input type="text" name="auth"><p>
E-mail:<br> <input type="text" name="auth_email"><p>
Nagłówek:<br><input type="text" name="heading"><p>
Wiadomość:<br>
<textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea><p>
<input type="submit" name="submit" value=Wyślij wiadomość!">
</form>
</body>
</html>
[/php:1:d4bb5d0814]
i dalej nic
ale chyba wiem czemu. jezeli w bazie danych nie jest auth i auth_email tylko author i author_email to to moze przez to ale przez to nic by sie nie dodalo?? :!: :?:
kubatron
16.12.2003, 15:08:58
Cytat
teraz to wyglada tak:
[php:1:8438817d25]
<html>
<head>
<title>
System newsow na podstawie bazy danych
</title>
</head>
<body>
<?php
/*ten program wpisuje wiadomość do bazy danych*/
if(isset($submit)):
$db = mysql_connect("localhost", "root");
mysql_select_db("news", $db);
$date = date("Y-m-d");
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
print("<h2>Dane zostały wpisane</h2>n");
print("<b>Poniżej możesz dodać inną wiadomość</b>n");
endif;
?>
<p><h3>Wpisz swoją wiadomość do bazy danych</h3>
<form action="data_in.php" method="post">
Nazwisko:<br><input type="text" name="auth"><p>
E-mail:<br> <input type="text" name="auth_email"><p>
Nagłówek:<br><input type="text" name="heading"><p>
Wiadomość:<br>
<textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea><p>
<input type="submit" name="submit" value=Wyślij wiadomość!">
</form>
</body>
</html>
[/php:1:8438817d25]
i dalej nic
ale chyba wiem czemu. jezeli w bazie danych nie jest auth i auth_email tylko author i author_email to to moze przez to ale przez to nic by sie nie dodalo?? :!: :?:
jedno nierozumie w tym skrypcie czemu pierwsze masz [php:1:8438817d25]<?php
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
?>[/php:1:8438817d25] jak nic niezostało do formularza wpisane i on praktycznie powinien dodac puste zmienne pierwsze formularz ma sie wyswietli potem wykonane zapytanie
kamilk00
16.12.2003, 15:23:55
wiec sugerujesz ze to powinno byc tak?
[php:1:6a3a274928]
<html>
<head>
<title>
System newsow na podstawie bazy danych
</title>
</head>
<body>
<p><h3>Wpisz swoją wiadomość do bazy danych</h3>
<form action="data_in.php" method="post">
Nazwisko:<br><input type="text" name="auth"><p>
E-mail:<br> <input type="text" name="auth_email"><p>
Nagłówek:<br><input type="text" name="heading"><p>
Wiadomość:<br>
<textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea><p>
<input type="submit" name="submit" value=Wyślij wiadomość!">
</form>
<?php
/*ten program wpisuje wiadomość do bazy danych*/
if(isset($submit)):
$db = mysql_connect("localhost", "root");
mysql_select_db("news", $db);
$date = date("Y-m-d");
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
print("<h2>Dane zostały wpisane</h2>n");
print("<b>Poniżej możesz dodać inną wiadomość</b>n");
endif;
?>
</body>
</html>
[/php:1:6a3a274928]
jesli tak to jestes w bledzie
to tez nie dziala
menic
16.12.2003, 15:28:07
ech Kubatron...
Może sobie to wsadzić w dowolne miejsce kodu, bo i taj zawsze wywoła tylko formularz, chyba ze mu dowalicz $submit. A co do problemu to sprawdziłeś czy wogle połączył sie z bazą danych :]
kubatron
16.12.2003, 15:28:19
nie sugeruje zeby to było tak tylko sugeruje zrobić plik dodaj.php i tam dac zapytanie i formularz odnosic sie powinien do dodaj.php i tam jest wykonane zapytanie
kamilk00
16.12.2003, 16:04:13
mogli byscie to opisac dkokladniej prosil bym jak ma wygladac to wszystko...
z gory dzieki
kamilk00
16.12.2003, 19:33:42
za gotowca tez bym sie nie pogniewal
kubatron
16.12.2003, 20:55:13
nio to niech ci bedzie strace 10 min
index.php
[php:1:4aa67db0f6]<?php
<html>
<head>
<title>
System newsow na podstawie bazy danych
</title>
</head>
<body>
<?php
/*ten program wpisuje wiadomość do bazy danych*/
if(isset($submit)):
$date = date("Y-m-d");
print("<h2>Dane zostały wpisane</h2>n");
print("<b>Poniżej możesz dodać inną wiadomość</b>n");
endif;
?>
<p><h3>Wpisz swoją wiadomość do bazy danych</h3>
<form action="dodaj.php" method="post">
<input type=hidden name=dodaj>
Nazwisko:<br><input type="text" name="auth"><p>
E-mail:<br> <input type="text" name="auth_email"><p>
Nagłówek:<br><input type="text" name="heading"><p>
Wiadomość:<br>
<textarea cols=40 rows=20 name="body" wrap="virtual">
</textarea><p>
<input type="submit" name="submit" value=Wyślij wiadomość!">
</form>
</body>
</html>
?>[/php:1:4aa67db0f6]
dodaj.php
[php:1:4aa67db0f6]<?php
$db = mysql_connect("localhost", "root");
mysql_select_db("news", $db);
if($pyt == 'dodaj') {
$sql = "INSERT INTO news
VALUES(NULL,'$heading','$body','$auth','auth_email')";
mysql_query($sql);
}
?>[/php:1:4aa67db0f6]
więc dzięki ze przypomniałeś bo pisałem na szybko
menic
16.12.2003, 22:16:02
Napewno bedzie złe bo jak ma dodać jak sie z bazą w pliku dodaj.php nie łączy :? Przecież w pierwszym pliku potrzebny jest sam formularz i tyle. A nie wwaliłeś tam połączenie

które powinno byc w innym pliku
kamilk00
18.12.2003, 15:56:26
mam cos zepsute dalej nie dziala
kubatron
18.12.2003, 16:33:09
masz muj skrypt newsów i przetestuj i przerób
index.php
[php:1:a6090bac81]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
$pyt = ("SELECT * FROM news ORDER BY data DESC");
$result = mysql_query($pyt) or die ("Błąd zapytania: $pyt");
while($row = mysql_fetch_array($result)) {
echo "<table width="400" cellspacing="0" cellpadding="0" border="0" style="BORDER-RIGHT: #000000 1px solid; BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>nr." . $row[0] . " " . $row[1] . "</div>";
echo "<a href="$row[2]" target="blank_"><img src=$row[2] width="250" height="180"></a> " . $row[3] ."";
echo "<br><div id=t1><p class=data>Data dodania:" . $row[6] ." Autor: <a href=mailto:" . $row[5] . " title="Autor newsa: $row[4]">" . $row[4] . "</a></div>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "<br>";
}
?>[/php:1:a6090bac81]
dodaj.php
[php:1:a6090bac81]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z baz±");
if($pyt == 'dodaj') {
$pyt = "INSERT INTO news (idnews, naglowek, image, tresc, user, mail, data) VALUES ('$idnews', '$naglowek', '$image', '$tresc', '$user', '$mail', now());";
$wynik = mysql_query($pyt);
} else {
echo "Zapytanie zostało wykonane poprawnie wróć do panelu administracyjnego";
}
?>[/php:1:a6090bac81]
kubatron
18.12.2003, 17:10:08
[sql:1:f3c1e70472]CREATE TABLE `news` (
`idnews` INT( 11 ) NOT NULL ,
`naglowek` TEXT NOT NULL ,
`image` TEXT NOT NULL ,
`tresc` TEXT NOT NULL ,
`user` TEXT NOT NULL ,
`mail` TEXT NOT NULL ,
`data` DATETIME DEFAULT 'now();' NOT NULL
);[/sql:1:f3c1e70472]
potem
[sql:1:f3c1e70472]ALTER TABLE `news` DROP PRIMARY KEY ,
ADD PRIMARY KEY ( `idnews` ) [/sql:1:f3c1e70472]
i na koniec[sql:1:f3c1e70472]ALTER TABLE `news` CHANGE `idnews` `idnews` INT( 11 ) DEFAULT '0' NOT NULL AUTO_INCREMENT [/sql:1:f3c1e70472]
kamilk00
18.12.2003, 18:02:25
co do tej wczesniejszej wiadomosci index.php mozesz podac formularz? nie chce mi sie pisac
kubatron
18.12.2003, 23:19:55
pamietaj index.php to jest wyswietlanie newsa dodaj.php wykonanie zapytania
admin.php
[php:1:b997b590ec]<?php
mysql_connect ("localhost", "root", "krasnal") or
die ("Nie można połączyć się z MySQL");
mysql_select_db ("news") or
die ("Nie można połączyć się z bazą danych.;");
echo "<table width="600" cellspacing="0" cellpadding="0" border="1">";
echo "<tr>";
echo "<td>";
echo "<div id=t2>Dodawanie newsów:</div>";
echo "<form action="dodaj.php" enctype="multipart/form-data" method="post">";
echo "<input type="hidden" name="pyt" value="dodaj"><br>";
echo "Idnews:<font color=red>Wypis samoczynny.</font><br>";
echo "Nagłówek:<input type="text" name="naglowek"><br>";
echo "Zdjecie:<input type="text" name="image" size="40"><br>";
echo "Treść:<textarea name="tresc" cols="45" rows="15"></textarea><br>";
echo "User:<input type="text" name="user"><br>";
echo "Email:<input type="text" name="mail"><br>";
echo "Data: <font color=red>Wypis samoczynny.</font><br>";
echo "<input type="submit" value="Dodaj newsa">";
echo "<input type="reset" value="Wyczyść">";
echo "</form>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</tbody>";
?>[/php:1:b997b590ec]
wchodzisz do admin.php i wpisujesz dane on cie odsyła do dodaj.php i tam zostaje wykonane zapytanie i wchodzisz do index.php i massz newsa
kubatron
18.12.2003, 23:21:31
reszty ci nie dam czyli edytowania usuwania i pokazywania przed usuwaniem bo jeszcze nie jest skonczone i musze system autoryzacji zrobić :wink:
kamilk00
19.12.2003, 19:06:21
JESTES WIELKI, JESTES WIELKI, JESTES WIELKI, JESTES WIELKI ..........
JEST UDALO SIE

WYPASISCIE YEACH DZIEKI DZIEKI I JASZCZE RAZ DZIEKI tera przestudjuje kodzik i sie skapne w czym tkwil moj blad. odezwe sie aby inni sie tak nie meczyli
kubatron
19.12.2003, 19:30:14
Cytat
JESTES WIELKI, JESTES WIELKI, JESTES WIELKI, JESTES WIELKI ..........
JEST UDALO SIE

WYPASISCIE YEACH DZIEKI DZIEKI I JASZCZE RAZ DZIEKI tera przestudjuje kodzik i sie skapne w czym tkwil moj blad. odezwe sie aby inni sie tak nie meczyli

buhehehehehehehehehehehehehehehehehehehehe

czy ja wiem - nie
kamilk00
19.12.2003, 19:39:23
niestety ksiazke zgubilem prosze o jeszcze jedno

jak zrobic system logowania z haslem bez dodawania uzytkownikow tylko login i haslo po poprawnym wpisaniu hasla pokazuje sie strona ukryta a na tej stronie jest cos w stylu menu i jak sie kliknie w cos to sie jest dalej zalogowanym

wiecie o co chodzi acha i jeszcze jedno, jak sie tylko wpisze adresik ukrytej stronki ona wymaga logowania inaczej klapa
kubatron
19.12.2003, 19:56:07
to się nazwywa system uwierzytelniania ja tez teraz nad tym pracuje zeby dopiero po zalogowaniu można było zajrzec do dodaj.php itp.itd.
kubatron
19.12.2003, 19:58:47
a po drugie co to za system newsów bez edycji newsa- usuwania- i przedewszystkim w panelu admina przed usunięciem pokazanie newsa
żeby zrobić taki system uwierzytelniania na jedno hasło i jeden logi to:
1. stwórz plik index.php i zrób w nim funkcję if() (jeśli $x jest puste wyświetlaj formularz z parametrem action=?x=confirm i polami o nazwach login i hasło )
2. wklej pod forma taki kodzik:
[php:1:54d8257443]<?php
if(isset($x) && $x=="confirm") {
if($login=="twoj_login" && $haslo=="twoje_haslo") {
$xhaslo = md5($haslo);
setcookie("login", $login, time()+3600);
setcookie("xhaslo", $xhaslo, time()+3600);
header("Location: admin.php");
} else {
echo"błędne hasło/login";
}
}
?>[/php:1:54d8257443]
3. w pliku admin.php dopisz na początku:
[php:1:54d8257443]<?php
$haslo_con = "twoje_haslo";
$login_con = "twoj_login";
$xhaslo_con = md5($haslo_con);
if(!($login!=$login_con || $xhaslo!=$xhaslo_con)) {
header("Location: index.php");
}
//dalsza część strony (menu, funkcje, swich itp.)
?>[/php:1:54d8257443]
pod tym kodem wstaw se menu i w swichu zmieniaj strony ;]
to samo dodaj w pliku dodaj.php
to powinno być to o co ci chodzi ;]
PS mam nadzieję że pomogłem ;]
[EDIT]
były drobne pomyłki w kodzie ale poprawilem ;]
[/EDIT]
kamilk00
19.12.2003, 22:44:17
nie do konca mi o to chodzilo.... chodzi o systemik logowania za pomoca mysql i to niema byc jedno chaslo ale system bez dodawania userow
no to zrób nową tabele w phpmyadmin (lub zrób skrypt tworzący tą tabele) wstaw tam loginy i hasła i wczytuj while'm, przedtem walnij
[sql:1:0088786560]
SELECT * FROM 'twoja_tabela_userow' WHERE login='$login'
[/sql:1:0088786560]
i masz z głowy ;]
[EDIT]
aha dostaw funkcję żeby jeśli odnajdzie jush taki login to niech sprawdzi czy hasło poprawne i jeśli tak to niech wyśle cookie/sesje
[/EDIT]
kamilk00
19.12.2003, 22:54:03
nie kapuje do konca jak to ma w koncu wygladac?
kamilk00
19.12.2003, 23:30:31
nie kapuje do konca jak to ma w koncu wygladac?
kubatron
20.12.2003, 11:15:24
Cytat
nie kapuje do konca jak to ma w koncu wygladac?
bez obrazy ale ze mną tez tak było p[oczytaj troche o mysql i o zapytaniach to lepiej bedzie ci to przysfajać :wink:
kamilk00
20.12.2003, 13:33:38
nie kamuje tylko w jakim miejscu umiescic kod sql
pomocy
musisz zrobić zapytanie:
[php:1:f0ebcd98df]<?php
$sql = "SELECT * FROM 'twoja_tabela_userow' WHERE login='$login'";
$query = mysql_query($sql);
// i dalsze wypisywanie dantych czy tam sprawdzanie czy login jush jest (zastosuj mysql_num_rows )
?>[/php:1:f0ebcd98df]
hm
naprawde nie wiem jak to prościej napisać...
PS Poczytaj manuala/kursy to od razu zaczniesz wszystko z mysql'a czaić. polecam także książki - w szczególności "PHP4 od podstaw" (nie jestem pewien czy reklama jest dozwolona na forum więc jakby co to na PW prosze o wiadomość i zaraz zmienię ). Ja w 2 dni po przeczytaniu materialu zawartego w książce na temat MySQL znałem całe podstawy i od razu napisałem swój panel admina oparty na tej bazie ;]
kamilk00
20.12.2003, 21:41:14
ZABIJE SIE do jakiego pliku to wsadzic... a nie co to jest!!!!!
kubatron
21.12.2003, 14:58:48
wchodzisz do phpmyadmin-> potem wybierasz baze w moim przypadku to news i tabele w moim przypadku to też news i masz zakładke na górze
SQL i wciskasz i tam dajesz kod sql te co ci podałem boże innaczej nieumie wytłumaczyć
kamilk00
6.01.2004, 22:04:02
udalo sie moj kod wyglada tak:
[php:1:e2799c8602]<html>
<head>
</head>
<body>
<?php
mysql_connect ("localhost", "root", "") or
die ("Niema połączenia z mysql'em");
mysql_select_db ("log") or
die ("Niemożna połączyć z bazą danych");
$wynik = mysql_query ("SELECT * FROM lih;") or
die ("Błąd w pytaniu");
while ($rekord = mysql_fetch_array ($wynik)) {
$haslo = $rekord[0];
$log = $rekord[1];
if ("$login" == "$log") {
if ("$pass" == "$haslo") {
} else {
print("BŁĄD");
}
} else {
print("blad");
}
}
?>
<form action="logowanie.php" method="post">
<input type="text" name="login">
<input type="password" name="pass">
<input type="submit" value="slij">
</body>
[/php:1:e2799c8602]
sam napisalem i dziala
scanner
6.01.2004, 22:36:12
Cytat
udalo sie moj kod wyglada tak:
Brawo.
[sql:1:05dd8a9e3d]SELECT COUNT(*) FROM lih WHERE login=$login AND password=$password[/sql:1:05dd8a9e3d] Przerzuć na engine bazy sprawdzenie czy user istnieje i czy hasło się zgadza. Baza to zrobi szybciej niż kod php - bardzo nieefektywny w tym przypadku.
kubatron
6.01.2004, 23:03:47
Widzisz wystarczy się troche wysylić i pomyśleć, i wszystko wychodzi.
:wink:
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.