Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Php edytowanie baz danych
Forum PHP.pl > Forum > Przedszkole
rmx
Niestety natrafilem na kolejny problem, probowalem przerabiac plik do edycji bazy danych z poziomu php,
poniewaz na serwerze wylaczone mam register globals. Niestety gdzies popelniam bledy i nie moge ich znalezc.
Osoby zaznajomione z tematem prosze o pomoc

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <link rel="stylesheet" type="text/css" href="style.css">
  5. <title>Edytowanie bazy</title>
  6. </head>
  7. <?
  8. include('config.php');
  9.  
  10. $id = $_POST["id"];
  11. $cmd = $_POST["cmd"];
  12.  
  13. if($cmd != Edytuj)
  14.  {
  15. $result = mysql_query("select * from baza1 ORDER BY nazwa");
  16. $i=1;
  17.  
  18.  while($wynik=mysql_fetch_array($result))
  19. {
  20.  $nazwa=$wynik["nazwa"];
  21.  $id=$wynik["id"];
  22.  
  23. ?>
  24.  
  25.  <form action="<? echo $PHP_SELF ?>" method="post">
  26.  <INPUT TYPE="RADIO" NAME="id" VALUE="<?php echo $id; ?>">
  27. <? echo $i++;
  28.  echo $nazwa;
  29.  echo '<Br>'; ?>
  30. <? 
  31. }
  32. ?>
  33.  
  34.  
  35. <input class=przyciskedy type="submit" name="cmd" value="Edytuj">
  36.  
  37. <img border=0 src="back.gif" width="10" height="10">
  38. <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  39. ONCLICK="window.location.href='index.php'">
  40.  
  41.  
  42. <? 
  43.  }
  44. ?>
  45.  
  46. <?
  47. if($cmd == Edytuj)
  48.  {
  49. if ($wyslij != Edyt)
  50.  {
  51. $id = $_POST["id"];
  52. $sql = "SELECT * FROM baza1 WHERE id=$id";
  53. $result = mysql_query($sql);
  54. $row = mysql_fetch_array($result);
  55. ?> 
  56.  
  57. <form>
  58.  <input type=hidden name="id" value="<?php echo $row["id"] ?>">
  59.  Nazwa:
  60.  <INPUT TYPE="TEXT" NAME="nazwa" VALUE="<?php echo $row["nazwa"] ?>" SIZE=30>
  61.  
  62.  <input type="hidden" name="cmd" value="Edytuj">
  63.  <input class=przyciskedy type="Submit" name="wyslij" value="Edyt">
  64.  <img border=0 src="back.gif" width="10" height="10">
  65.  <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  66. ONCLICK="window.location.href='index.php'">
  67. </form>
  68.  
  69. <?
  70. }
  71. ?>
  72.  
  73. <?
  74. $wyslij = $_POST["wyslij"];
  75. $id = $_POST["id"];
  76. $nazwa = $_POST["nazwa"];
  77. if($wyslij == Edyt)
  78.  {
  79.  
  80.  
  81. $sql = "UPDATE baza1 SET nazwa='$nazwa' WHERE id=$id";
  82. $result = mysql_query($sql);
  83. echo "Dane zostały zmienione.<Br>";
  84. echo "<a href=\"index.php\">Powrót do bazy</a>.";
  85.  }
  86.  }
  87. ?>
  88.  
  89. </html>
uli
Ojojojoj

  1. <?php
  2. if($cmd == Edytuj)
  3. ?>
- ŹLE
  1. <?php
  2. if($cmd == "Edytuj")
  3. ?>
- DOBRZE

I tak ze wszystkimi ifami...
rmx
Poprawilem if-y, jednak widze ze gdzies problem pozostaje na etapie ostatnim, czyli zastosowania wprowadzonej zmiany w formularzu.
uli
Pokaż jak teraz wygląda kod.
rmx
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <link rel="stylesheet" type="text/css" href="style.css">
  5. <title>Edytowanie bazy</title>
  6. </head>
  7. <?
  8. include('config.php');
  9.  
  10. $id = $_POST["id"];
  11. $cmd = $_POST["cmd"];
  12.  
  13. if($cmd != "Edytuj")
  14. {
  15. $result = mysql_query("select * from baza1 ORDER BY nazwa");
  16. $i=1;
  17.  
  18. while($wynik=mysql_fetch_array($result))
  19. {
  20. $nazwa=$wynik["nazwa"];
  21. $id=$wynik["id"];
  22.  
  23. ?>
  24.  
  25. <form action="<? echo $PHP_SELF ?>" method="post">
  26. <INPUT TYPE="RADIO" NAME="id" VALUE="<?php echo $id; ?>">
  27. <? echo $i++;
  28. echo $nazwa;
  29. echo '<Br>'; ?>
  30. <? 
  31. }
  32. ?>
  33.  
  34.  
  35. <input class=przyciskedy type="submit" name="cmd" value="Edytuj">
  36.  
  37. <img border=0 src="back.gif" width="10" height="10">
  38. <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  39. ONCLICK="window.location.href='index.php'">
  40.  
  41.  
  42. <? 
  43. }
  44. ?>
  45.  
  46. <?
  47. if($cmd == "Edytuj")
  48. {
  49. if ($wyslij != "Edyt")
  50. {
  51. $id = $_POST["id"];
  52. $sql = "SELECT * FROM baza1 WHERE id=$id";
  53. $result = mysql_query($sql);
  54. $row = mysql_fetch_array($result);
  55. ?> 
  56.  
  57. <form>
  58. <input type=hidden name="id" value="<?php echo $row["id"] ?>">
  59. Nazwa:
  60. <INPUT TYPE="TEXT" NAME="nazwa" VALUE="<?php echo $row["nazwa"] ?>" SIZE=30>
  61.  
  62. <input type="hidden" name="cmd" value="Edytuj">
  63. <input class=przyciskedy type="Submit" name="wyslij" value="Edyt">
  64. <img border=0 src="back.gif" width="10" height="10">
  65. <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  66. ONCLICK="window.location.href='index.php'">
  67. </form>
  68.  
  69. <?
  70. }
  71. ?>
  72.  
  73. <?
  74. $wyslij = $_POST["wyslij"];
  75. $id = $_POST["id"];
  76. $nazwa = $_POST["nazwa"];
  77. if($wyslij == "Edyt")
  78. {
  79.  
  80.  
  81. $sql = "UPDATE baza1 SET nazwa='$nazwa' WHERE id=$id";
  82. $result = mysql_query($sql);
  83. echo "Dane zostały zmienione.<Br>";
  84. echo "<a href=\"index.php\">Powrót do bazy</a>.";
  85. }
  86. }
  87. ?>
  88.  
  89. </html>
