WebspyPL
24.12.2011, 13:12:07
Witam!
Jestem w trakcie tworzenia skryptu wyświetlania profilu danego użytkownika. I mam mały problem, a mianowicie.
1. Moja rejestracja składa się z trzech pól, a mianowicie:
2. Chciałbym, aby zarejestrowany użytkownik po rejestracji i zalogowaniu mógł dodać w edycji profilu takie dane jak:
- Imię
- Miejscowość
- Data Urodzenia
3. Czy muszę do bazy danych dodawać kolejne zapytania jeśli mam w niej tylko, a jeśli chcę żeby wyświetlało jeszcze Imię, miejscowość i datę urodzenia?
4. Aby był wyświetlany profil będzie od tego specjalna strona np.
www.nazwaStrony.pl/profil.php/loginUżytkownikaJak można coś takiego stworzyć?
gorden
24.12.2011, 13:14:37
2. warunek od zalogowania + formularz
3. SELECT *
4. get + modrewrite w tym przypadku
WebspyPL
24.12.2011, 13:20:01
Cytat(gorden @ 24.12.2011, 13:14:37 )

2. warunek od zalogowania + formularz
3. SELECT *
4. get + modrewrite w tym przypadku
Mógłbyś wyjaśnić? Co do punktu drugiego mam po prostu skopiować warunek zalogowania i dodać specjalny formularz tak?
gorden
24.12.2011, 13:42:29
Tak. robisz formularz, gdzie value inputów to pobrane z bazy odpowiedniki dla nich. po zasubmitowaniu dajesz update tych pól na wartości inputów.
http://lmgtfy.com/?q=htacces+mod_rewrite
WebspyPL
24.12.2011, 13:58:54
Mam nadzieje, że dobrze zrozumiałem.
Tak wygląda ustawienia.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<form action="?strona=rejestracja" method="post">
<input type="hidden" name="tryb" value="dodaj" />
<table>
<tr>
<td>Imię:</td>
<td><input type="text" name="imie" maxlength="18" value=""/></td>
</tr>
<tr>
<td>Miejscowość:</td>
<td><input type="text" name="miejscowosc" maxlength="30" value=""/></td>
</tr>
<tr>
<td>Data urodzenia:</td>
<td>
<select name="dzien">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
<option>13</option>
<option>14</option>
<option>15</option>
<option>16</option>
<option>17</option>
<option>18</option>
<option>19</option>
<option>20</option>
<option>21</option>
<option>22</option>
<option>23</option>
<option>24</option>
<option>25</option>
<option>26</option>
<option>27</option>
<option>28</option>
<option>29</option>
<option>30</option>
<option>31</option>
</select>
<select name="miesiac">
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
<option>11</option>
<option>12</option>
</select>
<select name="rok">
<option>1945</option>
<option>1946</option>
<option>1947</option>
<option>1948</option>
<option>1949</option>
<option>1950</option>
<option>1951</option>
<option>1952</option>
<option>1953</option>
<option>1954</option>
<option>1955</option>
<option>1956</option>
<option>1957</option>
<option>1958</option>
<option>1959</option>
<option>1960</option>
<option>1961</option>
<option>1962</option>
<option>1963</option>
<option>1964</option>
<option>1965</option>
<option>1966</option>
<option>1967</option>
<option>1968</option>
<option>1969</option>
<option>1970</option>
<option>1971</option>
<option>1972</option>
<option>1973</option>
<option>1974</option>
<option>1975</option>
<option>1976</option>
<option>1977</option>
<option>1978</option>
<option>1979</option>
<option>1980</option>
<option>1981</option>
<option>1982</option>
<option>1983</option>
<option>1984</option>
<option>1985</option>
<option>1986</option>
<option>1987</option>
<option>1988</option>
<option>1989</option>
<option>1990</option>
<option>1991</option>
<option>1992</option>
<option>1993</option>
<option>1994</option>
<option>1995</option>
<option>1996</option>
<option>1997</option>
<option>1998</option>
<option>1999</option>
<option>2000</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
<option>2004</option>
<option>2005</option>
<option>2006</option>
<option>2007</option>
<option>2008</option>
<option>2009</option>
<option>2010</option>
<option>2011</option>
<option>2012</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="right">
<div class="buttons">
<button type="submit">Zapisz</button>
<button type="reset">Wyczyść</button></center>
</div></td>
</tr>
</table>
</form>
</div>
<?php include('stopka.php'); ?>
Czy tak to ma wyglądać?
gorden
24.12.2011, 14:03:50
To zwykły formularz nie mogę nic powiedzieć. A poza tym, najpierw sprawdź czy działa a później pisz tutaj o ewentualnych problemach.
WebspyPL
24.12.2011, 14:18:21
Dobra olejmy na razie ustawienia. Na razie ważniejszy jest profil.
Cytat
4. Aby był wyświetlany profil będzie od tego specjalna strona np. www.nazwaStrony.pl/profil.php/loginUżytkownika
Jak można coś takiego stworzyć?
Jak rozumiem mam funkcją GET wyciągnąć z bazy login użytkownika?
ciekawskiii
24.12.2011, 14:26:48
jak juz to profil.php?login=$login lub ?id=$id_usera a jak chcesz przyjazne linki to kolega wyzej podal.
Ten login masz z bazy wrzucic do GET
WebspyPL
24.12.2011, 14:28:39
ciekawskiii, jak rozumiem dobrze to www.adresStrony.pl/profil.php?login=NazwaProfilu ?
Wrzucić z bazy do GET? Czyli po prostu GET ma pobrac login?
ciekawskiii
24.12.2011, 14:41:11
w profilu
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM tabela WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
//wyswietlasz profil
}else{
//brak takiego profilu
}
i gdzies tam link do profilu profil.php?login=$login
WebspyPL
24.12.2011, 14:46:52
Mam nadzieje, że dobrze zrozumiałem.
Plik profil.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?php
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
//wyswietlasz profil
}else{
//brak takiego profilu
}
?>
</div>
<?php include('stopka.php'); ?>
A, tutaj błąd po wejściu w
nazwaStrony.pl/profil.phpCytat
Warning: mysql_query() [function.mysql-query]: Access denied for user 'webspy'@'localhost' (using password: NO) in /home/webspy/public_html/profil.php on line 12
Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/webspy/public_html/profil.php on line 12
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/webspy/public_html/profil.php on line 13
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /home/webspy/public_html/profil.php on line 17
Cytat
i gdzies tam link do profilu profil.php?login=$login
Gdzieś tam to znaczy? Np. chciałbym, aby po kliknięciu na LOGIN przenosiło automatycznie do profilu.
Login profilu jest wyświetlany na stronie głównej w ten sposób:
<?php
// jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
if (isset($_SESSION['login'])) { echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong>'.$_SESSION['login'].'</strong></p>'; }
else {
}
?>
ciekawskiii
24.12.2011, 14:52:39
nie masz połączenia z bazą danych. Łączysz sie w ogóle?!
Gdzies tam to znaczy gdzie chcesz. Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu
WebspyPL
24.12.2011, 14:56:09
A, faktycznie zapomniałem o tym..
Dodałem łączenie, ale po wejściu na
nazwaStrony.pl/profil.php - nie mam już żadnego błędu, ale wylogowuje mnie ze strony i muszę się ponownie logować i potem nadal to samo.
profil.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?
include('inc/db.php');
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
//wyswietlasz profil
}else{
//brak takiego profilu
}
?>
</div>
<?php include('stopka.php'); ?>
ciekawskiii
24.12.2011, 15:04:02
masz dwa razy session_start i ob_start uhh popatrz troche a na koncu chyba brakuje ob_end_flush();
mozesz przed getem dodac warunek, jesli get nie istnieje
if(isset($_GET['login'])) {
//Wyswietlasz profil
}else{
//przekierowanie lub co tam chcesz
}
WebspyPL
24.12.2011, 15:31:01
To niestety nic nie dało, bo wylogowuje nadal po wejściu na
nazwaStrony.pl/profil.php
profil.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?
include('inc/db.php');
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
if(isset($_GET['login'])) {
//Wyswietlasz profil
}else{
//przekierowanie lub co tam chcesz
}
}
?>
</div>
<?php include('stopka.php'); ?>
Cytat
Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu
Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/
<?php
// jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
if (isset($_SESSION['login'])) { echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong><a href="profil.php?login=$_SESSION["login"];" style="text-decoration: none;">'.$_SESSION['login'].'</a></strong></p>'; }
else {
}
?>
ref
gorden
24.12.2011, 15:38:40
1. linijki 6-9 wywal, zupełnie niepotrzebne.
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login
mysql_real_escape_stringiem
3. w profil.php nie ma błędu, pokaż header.php i inc/db.php.
WebspyPL
24.12.2011, 15:43:00
header.php
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Webspy</title>
<link rel="stylesheet" href="css/style.css" type="text/css"
media="screen" />
</head>
<body>
<div id="logo"></div>
<div id="menu">
<br>
<ul>
<li><a href="index.php">Strona Główna</a></li>
<li><a href="index.php">Forum</a></li>
<li><a href="index.php">Czat</a></li>
<?php if (isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="logowanie.php">Zaloguj się</a></li>
<?php } ?>
<?php if (isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="rejestracja.php">Zarejestruj się</a></li>
<?php } ?>
<ul>
<?php if (!isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="logowanie.php?p=wyloguj">Wyloguj się</a></li>
<?php } ?>
</ul>
</div>
inc/db.php
<?php
// dane do połączenia z bazą MySQL
$mysql_host = 'localhost';
$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';
// połączenie z bazą danych
$polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or
die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
// połączenie ze schematem bazy danych
?>
$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';Zmieniłem celowo.
Cytat
1. linijki 6-9 wywal, zupełnie niepotrzebne.
Z ktorego kodu?
Cytat
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login mysql_real_escape_stringiem
zaraz się tym zajme.
Cytat
Skoro chcesz zrobic link do profilu to przed linkiem wyciagasz login z bazy i dodajesz go do linku ?login=$login_z_bazy lub ?login=$_SESSION["login"]; dla Twojego profilu
Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/
<?php
// jeżeli użytkownik jest zalogowany wyświetlamy inforamcję
if (isset($_SESSION['login'])) { echo '<p><img class="user" src="img/user.png">Jesteś zalogowany/a jako: <strong><a href="profil.php?login=$_SESSION["login"];" style="text-decoration: none;">'.$_SESSION['login'].'</a></strong></p>'; }
else {
}
?>
ciekawskiii
24.12.2011, 15:55:11
popraw link na
profil.php?login='.$_SESSION['login'].'
if(isset... daj na początku pliku a nie gdzieś tam w środku. Najpierw sprawdzasz czy get istnieje a pozniej dopiero czy login istnieje
WebspyPL
24.12.2011, 16:06:44
Ciekawski, dzięki śmiga.
header.php
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Webspy</title>
<link rel="stylesheet" href="css/style.css" type="text/css"
media="screen" />
</head>
<body>
<div id="logo"></div>
<div id="menu">
<br>
<ul>
<li><a href="index.php">Strona Główna</a></li>
<li><a href="index.php">Forum</a></li>
<li><a href="index.php">Czat</a></li>
<?php if (isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="logowanie.php">Zaloguj się</a></li>
<?php } ?>
<?php if (isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="rejestracja.php">Zarejestruj się</a></li>
<?php } ?>
<ul>
<?php if (!isset($_SESSION['login'])) { echo ''; } else {?> <li><a href="logowanie.php?p=wyloguj">Wyloguj się</a></li>
<?php } ?>
</ul>
</div>
inc/db.php
<?php
// dane do połączenia z bazą MySQL
$mysql_host = 'localhost';
$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';
// połączenie z bazą danych
$polaczenie = mysql_connect($mysql_host, $mysql_login, $mysql_haslo) or
die('Błąd: nie udało się nawiązać połączenia z bazą danych.');
// połączenie ze schematem bazy danych
?>
$mysql_login = 'login_uzytkownika';
$mysql_haslo = 'haslo_uzytkownika';
$mysql_baza = 'baza_uzytkownika';Zmieniłem celowo.
Cytat
1. linijki 6-9 wywal, zupełnie niepotrzebne.
Z ktorego kodu?
Cytat
2. tradycyjnie Twój kod jest narażony na sql injection. potraktuj $login mysql_real_escape_stringiem
zaraz się tym zajme.
rf
gorden
24.12.2011, 16:18:35
z tego kodu pod
Cytat
Oto kod, ale coś nie działa, bo nie przekierowuje mnie na login.. :/
w miejscu tego błędu z wylogowaniem zrób print_r($_SESSION) i się dowiesz co nie gra najprawdopodobniej. nie pytaj jak tego używać, znajomość tablic wystarczy i manual.
ps. nie wiem co Ty masz z tym echo '', wystarczy zwykły operator negacji, który widzę, że znasz, aby uniknąć tego.
WebspyPL
24.12.2011, 17:50:04
Tak wygląda plik profil.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?
include('inc/db.php');
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
if(isset($_GET['login'])) {
//Wyswietlasz profil
}else{
//przekierowanie lub co tam chcesz
}
}
?>
</div>
<?php include('stopka.php'); ?>
A po wejściu na
www.nazwaStrone.pl/profil.php wyświetla
(
[admin] => ok
[login] =>
)
ciekawskiii
24.12.2011, 17:57:32
no ale co jest teraz nie tak?
Przeczytaj moj edytowany post pare pozycji wstecz. isset() masz w złym miejscu
WebspyPL
24.12.2011, 18:42:30
Dobra postaram się to wytłumaczyć.
Chcę, aby po wejściu na
www.nazwaStrony.pl/profil.php?login=Webspy wyświetlało mój profil, w którym byłyby informacje, które bym wybrał, aby się wyświetlały.
Po wejściu na
www.nazwaStrony.pl/profil.php?login=Webspy wyskakuje mi:
(
[admin] => ok
[login] => Webspy
)
A chciałbym, aby było coś w stylu
http://www.fotka.pl/profil/test - czyli zdjęcie, wpisy, znajomi oraz tabelka z imieniem, wiekiem oraz miejscem zamieszkania. Wygląd oczywiście sam zrobię, ale jak to poprawnie skonfigurować, aby wyświetlało te dane.
Po wejściu w
www.nazwaStrony.pl/profil.php mam:
(
[admin] => ok
[login] =>
)
I mnie automatycznie wylogowuje. :/
gorden
24.12.2011, 18:52:25
dlaczego Cie wylogowuje niby? admin=>ok domyślam się, ze chodzi o pełne uprawnienia. sesja login również jest zaissetowana.
1. wywal print_r
2. w miejsce //Wyswietlasz profil daj echo $a['login']. w else możesz dać "Nie ma takiego użytkownika"
ciekawskiii
24.12.2011, 18:57:14
Dalem Ci przykład jak wyswietlic login w profilu. Tak samo robisz z pozostalymi danymi. Zrob w bazie pola imie, wiek itd. i je wyswietl a wczesniej zrob opcje edycji profilu zeby te dane uzupelniac.
Przeciez nikt za Ciebie nie bedzie pisal calej strony.
WebspyPL
24.12.2011, 18:58:29
gorden, wywaliłem printa.
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?
include('inc/db.php');
$login=$_GET['login']; //filtruj oczywiscie
$sql=mysql_query("SELECT * FROM rejestracja WHERE login='$login'"); $login_z_bazy=$a['login'];
//sprawdzasz czy istnieje
{
if(isset($_GET['login'])) {
} else{
//przekierowanie lub co tam chcesz
}
}
?>
</div>
<?php include('stopka.php'); ?>
I wyskakuje błąd po przejściu na profil.php:
Parse error: syntax error, unexpected '}', expecting ',' or ';' in /home/webspy/public_html/profil.php on line 23
Cytat
Dalem Ci przykład jak wyswietlic login w profilu. Tak samo robisz z pozostalymi danymi. Zrob w bazie pola imie, wiek itd. i je wyswietl a wczesniej zrob opcje edycji profilu zeby te dane uzupelniac.
Przeciez nikt za Ciebie nie bedzie pisal calej strony.
Tak wiem jak pobierać dane z bazy i jak dodać to. Edycje profilu także będę robił, ale najpierw wyświetlanie..
gorden
24.12.2011, 18:59:53
myślałem że wyciągasz jakieś nauki z moich porad, ale Ty działasz na zasadzie ctrl+c ctrl+v
WebspyPL
24.12.2011, 19:01:46
Pisałem wcześniej, że jestem w tym całkowicie zielony..
ciekawskiii
24.12.2011, 19:09:16
zawsze jak robie taka strone to staram sie robic wszystko po kolei tzn. to co najpierw zrobiłby użytkownik, wiadomo że nie wyświetli swoich danych dopoki ich nie uzupelni. To tak samo jakbys najpierw robil opcje zmiany hasla nie majac logowania i rejestracji.
zanim znowu napiszesz ze masz blad to popatrz w ten kod nawet godzine, jesli wtedy nie bedziesz wiedzial to napisz. Przylatujac tu z kazdym bledem niczego sie nie nauczysz.
parse error Ci wyraźnie wskazuje gdzie i jaki masz błąd
p.s. Proponuje najpierw przeczytac jakies podstawy php
WebspyPL
24.12.2011, 19:31:13
Cytat
parse error Ci wyraźnie wskazuje gdzie i jaki masz błąd
Skoro nie rozumiem tego błędu to pewnie dlatego wklejam go na forum.
Cytat
p.s. Proponuje najpierw przeczytac jakies podstawy php
Na pewno przeczytam już zamówiłem książkę.
Pomożecie mi z tym błędem?..
ciekawskiii
24.12.2011, 19:35:05
brakuje na końcu średnika w linii 22
WebspyPL
24.12.2011, 19:36:41
Dobra dzięki, a co z tym wylogowywaniem ? Bo nadal jeśli wejdę na nazwaStrony.pl/profil.php to mnie wylogowuje.
Barcelona
24.12.2011, 19:41:25
Nie masz nigdzie na stronie takiego kodu?
To odpowiada za usunięcie sesji, co za tym idzie wylogowanie.
gorden
24.12.2011, 20:16:25
Ludzie...
dałeś print_r i sesja nadal istnieje, nie ma prawa wylogować do czasu print_r. napisz jak wygląda strona kiedy użytkownik jest zalogowany/wylogowany. i teraz wykorzystuje swoje wróżbiarskie zdolności by sprawdzić plik logowanie.php na Twoim serwerze. może chociaż daj efekt tego $a, to chyba logiczne, bez powodu bym Ci nie kazał wstawiać tego w kod.
odsyłam do podstaw podstaw podstaw php bo komuś się nie chciało czytać takich rzeczy jak błędy parsera, operatory i wygląd składni a od razu się zabiera za bazy danych
Cytat
brakuje na końcu średnika w linii 22
gratuluje rozumu, taki banał mu podpowiedzieć.. wróć dać mu gotowca bo nie chce mu się sprawdzić w jakiej linii ma błąd
i czemu usunąłeś posta
Cytat
Taki kod mam tylko i wyłącznie w pliku logowanie.php - który odpowiada właśnie za wylogowywanie i zalogowanie.
W profile.php nie mam takiej linijki i nie wiem dlaczego tak się dzieje.
WebspyPL
24.12.2011, 20:45:08
Ponieważ chcę się zastosować do rady ciekawskiego.
Mam problem z plikiem
ustawnienia.php stworzyłem tabelkę o nazwie
profil, a w niej kolumny.

Tak wygląda mój plik
ustawienia.php<?php
?>
<?php include('header.php'); ?>
<div class="content">
<form action="?strona=profil" method="post">
<input type="hidden" name="tryb" value="dodaj" />
<table>
<tr>
<td>Imię:</td>
<td><input type="text" name="imie" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Nazwisko:</td>
<td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Miejscowość:</td>
<td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
</tr>
<tr>
<td>Płeć:</td>
<td> <select name="plec">
<option>Mężczyzna</option>
<option>Kobieta</option>
</select></td>
</tr>
<tr>
<td colspan="2" align="right">
<div class="buttons">
<button type="submit">Zapisz</button>
</div></td>
</tr>
</table>
</form>
</div>
<?php include('stopka.php'); ?>
Po kliknięciu na przycisk zapisz powinno utworzyć w bazie danych kolumnę z informacjami takimi jakie podamy wyżej.
Co robię nie tak?
ciekawskiii
24.12.2011, 20:53:47
Jaja sobie robisz?
Zmykaj po podstawy do google.
Ta tabela w bazie danych jest zła.
Samo do bazy sie nie zapisze bo Ty tak chcesz.
tyle w tym temacie. Pomoglem Ci troche ale teraz przesadzasz. Nikt nie bedzie Ci wszystkiego pisał. Naucz sie podstaw a pozniej wroc
WebspyPL
24.12.2011, 20:56:40
Niby dlaczego jest zła? Nie piszę, abyś mi podał gotowe rozwiązanie tylko naprowadził ...
Barcelona
24.12.2011, 21:41:06
Ale Ty nie wiesz nawet na jakiej zasadzie współpracuje PHP z MySQL'em. A garniesz się na tworzenie strony opartej na tej technice.
Polecam tą stronę na początek
Kurs PHP
WebspyPL
24.12.2011, 23:32:21
Barcelona, posłuchałem rady.
Po wejściu na swoją stronę -
www.AdresStrony.pl/ustawienia.phpMam coś takiego:

A, tutaj pliczek ustawienia.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
include('inc/db.php');
$imie = mysql_real_escape_string(trim($_POST["imie"]));
$nazwisko = mysql_real_escape_string(trim($_POST["nazwisko"]));
$miejscowosc = mysql_real_escape_string(trim($_POST["miejscowosc"]));
$plec = mysql_real_escape_string(trim($_POST["plec"]));
if ($_POST['dodaj']) {
$wynik = mysql_query("INSERT INTO profil VALUES('$imie', '$nazwisko', '$miejscowosc', '$plec')");
if ($wynik) {
echo "<p>Twojego dane zostały zmienione.</p>";
}
} else $tryb="";
}
<form action="?strona=profil" method="post">
<input type="hidden" name="tryb" value="ustaw" />
<table>
<tr>
<td>Imię:</td>
<td><input type="text" name="imie" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Nazwisko:</td>
<td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Miejscowość:</td>
<td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
</tr>
<tr>
<td>Płeć:</td>
<td> <select name="plec">
<option>Mężczyzna</option>
<option>Kobieta</option>
</select></td>
</tr>
<tr>
<td colspan="2" align="right">
<div class="buttons">
<input type="submit" name="ustaw" value="Zapisz">
</div></td>
</tr>
</table>
</form>
</div>
<?php include('stopka.php'); ?>
gorden
24.12.2011, 23:36:36
hahahahahahahahahaha, powiedz mi, Ty jesteś jakimś trollem internetowym, zgadza się? Błagam, pierwsza lekcja każdego kursu php... nie bierz się za programowanie! pozdrawiam i wesołych świąt!
WebspyPL
25.12.2011, 10:27:24
Już sobie z tym sam poradziłem, ale teraz mam problem z wysłaniem wpisanych informacji do bazy.
ustawienia.php
<?php
?>
<?php include('header.php'); ?>
<div class="content">
<?php
include('inc/db.php');
if ($_POST['ustaw']) {
$wynik = mysql_query("INSERT INTO profil VALUES('$imie', '$nazwisko', '$miejscowosc', '$plec')"); if ($wynik) {
echo "<p>Twojego dane zostały zmienione.</p>"; }
} else $tryb="";
?>
<form action="?strona=profil" method="post">
<input type="hidden" name="tryb" value="ustaw" />
<table>
<tr>
<td>Imię:</td>
<td><input type="text" name="imie" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Nazwisko:</td>
<td><input type="text" name="nazwisko" maxlength="50" value="" /></td>
</tr>
<tr>
<td>Miejscowość:</td>
<td><input type="text" name="miejscowosc" value="" maxlength="50" /></td>
</tr>
<tr>
<td>Płeć:</td>
<td> <select name="plec">
<option>Mężczyzna</option>
<option>Kobieta</option>
</select></td>
</tr>
<tr>
<td colspan="2" align="right">
<div class="buttons">
<input type="submit" name="ustaw" value="Zapisz">
</div></td>
</tr>
</table>
</form>
</div>
<?php include('stopka.php'); ?>
Co zrobiłem źle?
wookieb
25.12.2011, 11:36:26
Patrząc na historie twoich wypocin jednoznacznie stwierdzam, że nie znasz podstaw PHP. Poznaj je a potem wróć.
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.