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:
$formredirect = 'admin.php?page=index&action=page_edit&idc=', $page_id, '';
Kod funkcji w której dzieją się te smutne rzeczy:
function getEditPageContents($page_id)
{
// check id
$id_compare = mysql_query("SELECT id FROM tower_pages")
$id_exists = false;
if ($page_id == $pid['id'])
{
$id_exists = true;
}
}
// ready
if ($id_exists)
{
$sql_get_page = mysql_query("SELECT title, descr, icon, ordr, content FROM tower_pages WHERE id='$page_id'")
$formredirect = 'admin.php?page=index&action=page_edit&idc=', $page_id, '';
if ( isset($_POST['addpage']) && ( ( strlen($_POST['description']) > 300
) || empty($_POST['title']) || empty($_POST['description']) || empty($_POST['content']) ) )
{
if (strlen($_POST['description']) > 300
) Błąd: długość opisu przekracza 300 znaków!';
Pamiętaj żeby wypełnić wszystkie pola!
', addPageForm($_POST['title'], $_POST['description'], $_POST['icon'], $_POST['ordr'], $_POST['content'], $formredirect) ,'';
}
elseif ( isset($_POST['addpage']) ) {
$pagetit = $_POST['title'];
// 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
$updatestatus = mysql_query("UPDATE tower_pages SET title='$pagetit' WHERE id='$page_id'")
if($updatestatus)
echo "Edytowano pomyślnie!"; else
echo "Wystąpił błąd! Spróbuj ponownie.";
addPageForm($_POST['title'], $_POST['description'], $_POST['icon'], $_POST['ordr'], $_POST['content'], $formredirect);
}
else
{
{
addPageForm($content['title'], $content['descr'], $content['icon'], $content['ordr'], $content['content'], $formredirect);
}
}
}
else
echo 'Strona o podanym id nie istnieje'; echo '<a href="admin.php?page=index">Powrót</a>'; }
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

.
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