Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem i baza mysql
Forum PHP.pl > Forum > PHP
mikelauri
Witam mam taki problem pisalem skrypt na kompie i na serwerze lokalnym mialem PHP 5 i MySql 4 po przekopiowaniu na serwer gdzie mam PHP 5 i MySQL 5 mam teraz problem z uaktualnianiem danych w bazie. Na moim lokalnym jest wszystko w porzadku natomiast na serwerze w necie objaw jest taki ze pokazuje wszystko ok ze uaktualnil baze natomiast dane nie ulegaja zmianie. Ponizej zamieszczam kod z plików prosze o pomoc walcze juz z tym tydzien i nie wiem co moze byc nie tak.



edycja danych.php
  1. <?php
  2. //polaczenie db
  3. include('polaczenie.php');
  4.  
  5. $sql="SELECT * FROM $tbl_name WHERE login='".$_SESSION['login']."'";
  6. $result=mysql_query($sql);
  7. ?>
  8. <a href="member.php">Powrót do karty użytkownika</a>
  9. <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle">
  10. <table width="500" border="0" cellspacing="0" cellpadding="3">
  11. <tr>
  12. <td>
  13. <table border="0" bordercolor="#000000" style="background-color:#ff6805" width="400" cellpadding="3" cellspacing="3">
  14. <tr>
  15. <td align="center"><b>Imię</b></td>
  16. <td align="center"><b>Nazwisko</b></td>
  17. <td align="center"><b>Email</b></td>
  18. <td align="center"><b>Telefon</b></td>
  19. </tr>
  20. <?php
  21. while($rows=mysql_fetch_array($result)){
  22. ?>
  23. <tr>
  24. <td align="center"><? echo $rows['imie']; ?></td>
  25. <td align="center"><? echo $rows['nazwisko']; ?></td>
  26. <td align="center"><? echo $rows['mail']; ?></td>
  27. <td align="center"><? echo $rows['telefon']; ?></td>
  28.  
  29. <tr><td colspan="4" align="center" valign="middle"><a href="update.php?id=<? echo $rows['id']; ?>">Zmien dane</a></td></tr>
  30. <?php
  31. }
  32. ?>
  33. </table>
  34. </td>
  35. </tr>
  36. </table>
  37. </td></tr></table>
  38.  
  39. <?php
  40. ?>


update.php
  1. <?php
  2. //polaczenie db
  3. include('polaczenie.php');
  4.  
  5. // get value of id that sent from address bar
  6. $id=$_GET['id'];
  7.  
  8.  
  9. // Retrieve data from database
  10. $sql="SELECT * FROM $tbl_name WHERE id='$id'";
  11. $result=mysql_query($sql);
  12.  
  13. $rows=mysql_fetch_array($result);
  14. ?>
  15. <a href="edycjadanych.php">Powrót</a>
  16. <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle">
  17. <table width="400" border="0" cellspacing="1" cellpadding="0">
  18. <tr>
  19. <form name="form1" method="post" action="update_ac.php">
  20. <td>
  21. <table width="100%" border="0" bordercolor="#000000" style="background-color:#ff6805" width="400" cellpadding="3" cellspacing="3" >
  22. <tr>
  23. <td>&nbsp;</td>
  24. <td colspan="5" align="center"><strong>PODAJ NOWE DANE</strong> </td>
  25. </tr>
  26. <tr>
  27. <td colspan="5" align="center">&nbsp;</td>
  28. </tr>
  29. <tr>
  30. <td align="center">&nbsp;</td>
  31. <td align="center"><strong>Imię</strong></td>
  32. <td align="center"><strong>Nazwisko</strong></td>
  33. <td align="center"><strong>Email</strong></td>
  34. <td align="center"><strong>Telefon</strong></td>
  35. </tr>
  36. <tr>
  37. <td>&nbsp;</td>
  38. <td align="center"><input name="imie" type="text" id="imie" value="<? echo $rows['imie']; ?>"></td>
  39. <td align="center"><input name="nazwisko" type="text" id="nazwisko" value="<? echo $rows['nazwisko']; ?>" size="15"></td>
  40. <td><input name="mail" type="text" id="mail" value="<? echo $rows['mail']; ?>" size="30"></td><td><input name="telefon" type="text" id="telefon" value="<? echo $rows['telefon']; ?>" size="15"></td>
  41. </tr>
  42. <tr>
  43.  
  44. <td><input name="id" type="hidden" id="id" value="<? echo $rows['id']; ?>"></td>
  45. <tr>
  46. <td colspan="5" align="center"></td>
  47. </tr>
  48. <td colspan="5" align="center"><input type="submit" name="Submit" value="Zapisz nowe dane"></td>
  49. </tr>
  50. </table>
  51. </td>
  52. </form>
  53. </tr>
  54. </table>
  55. </td></tr></table>
  56. <?
  57.  
  58. // close connection
  59.  
  60. ?>


