Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Bardzo dziwne zachowanie ciągu znaków, Zwyczajna czynność powoduje błąd
ŁUKASZ24
post 26.02.2012, 21:07:47
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 9.02.2006
Skąd: Kraśnik (Polska)

Ostrzeżenie: (0%)
-----


Witam! Natrafiłem na bardzo dziwny błąd. Mianowicie chcę stworzyć string z dołączoną zmienną i kompletnie nie wiem dlaczego strona wywala błąd (niestety nie wiem jaki, bo gdy mam błąd w kodzie to na stronie nic się nie wyświetla :/). Co dziwne jeżeli wyświetlę tę zmienną wszystko jest w najlepszym porządku. Mało tego, używałem jej wcześniej do zapytania mysql i wszystko grało. Jestem bezradny bo nie mogę zrozumieć o co z tym chodzi.

Nie widzę nic złego w tym kodzie, używałem już stringów w taki sposób, lecz ten poniższy nie działa:
  1. $formredirect = 'admin.php?page=index&action=page_edit&idc=', $page_id, '';


Kod funkcji w której dzieją się te smutne rzeczy:
  1. function getEditPageContents($page_id)
  2. {
  3. // check id
  4. $id_compare = mysql_query("SELECT id FROM tower_pages")
  5. or die('Query error');
  6.  
  7. $id_exists = false;
  8.  
  9. while ($pid = mysql_fetch_assoc($id_compare)) {
  10. if ($page_id == $pid['id'])
  11. {
  12. $id_exists = true;
  13. }
  14. }
  15.  
  16. // ready
  17. if ($id_exists)
  18. {
  19. $sql_get_page = mysql_query("SELECT title, descr, icon, ordr, content FROM tower_pages WHERE id='$page_id'")
  20. or die('Query error');
  21.  
  22. $formredirect = 'admin.php?page=index&action=page_edit&idc=', $page_id, '';
  23.  
  24. if ( isset($_POST['addpage']) && (
  25. ( strlen($_POST['description']) > 300 )
  26. || empty($_POST['title'])
  27. || empty($_POST['description'])
  28. || empty($_POST['icon'])
  29. || empty($_POST['ordr'])
  30. || empty($_POST['content'])
  31. ) )
  32. {
  33. if (strlen($_POST['description']) > 300)
  34. echo '
  35. Błąd: długość opisu przekracza 300 znaków!';
  36.  
  37. echo '
  38. Pamiętaj żeby wypełnić wszystkie pola!
  39. ', addPageForm($_POST['title'], $_POST['description'], $_POST['icon'], $_POST['ordr'], $_POST['content'], $formredirect) ,'';
  40. }
  41. elseif ( isset($_POST['addpage']) )
  42. {
  43.  
  44. $pagetit = $_POST['title'];
  45. // tutaj też jest problem, nie mogę do zapytania od razu przekazać zmiennej $_POST['title'] :/ to strasznie dziwne, i nawet nie mogę przetestować czy tymczasowe rozwiązanie działa przez mój główny problem
  46. $updatestatus = mysql_query("UPDATE tower_pages SET title='$pagetit' WHERE id='$page_id'")
  47. or die('Query error');
  48.  
  49. if($updatestatus)
  50. echo "Edytowano pomyślnie!";
  51. else
  52. echo "Wystąpił błąd! Spróbuj ponownie.";
  53.  
  54. addPageForm($_POST['title'], $_POST['description'], $_POST['icon'], $_POST['ordr'], $_POST['content'], $formredirect);
  55. }
  56. else
  57. {
  58. while ($content = mysql_fetch_assoc($sql_get_page))
  59. {
  60. addPageForm($content['title'], $content['descr'], $content['icon'], $content['ordr'], $content['content'], $formredirect);
  61. }
  62. }
  63. }
  64. else
  65. echo 'Strona o podanym id nie istnieje';
  66. echo '<a href="admin.php?page=index">Powrót</a>';
  67. }


Zrobiłem jeszcze mały test, mianowicie użyłem innej zmiennej której ustawiłem wartość 5. Liczba jak liczba, powinna tam być. Dalej mam jednak błąd. Masakra sad.gif.
Taki string jest mi koniecznie potrzebny bo jest przekazywany do funkcji która tworzy formularz, którego atrybutem "action" jest właśnie ten ciąg znaków.

Ktoś ma jakiś pomysł co mogło nagle stać się z ciągami znaków że zachowują się tak dziwnie?

Ten post edytował ŁUKASZ24 26.02.2012, 21:09:18
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 10:10