Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Bardzo dziwne zachowanie ciągu znaków
Forum PHP.pl > Forum > Przedszkole
ŁUKASZ24
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?
CuteOne
Kropki zamiast przecinków...
$formredirect = 'admin.php?page=index&action=page_edit&idc=' , $page_id , '';

$formredirect = 'admin.php?page=index&action=page_edit&idc='. $page_id;
ŁUKASZ24
Faktycznie, działa. smile.gif Właściwie od czego to zależy że raz działa na kropkach, a raz na przecinkach?
CuteOne
nigdy nie działa na przecinkach....
ŁUKASZ24
Masz rację, pomyliło mi się, bo przecinki działają w "echo". Dziękuję za pomoc smile.gif
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.