update_ac.php

  1. <?php
  2. //polaczenie db
  3. include('polaczenie.php');
  4.  
  5. // update data in mysql database
  6. $sql="UPDATE user SET imie='$imie', nazwisko='$nazwisko', mail='$mail', telefon='$telefon' WHERE id='$id'";
  7. $result=mysql_query($sql);
  8.  
  9. // if successfully updated.
  10. if($result){
  11. print '<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"><tr><td align="center" valign="middle"> ';
  12. print '<table border="0" bordercolor="#FFFFFF" style="background-color:#ff6805" width="450" cellpadding="3" cellspacing="3">';
  13. print '<tr><td align="center"><b>AKTUALIZACJA DANYCH PRZEBIEGŁA POPRAWNIE</b></td></tr>';
  14. print '<tr><td></td></tr>';
  15. print '<tr><td align="center">Za chwile zostaniesz przekierowany na kartę użytkownika <script>setTimeout("document.location = \"member.php\"", 3000);</script> </td></tr></table>';
  16. print '</td></tr></table> ';
  17.  
  18. }
  19.  
  20. else {
  21. }
  22.  
  23. ?>



maniutek08
Dla $result do mysql_query() daj też or die(mysql_error()); i zobacz czy coś wypluwa
mikelauri
dopisalem do skryptu i i nic żadnych błędow nie wywala po prostu leci jak by bylo ok ale nie uaktualnia bazy. Dziwne jest to ze nie dziala mi tylko na moim hostingu a na lokalnym kompie jest ok. ten sam problem mam z plikiem delete.php nie dzialaja mi tylko własnie te pliki i nie wiem dlaczego.

  1.  
  2. <?php
  3. //polaczenie db
  4. include('polaczenie.php');
  5.  
  6.  
  7.  
  8. $sql="SELECT * FROM $tbl_name";
  9. $result=mysql_query($sql);
  10.  
  11. $count=mysql_num_rows($result);
  12.  
  13. ?>
  14. <table width="400" border="0" cellspacing="1" cellpadding="0">
  15. <tr>
  16. <td><form name="form1" method="post" action="">
  17. <table width="400" border="0" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
  18. <tr>
  19. <td bgcolor="#FFFFFF">&nbsp;</td>
  20. <td colspan="7" bgcolor="#FFFFFF"><strong>Delete multiple rows in mysql</strong> </td>
  21. </tr>
  22. <tr>
  23. <td align="center" bgcolor="#FFFFFF">#</td>
  24. <td align="center" bgcolor="#FFFFFF"><strong>Id</strong></td>
  25. <td align="center" bgcolor="#FFFFFF"><strong>Imie</strong></td>
  26. <td align="center" bgcolor="#FFFFFF"><strong>Nazwisko</strong></td>
  27. <td align="center" bgcolor="#FFFFFF"><strong>Login</strong></td>
  28. <td align="center" bgcolor="#FFFFFF"><strong>Email</strong></td>
  29. <td align="center" bgcolor="#FFFFFF"><strong>Telefon</strong></td>
  30. </tr>
  31. <?php
  32. while($rows=mysql_fetch_array($result)){
  33. ?>
  34. <tr>
  35. <td align="center" bgcolor="#FFFFFF"><input name="checkbox[]" type="checkbox" id="checkbox[]" value="<? echo $rows['id']; ?>"></td>
  36. <td bgcolor="#FFFFFF"><? echo $rows['id']; ?></td>
  37. <td bgcolor="#FFFFFF"><? echo $rows['imie']; ?></td>
  38. <td bgcolor="#FFFFFF"><? echo $rows['nazwisko']; ?></td>
  39. <td bgcolor="#FFFFFF"><? echo $rows['login']; ?></td>
  40. <td bgcolor="#FFFFFF"><? echo $rows['mail']; ?></td>
  41. <td bgcolor="#FFFFFF"><? echo $rows['telefon']; ?></td>
  42. </tr>
  43. <?php
  44. }
  45. ?>
  46. <tr>
  47. <td colspan="7" align="center" bgcolor="#FFFFFF"><input name="delete" type="submit" id="delete" value="Delete"></td>
  48. </tr>
  49. <?
  50. // Check if delete button active, start this
  51. if($delete){
  52. for($i=0;$i<$count;$i++){
  53. $del_id = $checkbox[$i];
  54. $sql = "DELETE FROM $tbl_name WHERE id='$del_id'";
  55. $result = mysql_query($sql);
  56. }
  57.  
  58. // if successful redirect to delete.php
  59. if($result){
  60. echo "<meta http-equiv=\"refresh\" content=\"0;URL=delete.php\">";
  61. }
  62. }
  63. ?>
  64. </table>
  65. </form>
  66. </td>
  67. </tr>
  68. </table>
maniutek08
Skąd CI się wzięła zmienna "$delete"?? nie używaj register_global bo to jest niebezpieczne.. A spróbuj zamiast $delete $_POST['delete']..
mikelauri
Ok masz racje nie wiem skad ja to wzialem ale to chyba juz ze zlosci jak poprawilem i zrobilem tak to działa smile.gif ale wraz nie działa mi UPDATE

  1.  
  2. $checkbox = $_POST['checkbox'];
  3. $delete = $_POST['delete'];
  4.  
  5. // Check if delete button active, start this
  6. if($delete){
  7. for($i=0;$i<$count;$i++){
  8. $del_id = $checkbox[$i];
  9.  
  10. $sql = "DELETE FROM $tbl_name WHERE id='$del_id'";
  11. $result = mysql_query($sql);
  12. }
  13.  


Ok znalazlem problem w pliku update_ac.ph brakowalo ".$_POST['name']."

  1. $sql="UPDATE $tbl_name SET imie='".$_POST['imie']."', nazwisko='".$_POST['nazwisko']."', mail='".$_POST['mail']."', telefon='".$_POST['telefon']."' WHERE id='".$_POST['id']."'";


temat zamkniety
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.