Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [PHP/MySQL] Problem z rejestracją
guzior
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Napisałem sobie skrypt PHP rejestracji z połączeniem do bazy danych MySQL i z jakiegoś powodu podczas logowania pisze że dane wpisane do formularza podczas logowania się nie zgadzają.

Bardzo proszę o pomoc.

Oto skrypty:

Skrypt logowania:

  1. <? #logowanie.php
  2. if (isset($_POST['submit'])) {
  3.    require_once ('includes/mysql_connect.php');
  4.    
  5.    //Funkcja wstawiająca przed znakami specjalnymi znak odwrotengo ukośnika.
  6.    function escape_data ($data) {
  7.        global $dbc;
  8.        if (ini_get('magic_quotes_gpc')) {
  9.            $data = stripslashes($data);
  10.        }
  11.        return mysql_real_escape_string($data, $dbc);
  12.    }
  13.    //Koniec funkcjii.
  14.  
  15. $message = NULL;
  16.  
  17. //Sprawdź nazwę użytkownika
  18. if (empty($_POST['username'])) {
  19.    $u = FALSE;
  20.    $message .= '<p>Zapomniałeś wprowadzić nazwę użytkownika!</p>';
  21. } else {
  22.    $u = escape_data($_POST['username']);
  23. }
  24.  
  25. //Sprawdź hasło
  26. if (empty($_POST['password'])) {
  27.    $p = FALSE;
  28.    $message .= '<p>Zapomniałeś wprowadzić hasło!</p>';
  29. } else {
  30.    $p = escape_data($_POST['password']);
  31. }
  32.  
  33. if ($u && $p) {
  34.    //Odczytaj user_id i first_name dla podanej kombinacji nazwy użytkownika i hasla.
  35.    $query = "SELECT user_id, first_name FROM users WHERE username='$u' AND password=PASSWORD('$p')";
  36.    $result = @mysql_query ($query);
  37.    $row = mysql_fetch_array ($result, MYSQL_NUM);
  38.    
  39.    if ($row) { //Z bazy danych wyciągnięto właściwy rekord
  40.        setcookie ('first_name', $row[1], time()+3600, '/', '', 0);
  41.        setcookie ('user_id', $row[0], time()+3600, '/', '', 0);
  42.        header ("Location: http://". $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']). "/zalogowany.php");
  43.    exit();
  44.    
  45.    } else {
  46.        $message = '<p>Wprowadzone przez Ciebie nazwa użytkownika i hasło nie zgadzają się z danymi w bazie.</p>';
  47.    }
  48.    
  49.    mysql_close();
  50.    
  51. } else {
  52.    $message .= '<p>Spróbuj jeszcze raz</p>';
  53. }
  54.  
  55. } //Koniec głównego formularza warunkowego Submit.
  56.  
  57. //Tytuł strony i nagłowek
  58. $page_title = 'Logowanie';
  59. include ('szablony/naglowek.inc');
  60.  
  61. //Jeżeli jest jakiś komunikat o błędzie, wyświetl go na stronioe.
  62. if (isset($message)) {
  63.    echo '<font color="red">'. $message .'</font>';
  64. }
  65. ?>
  66. <!-- Początek formularza -->
  67. <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
  68. <fieldset><legend>Wprowadź wymagane informacje:</legend>
  69.  
  70. <p><b>Nazwa użytkownika</b> <input type="text" name="username" size="10" maxlength="20" value="<? if (isset($_POST['username'])) echo $_POST['username']; ?>" /></p>
  71. <p><b>Hasło:</b> <input type="password" name="password" size="20" maxlength="20" /></p>
  72.  
  73. </fieldset>
  74. <div align="center"><input type="submit" name="submit" value="Zaloguj się" /></div>
  75. </form>
  76. <!-- Koniec formularza -->
  77. <?
  78. include('szablony/stopka.inc');
  79. ?>


Skrypt rejestracji:

  1. <? #rejestracja.php
  2.  
  3. //Tytuł strony i nagłówek
  4. $page_title = 'Zarejestruj się!';
  5. include ('szablony/naglowek.inc');
  6.  
  7. if (isset($_POST['submit'])) { //Obsluga formularza
  8.  
  9. require_once('includes/mysql_connect.php'); //Połącz z bazą danych
  10.  
  11. //funkcja wstawiająca przed znakami specjalnymi znak odwrotengo ukośnika.
  12. function escape_data ($data) {
  13.    global $dbc; //Wymaga połączenia
  14.    if (ini_get('magic_quotes_gpc'))
  15.    {
  16.        $data = stripslashes($data);
  17.    }
  18.    return mysql_real_escape_string($data, $dbc);
  19. }
  20. //koniec funkcji
  21.  
  22.    $message = NULL; //nowa pusta zmienna
  23.    
  24.  //sprawdź imie
  25.  if (empty($_POST['first_name'])) {
  26.      $fn = FALSE;
  27.      $message .= '<p>Zapomniałeś podać swoje imię!</p>';
  28.  } else {
  29.      $fn = escape_data($_POST['first_name']);
  30.  }
  31.  
  32.  //sprawdź nazwisko
  33.  if (empty($_POST['last_name'])) {
  34.      $ln = FALSE;
  35.      $message .= '<p>Zapomniałeś podać swoje nazwisko!</p>';
  36.  } else {
  37.      $ln = escape_data($_POST['last_name']);
  38.  }
  39.  
  40.  //sprawdź adres email
  41.  if (empty($_POST['email'])) {
  42.     $e = FALSE;
  43.     $message .= '<p>Zapomnialeś podać swój adres e-mail!</p>';
  44.  } else {
  45.     $e = escape_data($_POST['email']);
  46.  }    
  47.  
  48.  //sprawdź nazwę użytkownika  
  49.  if (empty($_POST['username'])) {
  50.     $u = FALSE;
  51.     $message .= '<p>Zapomniałeś wprowadzić nazwę użytkownika</p>';
  52.  } else {
  53.     $u = escape_data($_POST['username']);
  54.  }
  55.  
  56.  //sprawdź czy użytkownik wprowadził hasło poprawnie w oba pola
  57. if (empty($_POST['password1'])) {
  58.    $p = FALSE;
  59.    $message .= '<p>Zapomniałeś wprowadzić hasło</p>';
  60. } else {
  61.    if ($_POST['password1'] == $_POST['password2']) {
  62.        $p = escape_data($_POST['password1']);
  63.        } else {
  64.        $p = FALSE;
  65.        $message .= '<p>Za drugin razem wpisałeś inne hasło!</p>';
  66.        }
  67.  }
  68.  
  69. if ($fn && $ln && $e && $u && $p) { //Jeżeli wszystko jest OK
  70.  
  71.  //Zarejestruj użytkownika w bazie danych
  72.    
  73.    $query = "SELECT user_id FROM users WHERE username='$u'";
  74.    $result = @mysql_query ($query);
  75.    if (mysql_num_rows($result) == 0) {
  76.  //Utwórz zapytanie
  77.    $query = "INSERT INTO users (username, first_name, last_name, email, password, registration_date) VALUES ('$u', '$fn', '$ln', '$e', PASSWORD('$p'), NOW() )";
  78.    $result = @mysql_query ($query); //Wykonaj zapytanie
  79.  if ($result) { //Jeżeli zostało wykonane
  80.    
  81.    //Wyślij maila jeśli trzeba
  82.     echo '<p><b>Zostałeś zarejestrowany!</b></p>';
  83.     include ('szablony/stopka.inc');
  84.     exit();
  85.    
  86.  } else { //Jeżeli nie zostało wykonane
  87.    $message .= '<p>Nie zostałeś zarejstrowany z powodu awarii naszego systemu.<br>Przepraszamy za kłopot</p><p>'. mysql_error() .'</p>';
  88.  }
  89.    } else {
  90.        $message = '<p>Ktoś wybrał już sobie tę nazwę użytkownika.</p>';
  91.    }
  92.  mysql_close(); //Zamknij połączenie z bazą danych
  93.  
  94.  } else {
  95.    $message .= '<p>Spróbuj jeszcze raz</p>';
  96.  }
  97. } //Koniec głównego wyrażenia warunkowego Submit
  98.  
  99. //Jeżeli jest jakiś komunikat o błędzie, wyświetl go na stronie
  100. if (isset($message)) {
  101. echo '<font color="red">'. $message .'</font>';
  102. }
  103. ?>
  104.  
  105. <form action="<? echo $_SERVER['PHP_SELF']; ?>" method="post">
  106. <fieldset><legend>Wprowadź do poniższego formularza podane informacje:</legend>
  107. <p><b>Imię:</b> <input type="text" name="first_name" size="15" maxlenght="15" value="<? if (isset($_POST['first_name'])) echo $_POST['first_name']; ?>" /></p>
  108. <p><b>Nazwisko:</b> <input type="text" name="last_name" size="20" maxlenght="40" value"<? if (isset($_POST['last_name'])) echo $_POST['last_name']; ?>" /></p>
  109. <p><b>Adres E-mail:</b> <input type="text" name="email" size="40" maxlenght="60" value"<? if (isset($_POST['email'])) echo $_POST['email']; ?>" /></p>
  110. <p><b>Nazwa użytkownika:</b> <input type="text" name="username" size="20" maxlenght="40" value"<? if (isset($_POST['username'])) echo $_POST['username']; ?>" /></p>
  111. <p><b>Hasło:</b> <input type="password" name="password1" size="20" maxlenght="40" /></p>
  112. <p><b>Potwierdź hasło:</b> <input type="password" name="password2" size="20" maxlenght="40" /></p>
  113. </fieldset>
  114. <div align="center"><input type="submit" name="submit" value="Zarejestruj" /></div>
  115. </form>
  116. <?
  117. include('szablony/stopka.inc');
  118. ?>


Ten post edytował guzior 21.02.2009, 13:57:33
Go to the top of the page
+Quote Post
dziurson
post
Post #2





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


usuń na chwile @ z linii zapytania do bazy i zobacz czy jest poprawne. Jeśli nic nie będzie to w warunku zamiast $row spróbuj mysql_num_rows($result) > 0
Go to the top of the page
+Quote Post
guzior
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(dziurson @ 20.02.2009, 22:32:09 ) *
usuń na chwile @ z linii zapytania do bazy i zobacz czy jest poprawne. Jeśli nic nie będzie to w warunku zamiast $row spróbuj mysql_num_rows($result) > 0


dla którego pliku?

można to sprawdzić na tej www: http://guzior.jor.pl/www1/

Ten post edytował guzior 21.02.2009, 13:56:58
Go to the top of the page
+Quote Post
dziurson
post
Post #4





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


chodziło mi o plik logowania
Go to the top of the page
+Quote Post
guzior
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


sprawdzałem nie działa :/ ,może to coś z kodowaniem bazy ?
Go to the top of the page
+Quote Post
dziurson
post
Post #6





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


no też możliwe. a jakie masz w bazie i jakie na stronie?? jeśli się różnią to użyj mysql_query("SET NAMES nazwa"); gdzie 'nazwa' to kodowanie bazy. np. latin1
Go to the top of the page
+Quote Post
guzior
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


ustawione kodowanie jest takie latin2_general_ci a na stronie utf-8

Ten post edytował guzior 27.02.2009, 13:44:09
Go to the top of the page
+Quote Post
dziurson
post
Post #8





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


No to po wyborze bazy danych ale przed zapytaniami dajesz to
mysql_query("SET NAMES latin2");
Go to the top of the page
+Quote Post
guzior
post
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(dziurson @ 27.02.2009, 19:05:19 ) *
No to po wyborze bazy danych ale przed zapytaniami dajesz to
mysql_query("SET NAMES latin2");


dane połączenia do bazy danych i wybór jest w osobnym pliku mysql_connect.php
Go to the top of the page
+Quote Post
dziurson
post
Post #10





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


no to wrzuć to do tego osobnego pliku. Ale coś nie sądzę by to rozwiązało problem. Trzeba analizować skrypt linijka po linijce. Dodawać w różnych miejscach wypisywanie i sprawdzać czy wszystko jest tak jak powinno.
Go to the top of the page
+Quote Post
guzior
post
Post #11





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(dziurson @ 28.02.2009, 10:05:37 ) *
no to wrzuć to do tego osobnego pliku. Ale coś nie sądzę by to rozwiązało problem. Trzeba analizować skrypt linijka po linijce. Dodawać w różnych miejscach wypisywanie i sprawdzać czy wszystko jest tak jak powinno.

nie rozwiazało problemu :/
mogę Ci podać adres www gdzie można to przetestować
Go to the top of the page
+Quote Post
dziurson
post
Post #12





Grupa: Zarejestrowani
Postów: 145
Pomógł: 16
Dołączył: 19.07.2007
Skąd: Elbląg

Ostrzeżenie: (0%)
-----


Ale mi nic nie da że zobaczę to z zewnątrz. Musisz sobie sprawdzić wszystkie elementy. Czy do bazy dobrze zapisuje, robić co kawałek test zmiennych czy nie zmieniły się, sprawdzić zapytanie przez or die(). Usuwanie błędów to żmudna praca
Go to the top of the page
+Quote Post
guzior
post
Post #13





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


rozwiązałem ten problem pisząc od nowa i łatwiejszy skrypt

mam jeszcze małe pytanie otóż mam w pliku index.php dodana pętle switch i podaje linki jako index.php?go=nr ale chciałbym dołączyć do tego stronicowanie i nie wiem jak to zrobić pomógłby ktoś?
Go to the top of the page
+Quote Post
erix
post
Post #14





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Poszukaj na forum; stronicowanie już było n-razy omawiane.
Go to the top of the page
+Quote Post
guzior
post
Post #15





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(erix @ 21.03.2009, 19:16:56 ) *
Poszukaj na forum; stronicowanie już było n-razy omawiane.


tak wiem tylko nie wiem jak to połączyć z moją pętlą switch
Go to the top of the page
+Quote Post
erix
post
Post #16





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. switch" title="Zobacz w manualu PHP" target="_manual, to nie pętla
  2. łączysz z zapytaniem do bazy; widać, nie szukałeś albo zrobiłeś to bardzo powierzchownie
Go to the top of the page
+Quote Post
guzior
post
Post #17





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


zrobiłem ale teraz mam problem ,chciałem dodać stronicowanie do mojej księgi wpisów, ale po kliknięciu w link przejścia na następna strona przechodzi na główną stronę, pomoże ktoś?
Go to the top of the page
+Quote Post
Spawnm
post
Post #18





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




tak , jak tylko pokażesz co zrobiłeś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
guzior
post
Post #19





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(Spawnm @ 23.03.2009, 16:29:15 ) *
tak , jak tylko pokażesz co zrobiłeś (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


użyłem tego skryptu
a to jest www gdzie mam problem klik

kod mojej księgi:
  1. <?
  2. include('include/connect.php');
  3. ?>
  4.  
  5. <?
  6. echo '<div id="news" class="boxed"><h2 class="title">Ilość wpisów</h2>';
  7. list($ile)=mysql_fetch_row(mysql_db_query("SELECT * FROM ksiega"));
  8. echo("<center>Wpisów: $ile<br></center>");
  9. echo '</div>';
  10. ?>
  11.  
  12. <div id="news" class="boxed"><h2 class="title">Księga wpisów</h2>
  13. <form method="post">
  14.  <table align="center" border="0" cellpadding="0" cellspacing="0">
  15.    <tr>
  16.        <td>
  17.            Nazwa użytkownika:
  18.        </td>
  19.        <td style="padding-left: 5px">
  20.            <input type="text" name="autor" size="46">
  21.        </td>
  22.    </tr>
  23.    <tr>
  24.        <td>
  25.            Treść:
  26.        </td>
  27.        <td style="padding-left: 5px">
  28.            <textarea rows="2" name="tresc"  cols="35"></textarea>
  29.        </td>
  30.    </tr>
  31.  </table>
  32.  <table><tr><td style="padding-top: 5px; padding-bottom: 13px">
  33.        <input type="submit" value="Dodaj"><input type="reset" value="Reset">
  34.  </td></tr></table>
  35. </form>
  36. </div>
  37. <?
  38. // odbieramy dane z formularza
  39. $tytul = $_POST['autor'];
  40. $tresc = $_POST['tresc'];
  41.  
  42.  
  43. if($tytul && $tresc) {
  44.        
  45.    $ins = @mysql_query("INSERT INTO ksiega SET autor='$autor', tresc='$tresc'");
  46.    
  47.    if($ins) echo "Wpis został dodany.";
  48.    else echo "Błąd. nie udało się dodac nowego wpisu";
  49.    
  50.    mysql_close();
  51.    
  52. }  
  53. //wyswietlanie
  54.  
  55. define('ILOSC_WYNIKOW_NA_STRONIE', 5);
  56. /*
  57.  * połączenie z bazą, itp.
  58.  */
  59.  
  60. $SQL = "SELECT SQL_CALC_FOUND_ROWS *
  61.       FROM ksiega
  62.       ORDER BY date ASC
  63.       LIMIT ".mysql_escape_string((int)$_GET['porcja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  64. // pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['porcja']*ILOSC_NA_STRONIE
  65. $RES = mysql_query($SQL); // wykonujemy zapytanie
  66. while($AFR = mysql_fetch_assoc($RES)){
  67.   /*Wyświetlanie wyników, przykładowo:*/
  68. echo '<div id="news" class="boxed"><h2 class="title">Wpisy</h2>';
  69. echo '<table align="center" border="0" cellpadding="0" cellspacing="0" width="600" bordercolor="#ffffff">';
  70. echo '<tr>';
  71. echo '<td valign="middle">';
  72. echo '<table border="0" cellpadding="0" cellspacing="0">';
  73. echo '<tr>';
  74. echo '<td style="padding-left: 7px" valign="middle" align="left" width="260" height="20" bgcolor="#800000">';
  75. echo '<font color="white">';
  76. echo 'Dodał: '.$AFR['autor'] .'';
  77. echo '</font>';
  78. echo '</td>';
  79. echo '<td style="padding-right: 7px" valign="middle" align="right" width="360" height="20" bgcolor="#800000">';
  80. echo '<font color="white">';
  81. echo $AFR['date'];
  82. echo '</font>';
  83. echo '</tr>';
  84. echo '</table>';
  85. echo '</td>';
  86. echo '</tr>';
  87. echo '<tr>';
  88. echo '<td style="padding-top: 7px; padding-bottom: 7px; padding-left: 7px; padding-right: 7px" align="center">';
  89. echo $AFR['tresc'];
  90. echo '</td>';
  91. echo "</tr>";
  92. echo "</table>";
  93. echo "</div>";
  94. }
  95.  
  96. // w inny sposób pobieramy ilosc danych w bazie
  97. $SQL = "SELECT FOUND_ROWS() as Ilosc";
  98. $RES= mysql_query($SQL);
  99. list($iloscWpisow) = mysql_fetch_row($RES);
  100.  
  101. //Teraz wypadało by wyświetlić jakąś nawigację
  102. echo '<div id="news" align="center">';
  103. //jeśli nie jesteśmy na pierwszej stronie
  104.  
  105. if($_GET['porcja']>0){
  106.    //wyswietlamy link do poprzedniej strony
  107.   echo '<a href="?porcja='.($_GET['porcja']-1).'">Poprzednie</a> ';
  108. }
  109.  
  110. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  111.   echo '<a href="?porcja='.($i).'">[ '.($i+1).' ]</a> ';
  112. }
  113. //jeśli nie jesteśmy na ostatniej stronie
  114. if($_GET['porcja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
  115.  //wyświetlamy link do nastepnej strony
  116.   echo ' <a href="?porcja='.($_GET['porcja']+1).'">następne</a>';
  117. }
  118. echo '</div>';
  119.  
  120. ?>


Ten post edytował guzior 23.03.2009, 16:49:41
Go to the top of the page
+Quote Post
Spawnm
post
Post #20





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




gubisz zmienną get o nazwie go
daj ?go=21&porcja=1
Go to the top of the page
+Quote Post
guzior
post
Post #21





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(Spawnm @ 23.03.2009, 17:00:13 ) *
gubisz zmienną get o nazwie go
daj ?go=21&porcja=1


aa już mam wielkie dzięki (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Napisałem skrypt edycji news'a tylko mam problem bo poprzez pętle while edytuje mi wszystkie i nie wiem jak to podzielić żeby każdy news mógł być edytowany osobno.

  1. <?
  2. include('include/connect.php');
  3. ?>
  4. <?
  5. if (isset($_SESSION['zalogowany']) AND (substr($_SERVER['PHP_SELF'], -15) !='index.php?go=4"')) {
  6.  
  7. $zapytanie1 = "SELECT * FROM news";
  8. $wykonaj1 = @mysql_query($zapytanie1);
  9.    
  10. while($wiersz = mysql_fetch_array($wykonaj1))
  11. {
  12. ?>
  13. <div id="admin" class="boxed"><h2 class="title">Edycja news'a</h2>
  14. <form method="post">
  15.  <table border="0" cellpadding="0" cellspacing="0">
  16.     <tr>
  17.        <td>
  18.            ID:
  19.        </td>
  20.        <td style="padding-left: 5px">
  21.            <input type="text" name="data" disabled="disabled" value="<? echo $wiersz['id']; ?>" size="46">
  22.        </td>
  23.    </tr>
  24.    <tr>
  25.        <td>
  26.            Data:
  27.        </td>
  28.        <td style="padding-left: 5px">
  29.            <input type="text" name="data" disabled="disabled" value="<? echo $wiersz['data']; ?>" size="46">
  30.        </td>
  31.    </tr>
  32.    <tr>
  33.        <td>
  34.            Tytuł:
  35.        </td>
  36.        <td style="padding-left: 5px">
  37.            <input type="text" name="tytul" value="<? echo $wiersz['tytul'] ?>" size="46">
  38.        </td>
  39.    </tr>
  40.  
  41.    <tr>
  42.        <td>
  43.            Treść:
  44.        </td>
  45.        <td style="padding-left: 5px">
  46.            <textarea rows="2" name="tresc" cols="35"><? echo $wiersz['tresc']; ?></textarea>
  47.        </td>
  48.    </tr>
  49.  </table>
  50. <table><tr><td style="padding-top: 5px; padding-bottom: 13px"><input type="submit" name="a" value="Zmień"></td></tr></table>
  51. </form>
  52. </div>
  53. <?
  54. }
  55. ?>
  56. <?
  57. $tytul = $_POST['tytul'];
  58. $tresc = $_POST['tresc'];
  59.  
  60. if($tytul && $tresc) {
  61.  
  62.          $query = "UPDATE news SET tytul='$tytul', tresc='$tresc'";
  63.          $wynik = mysql_query ($query);
  64. if($query) echo "<div id=\"admin\">News został zmieniony.</div>";
  65.    else echo "<div id=\"admin\">Błąd nie udałoo się edytować news'a</div>";
  66.    }
  67.    
  68. mysql_close();    
  69.  
  70. } else {
  71.            echo "<div id=admin\" class=\"boxed\" align=\"center\"><h2 class=\"title\">Błąd</h2>Musisz być zalogowany aby obejrzeć stronę. <a href=\"index.php\">Strona Główna</a> lub <a href=\"index.php?go=3\">Zaloguj się</a>";
  72. }            
  73. ?>


pomoże ktoś?

Ten post edytował guzior 26.03.2009, 15:05:38
Go to the top of the page
+Quote Post
K4mil94
post
Post #22





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Jeśli w bazie masz uporządkowane newsy po id to edytuj przez $_GET. Jeśli ?id=1 to pytaj SELECT * FROM news WHERE id='$id' tylko ustaw $id = $_GET['id'], reszte dopisz sobie sam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
guzior
post
Post #23





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(K4mil94 @ 26.03.2009, 15:16:02 ) *
Jeśli w bazie masz uporządkowane newsy po id to edytuj przez $_GET. Jeśli ?id=1 to pytaj SELECT * FROM news WHERE id='$id' tylko ustaw $id = $_GET['id'], reszte dopisz sobie sam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


ok ale w którym miejscu to dopisać bo już się pogubiłem

Ten post edytował guzior 26.03.2009, 15:23:10
Go to the top of the page
+Quote Post
K4mil94
post
Post #24





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $id =$_GET['id'];
  3. if(isset($_GET['id'])) {
  4. $zapytanie "SELECT * FROM news WHERE id='$id';";
  5. $wynik = mysql_query($zapytanie);
  6.  
  7. $dane = mysql_fetch_array($wynik);
  8. //dalej wyswietlasz tam gdzie masz wyswietlic i zapytanie z uaktualnieniem przez update
  9. ?>
Go to the top of the page
+Quote Post
guzior
post
Post #25





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. $tytul = $_POST['tytul'];
  3. $tresc = $_POST['tresc'];
  4.  
  5. if($tytul && $tresc) {
  6.  
  7.          $query = "UPDATE news SET tytul='$tytul', tresc='$tresc'";
  8.          $wynik = mysql_query ($query);
  9. if($query) echo "<div id=\"admin\">News został zmieniony.</div>";
  10.    else echo "<div id=\"admin\">Błąd nie udałoo się edytować news'a</div>";
  11.    }
  12.    
  13. ?>


czyli to na koncu?
Go to the top of the page
+Quote Post
K4mil94
post
Post #26





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Na początku (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Od pierwszego zapytania. Dostosuj to pod swoje potrzeby (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Jeśli w adresie jest ustawiony GET to wyszukuje w bazie w niego podany id i wczytujesz w formularz potem już masz kod ok.
Go to the top of the page
+Quote Post
Spawnm
post
Post #27





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




  1. <?php
  2. $tytul = $_POST['tytul'];
  3. $tresc = $_POST['tresc'];
  4. $id=$_POST['id'];
  5.  
  6. if($tytul && $tresc) {
  7.  
  8.         $query = "UPDATE news SET tytul='$tytul', tresc='$tresc' WHERE id='$id'";
  9.         $wynik = mysql_query ($query);
  10. if($query) echo "<div id=\"admin\">News został zmieniony.</div>";
  11.   else echo "<div id=\"admin\">Błąd nie udałoo się edytować news'a</div>";
  12.   }
  13.  
  14. ?>

i dodaj w formie: <input type="hidden" name="id" value="id do edycji">
Go to the top of the page
+Quote Post
guzior
post
Post #28





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


chodzi mi głównie o to że jak mam więcej niż jednego news'a do edycji to przez pętle edytuje mi wszystkie
ajj teraz to już totalnie jestem w kropce :/
Go to the top of the page
+Quote Post
K4mil94
post
Post #29





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


No to tak jak ci pisze. Wybierasz newsa po id.
Go to the top of the page
+Quote Post
guzior
post
Post #30





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


  1. <?
  2. include('include/connect.php');
  3. ?>
  4. <?
  5.  
  6. function listuj()
  7. {
  8. $sql = "SELECT id,tytul FROM news";
  9. $res = mysql_query($sql);
  10. while ($afr = mysql_fetch_array($res)) {
  11. echo '<a href=?id='.$afr['id'].'>'.$afr['tytul'].'</a><br>';
  12.  }
  13. }
  14.  
  15. $id =$_GET['id'];
  16. if(isset($_GET['id'])) {
  17. $zapytanie "SELECT * FROM news WHERE id='$id';";
  18. $wynik = mysql_query($zapytanie);
  19.  
  20. $dane = mysql_fetch_array($wynik);
  21. //dalej wyswietlasz tam gdzie masz wyswietlic i zapytanie z uaktualnieniem przez update
  22. ?>
  23. <div id="admin" class="boxed"><h2 class="title">Edycja news'a</h2>
  24. <form method="post">
  25.  <table border="0" cellpadding="0" cellspacing="0">
  26.     <tr>
  27.        <td>
  28.            ID:
  29.        </td>
  30.        <td style="padding-left: 5px">
  31.            <input type="hidden" name="id" value="<?php echo $id; ?> ">
  32.        </td>
  33.    </tr>
  34.    <tr>
  35.        <td>
  36.            Tytuł:
  37.        </td>
  38.        <td style="padding-left: 5px">
  39.            <input type="text" name="tytul" value="<? echo $dane['tytul']; ?>" size="46">
  40.        </td>
  41.    </tr>
  42.  
  43.    <tr>
  44.        <td>
  45.            Treść:
  46.        </td>
  47.        <td style="padding-left: 5px">
  48.            <textarea rows="2" name="tresc" cols="35"><? echo $dane['tresc']; ?></textarea>
  49.        </td>
  50.    </tr>
  51.  </table>
  52. <table><tr><td style="padding-top: 5px; padding-bottom: 13px"><input type="submit" name="a" value="Zmień"></td></tr></table>
  53. </form>
  54. </div>
  55. <?
  56. } else { listuj(); }
  57.  
  58. $tytul = $_POST['tytul'];
  59. $tresc = $_POST['tresc'];
  60. $id = $_POST['id'];
  61.  
  62. if($id && $tytul && $tresc) {
  63.  
  64.        $query = "UPDATE news SET tytul='$tytul', tresc='$tresc' WHERE id='$id'";
  65.        $wynik = mysql_query ($query);
  66. if($wynik) echo "<div id=\"admin\">News został zmieniony.</div>";
  67.  else echo "<div id=\"admin\">Błąd nie udałoo się edytować news'a</div>";
  68.  }    
  69. ?>


osiągnąłem coś takiego, ale nie działa :/
Go to the top of the page
+Quote Post
K4mil94
post
Post #31





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Zobacz tak:
  1. <?php
  2. include("include/connect.php");
  3. $id = $_GET['id'];
  4. if(isset($_GET['id'])) {
  5.    $zapytanie = "SELECT * FROM news WHERE id='$id';";
  6.    $wynik = mysql_query($zapytanie);
  7.    $dane = mysql_fetch_array($wynik);
  8.    $nazwa = $dane['tytul'];
  9.    $tresc = $dane['tresc']
  10.    echo "<form method=post>Nazwa:<input type=text name=tytul value=$nazwa><br />
  11.    <textarea name=tresc>$tresc</textarea><br />
  12.    <button type=sumbit name=sumbit>Zaedytuj</button>";
  13.    else { echo "Nie mozna zaedytowac"; }
  14.    if(empty($_POST['tytul']) && empty($_POST['tresc'])) {
  15.        echo "Nie wypelniono pol";
  16.        }
  17.        else {
  18.        $tytul = $_POST['tytul'];
  19.        $trescedit = $_POST['tresc'];
  20.        $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  21.        echo "News zaedytowano";
  22.        }
  23.    }
  24.    ?>
Go to the top of the page
+Quote Post
guzior
post
Post #32





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(K4mil94 @ 26.03.2009, 18:29:28 ) *
Zobacz tak:
  1. <?php
  2. include("include/connect.php");
  3. $id = $_GET['id'];
  4. if(isset($_GET['id'])) {
  5.    $zapytanie = "SELECT * FROM news WHERE id='$id';";
  6.    $wynik = mysql_query($zapytanie);
  7.    $dane = mysql_fetch_array($wynik);
  8.    $nazwa = $dane['tytul'];
  9.    $tresc = $dane['tresc']
  10.    echo "<form method=post>Nazwa:<input type=text name=tytul value=$nazwa><br />
  11.    <textarea name=tresc>$tresc</textarea><br />
  12.    <button type=sumbit name=sumbit>Zaedytuj</button>";
  13.    else { echo "Nie mozna zaedytowac"; }
  14.    if(empty($_POST['tytul']) && empty($_POST['tresc'])) {
  15.        echo "Nie wypelniono pol";
  16.        }
  17.        else {
  18.        $tytul = $_POST['tytul'];
  19.        $trescedit = $_POST['tresc'];
  20.        $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  21.        echo "News zaedytowano";
  22.        }
  23.    }
  24.    ?>


z jakiegos powodu wyswietla mi pusta strone
chcialem dodac ze odnosnik do tej strony jest przez index.php?go=5
Go to the top of the page
+Quote Post
K4mil94
post
Post #33





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


nazwij to test.php i wejdz w test.php?id=1 i zobacz co będzie.
Go to the top of the page
+Quote Post
guzior
post
Post #34





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(K4mil94 @ 26.03.2009, 18:40:18 ) *
nazwij to test.php i wejdz w test.php?id=1 i zobacz co będzie.


nic sie niedzieje
Klik
Go to the top of the page
+Quote Post
artur_dziocha
post
Post #35





Grupa: Zarejestrowani
Postów: 320
Pomógł: 53
Dołączył: 18.09.2007
Skąd: Radom

Ostrzeżenie: (0%)
-----


chyba nie przeczytałeś tego posta
Temat: Najczestsze_bledy

wyświetlaj swoje zapytania
echo $zapytanie;
mysql_query($zapytanie) or die(mysql_error());
i wszystko bedzie jasne
Go to the top of the page
+Quote Post
K4mil94
post
Post #36





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Tutaj zaedytowałem i przetestowałem skrypt:
  1. <?php
  2. include("include/connect.php");
  3. $id = $_GET['id'];
  4. if(isset($_GET['id'])) {
  5.    $zapytanie = "SELECT * FROM news WHERE id='$id';";
  6.    $wynik = mysql_query($zapytanie);
  7.    $dane = mysql_fetch_array($wynik);
  8.    $nazwa = $dane['tytul'];
  9.    $tresc = $dane['tresc'];
  10.    echo "<form method=post>Nazwa:<input type=text name=tytul value=$nazwa><br /><textarea name=tresc>$tresc</textarea><br /><button type=sumbit name=sumbit>Zaedytuj</button></form>";
  11.    }
  12.    else {
  13.    echo "Nie mozna zaedytowac";
  14.    }
  15.    if(empty($_POST['tytul']) && empty($_POST['tresc'])) {
  16.        echo "Nie wypelniono pol";
  17.        }
  18.        else {
  19.        $tytul = $_POST['tytul'];
  20.        $trescedit = $_POST['tresc'];
  21.        $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  22.        echo "News zaedytowano";
  23.        }
  24.    
  25.    ?>
U mnie działa, jak chcesz to TU!
Go to the top of the page
+Quote Post
guzior
post
Post #37





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(artur_dziocha @ 26.03.2009, 18:45:59 ) *
chyba nie przeczytałeś tego posta
Temat: Najczestsze_bledy

wyświetlaj swoje zapytania
echo $zapytanie;
mysql_query($zapytanie) or die(mysql_error());
i wszystko bedzie jasne


zbytnio to nic nie zmienia
$res = mysql_query($sql) or die(mysql_error());
Go to the top of the page
+Quote Post
K4mil94
post
Post #38





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Przetestuj to: http://kamilstudios.xt.pl/skrypty/Pozdrowienia/test.php?id=1
Go to the top of the page
+Quote Post
guzior
post
Post #39





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Cytat(K4mil94 @ 26.03.2009, 19:06:29 ) *


spoko tylko jak to połączyć z moim jak mam index.php?go=nr_strony
Go to the top of the page
+Quote Post
K4mil94
post
Post #40





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


no jak masz ?go=1&id=3. Tu masz caly skrypt:
test.php
  1. <?php
  2. include("config.php");
  3. $id = $_GET['id'];
  4. if(isset($_GET['id'])) {
  5.    $zapytanie = "SELECT * FROM news WHERE id='$id';";
  6.    $wynik = mysql_query($zapytanie);
  7.    $dane = mysql_fetch_array($wynik);
  8.    $nazwa = $dane['tytul'];
  9.    $tresc = $dane['tresc'];
  10.    echo "<form method=post action=edycja.php?id=$id>Nazwa:<input type=text name=tytul value=$nazwa><br /><textarea name=tresc>$tresc</textarea><br /><button type=sumbit name=sumbit>Zaedytuj</button></form>";
  11.    }
  12.    else {
  13.    echo "Nie mozna zaedytowac";
  14.    }
  15.  
  16.    
  17.    ?>

edycja.php
  1. <?php
  2. include("config.php");
  3.        $id = $_GET['id'];
  4.        $tytul = $_POST['tytul'];
  5.        $trescedit = $_POST['tresc'];
  6.        $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  7.        echo "$zapytanie";
  8.        $wynik = mysql_query($zapytanie2);
  9.        echo "$wynik";
  10.        echo "News zaedytowano";
  11. ?>
Dostosuj do swoich potrzeb (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował K4mil94 26.03.2009, 19:12:09
Go to the top of the page
+Quote Post
guzior
post
Post #41





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


no tak ale ja tu widze dwa pliki test.php i edit.php
Go to the top of the page
+Quote Post
K4mil94
post
Post #42





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Patrz poprzedni post (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował K4mil94 26.03.2009, 19:13:05
Go to the top of the page
+Quote Post
guzior
post
Post #43





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


  1. <?php
  2. include("include/connect.php");
  3. $id = $_GET['id'];
  4. if(isset($_GET['id'])) {
  5.   $zapytanie = "SELECT * FROM news WHERE id='$id';";
  6.   $wynik = mysql_query($zapytanie);
  7.   $dane = mysql_fetch_array($wynik);
  8.   $nazwa = $dane['tytul'];
  9.   $tresc = $dane['tresc'];
  10.   echo "<form method=post>Nazwa:<input type=text name=tytul value=$nazwa><br /><textarea name=tresc>$tresc</textarea><br /><button type=sumbit name=sumbit>Zaedytuj</button></form>";
  11.   }
  12.   else {
  13.   echo "Nie mozna zaedytowac";
  14.   }
  15.   if(empty($_POST['tytul']) && empty($_POST['tresc'])) {
  16.       echo "Nie wypelniono pol";
  17.       }
  18.       else {
  19.       $tytul = $_POST['tytul'];
  20.       $trescedit = $_POST['tresc'];
  21.       $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  22.       echo "News zaedytowano";
  23.       }
  24.  
  25.   ?>

to zadziałało ale mam pytanie bo po wejsciu na test.php mam odrazu: Nie mozna zaedytowacNie wypelniono pol
Go to the top of the page
+Quote Post
Spawnm
post
Post #44





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




  1. <?php
  2. if($_POST['submit']){
  3.  if(empty($_POST['tytul']) && empty($_POST['tresc'])) {
  4.      echo "Nie wypelniono pol";
  5.      }
  6.      else {
  7.      $tytul = $_POST['tytul'];
  8.      $trescedit = $_POST['tresc'];
  9.      $zapytanie2 = "UPDATE `news` SET `tytul`='$tytul', `tresc`='$trescedit' WHERE id='$id';";
  10.      echo "News zaedytowano";
  11.      }
  12. }
  13. ?>

nie
<button type=sumbit name=sumbit>
a
<input type=sumbit name=sumbit value=wyślij>
Go to the top of the page
+Quote Post
K4mil94
post
Post #45





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Tak zawsze nie pokazywało mi napisu i button był taki mały. "Nie mozna zaedytowacNie wypelniono pol" Efek nieużywania action= w PHP ;P PS. Mozesz dac Pomógł ;d

Ten post edytował K4mil94 26.03.2009, 19:35:47
Go to the top of the page
+Quote Post
Spawnm
post
Post #46





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




Cytat(K4mil94 @ 26.03.2009, 19:34:07 ) *
Tak zawsze nie pokazywało mi napisu i button był taki mały.

ja zawsze daje tak : <input type='submit' name='submit' value='wyślij'>
i działa.
zresztą pokaż kurs gdzie inaczej pokazują niż tak jak u mnie ...
Go to the top of the page
+Quote Post
K4mil94
post
Post #47





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


Nie ma się o co kłucić ;P Obydwa sposoby działają (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
guzior
post
Post #48





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


wszystko ladnie tylko jak dam Klik to mam cos takiego a po jakiej kolwiek modyfikacji nic sie niedzieje.
znalazlem napisane kiedys skrypt inny tylko w tym skrypcie po kliknieciu edytuj nie wyswietla danych w formularzu.

Ten post edytował guzior 26.03.2009, 19:44:40
Go to the top of the page
+Quote Post
K4mil94
post
Post #49





Grupa: Zarejestrowani
Postów: 302
Pomógł: 18
Dołączył: 10.03.2008
Skąd: Dębno

Ostrzeżenie: (0%)
-----


to zrób z action=do edytuj.php
Go to the top of the page
+Quote Post
guzior
post
Post #50





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 13.01.2007

Ostrzeżenie: (0%)
-----


Zrobiłem sobie logowanie według tego Turiala

ale coś jest nie tak próbowałem coś poprawić i teraz przenosi na główną stronę i nie loguje ,a chciałem żeby według pola access wyświetlało się menu, uzyskałem coś takiego:

  1. <?
  2.    require_once('config.php'); // załaczamy plik config.php
  3.  
  4.    function usun($data){
  5.    
  6.        GLOBAL $dbc;
  7.      if (ini_get('magic_quotes_gpc')){
  8.        $data = stripslashes($data);
  9.      }
  10.       return mysql_real_escape_string($data, $dbc);
  11.    }
  12.    
  13. if (isset($_POST['submit'])){
  14.    
  15.    if (empty($_POST['login'])){
  16.        $message .= 'Nie podałeś loginu<br />';
  17.        $l = FALSE;
  18.    }else{
  19.        $l = usun($_POST['login']);
  20.    }
  21.        
  22.    if (empty($_POST['haslo'])){
  23.        $message .= 'Nie podałeś hasła<br />';
  24.        $h = FALSE;
  25.    }else{
  26.        $h = usun($_POST['haslo']);
  27.    }
  28.    
  29. if ( $l && $h ){
  30.    
  31.    $query = "SELECT username, access FROM user WHERE username='$l' AND haslo=password('$h')";
  32.    $result = mysql_query($query);
  33.        $row = mysql_fetch_array ($result, MYSQL_ASSOC);
  34.    
  35.    if($row){
  36.    session_start();
  37.        $_SESSION['username'] = $row['username'];
  38.        $_SESSION['access'] = $row['access'];
  39.        header ("Location: index.php?go=25");
  40.    }else{
  41.        $message .= 'Błędne hasło lub login<br />';
  42.    }
  43. }else{
  44.    $message .= '<font color="red">Spróbuj jeszcze raz</font>';
  45. }
  46. }
  47. ?>
  48. <div id="logowanie" class="boxed"><h2 class="title">Logowanie</h2>
  49. <div align="center">
  50. <form method="post" action="<? echo $_SERVER['PHP_SELF']; ?>">
  51.    <table align="center" border="0">
  52.        <tr>
  53.            <td align="right" class="uni_01">Login:</td>
  54.            <td><input type="text" name="login" size="30"></td>
  55.        </tr>
  56.        <tr>
  57.            <td align="right" class="uni_01">hasło:</td>
  58.            <td><input type="password" name="haslo" size="30"></td>
  59.        </tr>
  60.        <tr>
  61.            <td align="right" class="uni_01"> </td>
  62.            <td>
  63.        <p align="center"><input style="font-weight: bold;" type="submit" name="submit" value="loguj">
  64.        </td></tr>
  65.    </table>
  66. </form>
  67. </div>
  68. </div>
  69. <div id="logowanie" class="boxed">
  70. <div align="center">
  71. <? if(isset($message)){
  72.    echo $message;
  73.   }
  74. ?>
  75. </div>
  76. </div>


Oczywiście rejestracja według tutriala pod to logowanie działa.
Pomoże ktoś? (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował guzior 14.04.2009, 19:24:44
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.09.2025 - 04:15