uli
  1. <?php
  2.  
  3. $sql = "UPDATE baza1 SET nazwa='".$nazwa."' WHERE id=".$id;
  4. $result = mysql_query($sql) or die(mysql_error());
  5. ?>


Zobacz co wywali jako błąd ewentualnie smile.gif
rmx
Wyglada na to, ze to wogole nie przechodzi przez ta petle tylko sie zapetla w if ($wyslij != "Edyt")
uli
Ha, pewnie że tak bo co u Ciebie jest $wyslij?? biggrin.gif

Ta linijka:
  1. <?php
  2. $wyslij = $_POST["wyslij"];
  3. ?>


powinna znaleźć się PRZED:
  1. <?php
  2. if ($wyslij != "Edyt")
  3. ?>



Pokombinuj czemu winksmiley.jpg
rmx
Zmienilem to nadal brak efektow. W wszystko konczy sie tak, ze zapetla sie i znowu moge
wybierac linijke ktora chce edytowac a w adres strony zmienia sie na: edyc2.php?id=53&nazwa=nazwa1&cmd=Edytuj&wyslij=Edyt

  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <link rel="stylesheet" type="text/css" href="style.css">
  5. <title>Edytowanie bazy</title>
  6. </head>
  7. <?
  8. include('config.php');
  9.  
  10. $id = $_POST["id"];
  11. $cmd = $_POST["cmd"];
  12.  
  13. if($cmd != "Edytuj")
  14. {
  15. $result = mysql_query("select * from baza1 ORDER BY nazwa");
  16. $i=1;
  17.  
  18. while($wynik=mysql_fetch_array($result))
  19. {
  20. $nazwa=$wynik["nazwa"];
  21. $id=$wynik["id"];
  22.  
  23. ?>
  24.  
  25. <form action="<? echo $PHP_SELF ?>" method="post">
  26. <INPUT TYPE="RADIO" NAME="id" VALUE="<?php echo $id; ?>">
  27. <? echo $i++;
  28. echo $nazwa;
  29. echo '<Br>'; ?>
  30. <? 
  31. }
  32. ?>
  33.  
  34.  
  35. <input class=przyciskedy type="submit" name="cmd" value="Edytuj">
  36.  
  37. <img border=0 src="back.gif" width="10" height="10">
  38. <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  39. ONCLICK="window.location.href='index.php'">
  40.  
  41.  
  42. <? 
  43. }
  44. ?>
  45.  
  46. <?
  47.  
  48. if($cmd == "Edytuj")
  49. {
  50. $wyslij = $_POST["wyslij"];
  51. if ($wyslij != "Edyt")
  52. {
  53. $id = $_POST["id"];
  54. $sql = "SELECT * FROM baza1 WHERE id=$id";
  55. $result = mysql_query($sql);
  56. $row = mysql_fetch_array($result);
  57. ?> 
  58.  
  59. <form>
  60. <input type=hidden name="id" value="<?php echo $row["id"] ?>">
  61. Nazwa:
  62. <INPUT TYPE="TEXT" NAME="nazwa" VALUE="<?php echo $row["nazwa"] ?>" SIZE=30>
  63.  
  64. <input type="hidden" name="cmd" value="Edytuj">
  65. <input class=przyciskedy type="Submit" name="wyslij" value="Edyt">
  66. <img border=0 src="back.gif" width="10" height="10">
  67. <INPUT TYPE="BUTTON" VALUE="Wróć" CLASS="przyciskback" 
  68. ONCLICK="window.location.href='index.php'">
  69. </form>
  70.  
  71. <?
  72. }
  73. ?>
  74.  
  75. <?
  76. $id = $_POST["id"];
  77. $nazwa = $_POST["nazwa"];
  78. if($wyslij == "Edyt")
  79. {
  80.  
  81.  
  82. $sql = "UPDATE baza1 SET nazwa='".$nazwa."' WHERE id=".$id;
  83. $result = mysql_query($sql) or die(mysql_error());
  84. echo "Dane zostały zmienione.<Br>";
  85. echo "<a href=\"index.php\">Powrót do bazy</a>.";
  86. }
  87. }
  88. ?>
  89.  
  90. </html>
uli


linia 57 zmień na

  1. <form action="<? echo $PHP_SELF ?>" method="post">



jak wpiszesz to co wpisałeś wysyłasz metodą GET ( więc nie odbierzesz POST'EM).
rmx
Jestes wielki czarodziej.gif Dziekuje bardzo za poswiecony czas i cierpliwosc.
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.