Witam.
Stworzyłem pewną stronę i mam na niej dziwny błąd. mam plik php, który podpinam później w kodzie za pomocę require_once.
plik.php
<?php
function conn_to_db()
{
$conn = mysql_connect ('localhost', 'root', 'Vito1984') OR die ('Could not connect to MySQL: ' . mysql_error());
return $conn;
}
function select_db($conn)
{
$baza = mysql_select_db('psg', $conn) OR die('Could not select the database: ' . mysql_error() );
return $baza;
}
Jak zapewne zwróciliście uwagę. Jest tam nie zamknięty człon <?php - brak znacznika ?>.
W trakcie pisania kodu , a właściwie przy dodawaniu nowych funkcji po zakończeniu projektu, zauważyłem ten błąd powyżej i go poprawiłem.
Spowodowało to , że strona przestała funkcjonować poprawnie!!! Pierwszy raz spotkałem się z czymś takim, że strona(projekt) działa poprawnie tylko z błędem!.
Plik.php jest podpinanu w wielu innych plikach .php strony. Ale to nie ma znaczenia, dlatego stosuje require_once, aby się nie dublował kod.
Przyczyna błędnie działającej strony (to co zdążyłem zauważyć) to np. jak funkcja jquery $.post zwraca wartość (wynik działania)
np (częściowy kod).
$.post('phpmailer.php', {
parametr : 'rezerwacja',
(...)
}, function(output1) {
if (output1 == '1') { coś tam}
});
to warunek nie jest spełniony gdy są ' lub " . Natomiast działa gdy jest sama liczna, bez ',", czyli jest "widziana" jako zmienna numeryczna. Zresztą nie działa nawet jak są " , ' i np. jest warunek if (output1 == 'OKOK')
.
Jeżeli nie ma tego znacznika w pliku plik.php to wszystko działa poprawnie, nie ważne czy jest '," , czy ich nie ma... Nie jest to chyba problem, że zmienne są numeryczne (1,2,3....) , które w programie są jako stringi, bo stringi (OKOK) też nie działają poprawnie, gdy jest zamknięty znacznik ?>
Ja się poddaję, nie wiem co źle zrobiłem. Ale chciałbym jakoś uporać się z problemem i zamknąć tego ?>, aby kiedyś nie pojawił się inny problem !
Dzięki