Pomoc - Szukaj - U¿ytkownicy - Kalendarz
Pe³na wersja: [HTML][MySQL][PHP]Update bazy dzia³a³o i przesta³o.
Forum PHP.pl > Forum > Przedszkole
bolus150
Witam,
mam taki problem. Mianowicie update bazy dzia³a³o i nagle przesta³o i nie wiem dlaczego. Móg³by kto¶ zerkn±æ dlaczego?
Pierwszy plik do pobierania opisu z bazy
Editopis.php
  1. <?php
  2. include 'header.php';
  3. include 'menu.php';
  4.  
  5. $host="-----";
  6. $username="-----";
  7. $password="-----";
  8. $db_name="-----";
  9. $tbl_name="-----";
  10.  
  11. mysql_query('SET NAMES utf8');
  12. mysql_connect("$host", "$username", "$password")or die("Brak po³±czenia z SQL");
  13. mysql_select_db("$db_name")or die("Brak po³±czenia z BD");
  14.  
  15. $id=$_GET['id'];
  16. $name=$_GET['name'];
  17. $date=$_GET['date'];
  18. $sql="SELECT * FROM $tbl_name WHERE id='$id'";
  19. $result=mysql_query($sql);
  20. $rows=mysql_fetch_array($result);
  21. ?>
  22.  
  23. <table width="400" border="0" cellspacing="1" cellpadding="0">
  24. <form name="form1" method="post" action="update_ac.php">
  25. <td><strong>Edytuj opis</strong> </td><tr>
  26. <td>Nazwa: <?php echo $rows['name'];?></td><tr>
  27. <td>Data dodania: <?php echo $rows['date'];?></td><tr>
  28. <td><input name="opis" type="text" size = "100" id="opis" value="<? echo $rows['opis']; ?>"></td><tr>
  29. <input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>">
  30. <td><input type="submit" name="Submit" value="Edytuj"></td>
  31.  
  32. </form>
  33.  
  34. </table>
  35.  
  36. <?php
  37. // close connection
  38. ?>


I drugi plik do updatowania,

update_ac.php

  1. <?php
  2. include 'menu.php';
  3. include 'header.php';
  4.  
  5. $host="-----";
  6. $username="-----";
  7. $password="-----";
  8. $db_name="-----";
  9. $tbl_name="-----";
  10.  
  11. mysql_query('SET NAMES utf8');
  12. mysql_connect("$host", "$username", "$password")or die("Brak po³±czenia z SQL");
  13. mysql_select_db("$db_name")or die("Brak po³±czenia z BD");
  14.  
  15. $sql="UPDATE $tbl_name SET opis = '$opis' WHERE id = '$id'";
  16. $result=mysql_query($sql);
  17.  
  18. if($result){
  19. echo "Doskonale";
  20. echo "<BR>";
  21. echo "<a href='index.php'>Zobacz zmiany.</a>";
  22. }
  23.  
  24. else {
  25. echo "B³±d";
  26. }
  27.  
  28. ?>


Poradzi kto¶ co¶?
Raito
1. Dawaj mysql_query('SET NAMES utf8'); po po³±czeniu z baz±.
2. Daj sobie or die() w mysql_query.
3. Sk±d bierzesz id?
bolus150
W pierwszym pliku jest:
  1. $id=$_GET['id'];


I to wypisuje mi z bazy do formularza zawarto¶æ danego id

  1. <td><input name="opis" type="text" size = "100" id="opis" value="<? echo $rows['opis']; ?>"></td><tr>


Dalej nie dzia³a, a zrobi³em wszystkie wskazówki, przechodzi normalnie, ale nic nie zmienia.
Aqu
Ale w jaki sposób zmienna $id z pierwszego pliku ma byæ dostêpna w drugim?

  1. $sql="UPDATE $tbl_name SET opis = '".$_POST['opis']."' WHERE id = '.$POST['id']."'";


i zabezpiecz przed sql injection
bolus150
Teraz lepiej?

  1.  
  2. $id = addslashes($_POST['id']);
  3. $opis = addslashes($_POST['opis']);
  4. $sql="UPDATE $tbl_name SET opis = '$opis' WHERE id = '$id'";
  5.  


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.