Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Problem z kodem do edytowania bazy mysql
Forum PHP.pl > Forum > Przedszkole
Enarek
Cześć!
Jestem nowy w tych klockach i dopiero co się uczę, próbuję zrobić portal na którym będzie możliwość zarejestrowania się, logowanie oraz edytowania swoich danych konta. Logowanie i rejestracja jest, tylko problem sprawia mi edytowanie danych. Skorzystałem z skryptu podanego na tej stronie albo coś mi się nie zgadza, oto mój kod. Z tego co widzę to strona działa, lecz po wypełnieniu formularza nic w bazie się nie zmienia. Jak możecie nakierujcie mnie co jest źle.

Kod
<?php
$add_site = true;
session_start();
/**
* Formularz oraz skrypt logowania
* @author Sobak
* @package User System
*/

require 'header.php'; // Dołącz początkowy kod HTML
require 'config.php'; // Dołącz plik konfiguracyjny i połączenie z bazą
$id=$_GET['id'];
$query=" SELECT * FROM users WHERE id='$id'";
$result=mysql_query($query);
$num=mysql_num_rows($result);


$i=0;
while ($i < $num) {
$imie=mysql_result($result,$i,"imie");
$nazwisko=mysql_result($result,$i,"nazwisko");
$email=mysql_result($result,$i,"email");
$miasto=mysql_result($result,$i,"miasto");
++$i;}

$ud_id=$_POST['ud_id'];
$ud_imie=$_POST['ud_imie'];
$ud_nazwisko=$_POST['ud_nazwisko'];
$ud_email=$_POST['ud_email'];
$ud_miasto=$_POST['ud_miasto'];
$ud_fax=$_POST['ud_fax'];
$ud_email=$_POST['ud_email'];
$ud_web=$_POST['ud_web'];


        $query="UPDATE 'users' SET imie='$ud_imie', nazwisko='ud_nazwisko', email='ud_email', miasto='ud_miasto' WHERE id = '$ud_id'";
        mysql_query($query);
        mysql_close();

?>


<form action="test.php" method="post">
<input type="hidden" name="ud_id" value="<?php echo $id; ?>">
Pierwsze imię: <input type="text" name="ud_imie" value="<?php echo $imie; ?>"><br>
Nazwisko: <input type="text" name="ud_nazwisko" value="<?php echo $nazwisko; ?>"><br>
Adres E-mail: <input type="text" name="ud_email" value="<?php echo $email; ?>"><br>
MIasto: <input type="text" name="ud_miasto" value="<?php echo $miasto; ?>"><br>
<input type="Submit" value="Aktualizuj">
</form>
ilidir
po pierwsze to zmien kod obslugujacy odbieranie danych bo z tym co masz hakerzy szybko ci baze zfiltruja. Po drugie sprobuj zapytanie:
  1. $query="UPDATE users SET imie='$ud_imie' nazwisko='ud_nazwisko' email='ud_email' miasto='ud_miasto' WHERE id = '$ud_id'";

zastapic
  1. $query="UPDATE `users` SET imie='$ud_imie' nazwisko='ud_nazwisko' email='ud_email' miasto='ud_miasto' WHERE id = '$ud_id'";


niesprawdzalem czy niema literowek to juz sam sprawdz
Turson
Brakuje przecinków wymieniając SET
SET a=b, b=c, c=d itd.
Enarek
Warning: mysql_query() [function.mysql-query]: Access denied for user 'UNKNOWN_USER'@'localhost' (using password: NO) in /x/test/3/test.php on line 37

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /x/test/3/test.php on line 37

:/
ilidir
kolego dlaczego po tym kodzie:

$query=" SELECT * FROM users WHERE id='$id'";
$result=mysql_query($query);
$num=mysql_num_rows($result);

zamykasz połaczenie do bazy danych questionmark.gifquestionmark.gifquestionmark.gif
Enarek
A fakt, ale to przypadek z kopiowanego index.php. Ale wracając do tematu i tak nie zapisuje mi danych do bazy :/
Turson
Skąd masz $id questionmark.gif
ilidir
dodaj plik config.php
Enarek
Cytat(Turson @ 21.11.2014, 13:29:16 ) *
Skąd masz $id questionmark.gif

<a href="test.php?quote_id='.$user['id'].'">Edit</a> - To mam umieszczone na stronie podglądu profilu
Zaktualizowałem już kod w pierwszym wpisie i dodałem wcześniej $id=$_GET['id'];



Cytat(ilidir @ 21.11.2014, 13:29:22 ) *
dodaj plik config.php

Kod
<?php
/**
* Konfiguracja danych do bazy i nawiązywanie połączenia
* @author Sobak
* @package User System
*/
                          (   \/    Tu mam oczywiście podane prawidłowe nade )
$cfg['db_server'] = '...'; // Serwer bazy danych
$cfg['db_user'] = '...'; // Nazwa użytkownika
$cfg['db_pass'] = '...'; // Hasło
$cfg['db_name'] = '...'; // Nazwa bazy danych


// POŁĄCZ Z BAZĄ DANYCH
$conn = @mysql_connect ($cfg['db_server'], $cfg['db_user'], $cfg['db_pass']);
$select = @mysql_select_db ($cfg['db_name'], $conn);

if (!$conn) {
    die ('<p class="error">Nie udało się połączyć z bazą danych.</p>');
}

if (!$select) {
    die ('<p class="error">Nie udało się wybrać bazy danych.</p>');
}
      
?>
Turson
Zastosuj się do Temat: Jak poprawnie zadac pytanie
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.