[php][mysql] Problem z edycją danych

0

Witam,
Mam problem z następującą rzeczą. Otóż stworzyłem formularz, który zapisuje dane do bazy (on jest ok), drugi formularz wyciaga nam dane z bazy i ma możliwość edycji tych własnie danych, jednakże jeśli coś zmieniam wychodzi mi, że dane zostały poprawnie zapisane ale w bazie mam same puste pola. Bardzo bym prosił o pomoc.

FORMULARZ EDYCYJNY (oczywiście połączenie z bazą danych jest)

<form method="post" action="zapisz.php">
       <table>
  <tr> 
    <td bgcolor="#FFCCFF">Imię</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=imie value=<?=$line["imie"]?>></td>
  </tr> 
  <tr> 
    <td bgcolor="#FFCCFF">Nazwisko</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=nazwisko value=<?=$line["nazwisko"]?>></b></td>
  </tr> 

  <tr> 
    <td bgcolor="#FFCCFF">Miejscowość</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=miejscowosc value=<?=$line["miejscowosc"]?>>
  </tr> 
  <tr> 
    <td bgcolor="#FFCCFF">E-mail</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=email value=<?=$line["email"]?>></td>
  </tr> 
  <tr> 
    <td bgcolor="#FFCCFF">Tel. służbowy</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_praca value=<?=$line["tel_praca"]?>></td>
  </tr> 
  <tr> 
    <td bgcolor="#FFCCFF">Tel. prywatny</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_priv value=<?=$line["tel_priv"]?>></td>
  </tr>
  
  <tr> 
           <INPUT type=hidden name=uid value=<?= $_GET['id'] ?>>
    <td><INPUT type=button name=uzytkownicy value=Użytkownicy onClick="location.href='modyfikacja.php'"></td>
        <td><INPUT type=button name=usun value=Usuń onClick="location.href='usun.php?id=<?=$_GET['id']?>'">
    <td><a href=zapisz.php?id=<?=$_GET['id']?>>Aktualizuj</a>&nbsp;</td>
  </tr> 
  </table> 
</form>

PLIK ZAPISZ.PHP (odpowiedzialny za zapisanie wprowadzonych zmian do bazy)

<?


include "config.inc.php";

$conn = mysql_connect($host, $user, $password)
              or die ("Nie udało się połączyć z bazą danych!");
mysql_selectdb($dbName)
              or die ("Nie udało się wybrać bazy!");

$query = UPDATE dane SET imie='$_POST['imie']', nazwisko='$_POST['nazwisko']', miejscowosc='$_POST['miejscowosc']', email='$_POST['email']', tel_praca='$_POST['tel_praca']', tel_priv='$_POST['tel_priv']' WHERE id=" . $_GET['id'];
$result = mysql_query($query)
              or die ("Modyfikacja nieudana!");
echo "<h2>Dane zostały zmodyfikowane i zapisane poprawnie.</h2>";
0

jak dajesz w onclick, lub przez linka przechodzisz na inna strone to dane w POST nie sa wysylane.

Spróbuj w formularzu w action="zapisz.php?id=<?=$_GET['id']?>"
i zamiast
<a href=zapisz.php?id=<?=$_GET['id']?>>Aktualizuj</a>
Daj
<a href="javascript:submit();">Aktualizuj</a>

Powinno pomóc

0
barkroli napisał(a)

jak dajesz w onclick, lub przez linka przechodzisz na inna strone to dane w POST nie sa wysylane.

Spróbuj w formularzu w action="zapisz.php?id=<?=$_GET['id']?>"
i zamiast
<a href=zapisz.php?id=<?=$_GET['id']?>>Aktualizuj</a>
Daj
<a href="javascript:submit();">Aktualizuj</a>

Powinno pomóc

nie śmiga :(

0
<form method="post" action="zapisz.php?id=<?=$_GET[id];?>">
       <table>
  <tr>
    <td bgcolor="#FFCCFF">Imię</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=imie value=<?=$line["imie"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Nazwisko</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=nazwisko value=<?=$line["nazwisko"]?>></b></td>
  </tr>

  <tr>
    <td bgcolor="#FFCCFF">Miejscowość</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=miejscowosc value=<?=$line["miejscowosc"]?>>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">E-mail</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=email value=<?=$line["email"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Tel. służbowy</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_praca value=<?=$line["tel_praca"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Tel. prywatny</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_priv value=<?=$line["tel_priv"]?>></td>
  </tr>

  <tr>
           <INPUT type=hidden name=uid value=<?= $_GET['id'] ?>>
    <td><INPUT type=button name=uzytkownicy value=Użytkownicy onClick="location.href='modyfikacja.php'"></td>
        <td><INPUT type=button name=usun value=Usuń onClick="location.href='usun.php?id=<?=$_GET['id']?>'">
    <td><a href="#" onclick="submit();">Aktualizuj</a>&nbsp;</td>
  </tr>
  </table>
</form>
0

Kurde musi chodzic zrobilem sobie baze danych

CREATE TABLE `dane` (
  `id` int(11) NOT NULL auto_increment,
  `imie` varchar(111) NOT NULL,
  `nazwisko` varchar(111) NOT NULL,
  `miejscowosc` varchar(111) NOT NULL,
  `email` varchar(111) NOT NULL,
  `tel_praca` varchar(111) NOT NULL,
  `tel_priv` varchar(111) NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

-- 
-- Zrzut danych tabeli `dane`
-- 

INSERT INTO `dane` (`id`, `imie`, `nazwisko`, `miejscowosc`, `email`, `tel_praca`, `tel_priv`) VALUES (1, 'dsfs', 'dfdsf', 'fdsfsdf', 'ds', 'dsfd', 'sfsfd');

dwa pliki:
zapisz.php

<?
//include "config.inc.php";


//
//$conn = mysql_connect($host, $user, $password)
//              or die ("Nie udało się połączyć z bazą danych!");
//mysql_selectdb($dbName)
//              or die ("Nie udało się wybrać bazy!");

mysql_connect('localhost:3307','root','haslo');
mysql_select_db('test');

$query = " UPDATE dane SET imie='$_POST[imie]', nazwisko='$_POST[nazwisko]', miejscowosc='$_POST[miejscowosc]', email='$_POST[email]', tel_praca='$_POST[tel_praca]', tel_priv='$_POST[tel_priv]' WHERE id=".$_GET[id];
$result = mysql_query($query) or die ("Modyfikacja nieudana!");
echo "<h2>Dane zostały zmodyfikowane i zapisane poprawnie.</h2>";
?>

oraz drugi

<?
mysql_connect('localhost:3307','root','dziobak');
mysql_select_db('test');
$line=mysql_fetch_array(mysql_query("SELECT * FROM dane WHERE id=$_GET[id]"));
?>
<form method="post" action="zapisz.php?id=<?=$_GET[id];?>">
       <table>
  <tr>
    <td bgcolor="#FFCCFF">Imię</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=imie value=<?=$line["imie"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Nazwisko</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=nazwisko value=<?=$line["nazwisko"]?>></b></td>
  </tr>

  <tr>
    <td bgcolor="#FFCCFF">Miejscowość</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=miejscowosc value=<?=$line["miejscowosc"]?>>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">E-mail</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=email value=<?=$line["email"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Tel. służbowy</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_praca value=<?=$line["tel_praca"]?>></td>
  </tr>
  <tr>
    <td bgcolor="#FFCCFF">Tel. prywatny</td>
              <td bgcolor="#FFCCFF"><INPUT type=text name=tel_priv value=<?=$line["tel_priv"]?>></td>
  </tr>

  <tr>
           <INPUT type=hidden name=uid value=<?= $_GET['id'] ?>>
    <td><INPUT type=button name=uzytkownicy value=Użytkownicy onClick="location.href='modyfikacja.php'"></td>
        <td><INPUT type=button name=usun value=Usuń onClick="location.href='usun.php?id=<?=$_GET['id']?>'">
    <td><a href="#" onclick="submit();">Aktualizuj</a>&nbsp;</td>
  </tr>
  </table>
</form>
0

zrobilem twoim sposobem ale nadal wstawia mi puste dane :-[

zrobilem twoim sposobem ale nadal wstawia mi puste dane :-[
wychodzi mi komunikat:
"UPDATE dane SET imie=, nazwisko=, miejscowosc=, email=, tel_praca=, tel_priv= WHERE id=2
Dane zostały zmodyfikowane i zapisane poprawnie."

0

print_r($_POST) i zobaczy czy cos w poscie w ogole siedzi.

1 użytkowników online, w tym zalogowanych: 0, gości: 1