• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

problem z kodem php w pliku html., znak >

Object Storage Arubacloud
0 głosów
471 wizyt
pytanie zadane 18 października 2017 w PHP przez Raciawelli Użytkownik (620 p.)

hej. Mój kod nie wykonuje się do końca. traktuje pierwszy napotkany znak > jako koniec php i resztę wyświetla jak zwykły html... Nie mam bladego pojęcia w czym tkwi problem, siedzę nad tym trzeci dzień bez efektów... Załączam cały kod (nie duży), jest tylko jedna wstawka php, więc nie będziecie mieli problemu. 

<!DOCTYPE HTML>

<html lang="pl">
<head>
<meta charset="utf-8" />
<title>Rezerwacja miejsc w kinie</title>
<meta name="description" content="Opis" />
<meta http-equiv="X-UA-Compatible" content="chrome=1" />
<link rel="stylesheet" href="style.css" type="text/css" />
<link rel="shortcut icon" href="a.ico" type="image/x-icon" />
<script type="text/javascript" src="timer.js"> </script>

</head>
<body onload="odliczanie();">

	<div id="zegar"></div> 




 <div id="logo">
<span style="color: black">REZERWACJA</span>
<span style="color: black">MIEJSC</span>
 </div>
  <div id="menu">
<STYLE> 
A {text-decoration: none} 
</STYLE>
				
  </div>
  
    <div id="sidebar">
	   <div class="optionA">Strona główna</div>
	   <div class="optionA"><a href="rejestracja.html">REJESTRACJA</a></div>
	   <div class="optionA"><a href="logowanie.html">LOGOWANIE</a></div>
	   <div class="optionA"><a href="rezerwacja.html">REZERWACJA</a></div>
	   <div style="clear:both;"></div>
    </div>
	
	<div id="content">
		<?php
			
			$connection = @mysql_connect('localhost', 'root', '') or die("Brak połączenia z serwerem MySQL. Błąd: ".mysql_error()); 
			
			
			$db = @mysql_select_db('baza', $connection) or die("Nie mogę połączyć się z bazą danych Błąd: ".mysql_error()); 
			
		
				$wynik = $mysqli->query("SELECT * FROM filmy") or die('Błąd zapytania'); 
				while ($r = $wynik->fetch_array()) {
					echo "<p>ID: ".$r[0].", tytul: ".$r[1].", opis" "p: ".$r[2].", plakat: ".$r[3]."</p>";
					}
					$wynik->free();
				
			mysql_close($connection);
			
		?>
		
	</div>	

  <div id="login">
  </div>
  <div id="footer">
   <span style="color: black">Wszelkie prawa zastrzezone</span>
  </div>
  
  

</body>
</html>
	

3 odpowiedzi

0 głosów
odpowiedź 18 października 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)
W jaki sposób uruchamiasz ten kod? Bo jak na moje oko przez otwarcie pliku - np. dwukrotne kliknięcie. A PHP tak nie zadziała, musi zostać zinterpretowane. Potrzebujesz więc jakiegoś serwera, np. XAMPPa, Apache z PHP czy samego prostego serwerka wbudowanego w PHP. I wtedy na stronę wchodzisz np. poprzez http://localhost a nie sam plik.

PS funkcje mysql_ są od dawna zdeprecjonowane a od PHP 7 całkowicie usunięte, a więc Twój skrypt w ogóle się nie uruchomi. Radzę je porzucić. Poza tym raz używasz mysql_, a potem obiektowego mysqli. To też tak nie zadziała. No i wywal te @, tylko ukrywają błędy, więc jak coś się zepsuje to nawet nie dostaniesz komunikatu z błędem.
komentarz 18 października 2017 przez Raciawelli Użytkownik (620 p.)
używam xampa, a kod którego używam jest w większości pisany na podstawie poradników znalezionych w necie, niektóre są stare :c pokombinuję z tym co napisałeś, może coś zadziała :)
komentarz 18 października 2017 przez Arkadiusz Waluk Ekspert (287,950 p.)
W takim razie włącz XAMPP i serwer Apache w nim, stronę umieść gdzieś tam w folderze htdocs, i wejdź na nią poprzez adres http://localhost.
komentarz 18 października 2017 przez Raciawelli Użytkownik (620 p.)

xampp:  klik

strona (po poprawkach kodu): klik

poprawiony kod ( tak jest dobrze? )

<?php

		$baza=mysqli_connect("localhost","root","","baza");
		if (mysqli_connect_error())
		{echo "Wystąpił błąd połączenia z bazą";}
		$wynik = mysqli_query($baza,"SELECT * FROM filmy");
		while($row = mysqli_fetch_array($wynik))					}
		{echo $row['ID'] . " " . $row['Tytul'] . " " . $row['Opis'] . " " . $row['Plakat'] ; echo "<br>"; }

		mysqli_close($baza);

?> 

 

0 głosów
odpowiedź 18 października 2017 przez marcin99b Szeryf (82,180 p.)
Wygląda mi to na nie zamknięcie echo "";

Wyświetlony tekst to kod php od echo "

Nie patrzyłem dokładniej, ale w linii z echo masz opis" "p: "
0 głosów
odpowiedź 18 października 2017 przez Raciawelli Użytkownik (620 p.)

ok, poprawiłem kod php, teraz wydląda następująco:

		<?php
		$baza = mysqli_connect("localhost", "root", "", "baza");
		if (mysqli_connect_errno())
		{
			printf("Wystąpił błąd połączenia z bazą: %s\n", mysqli_connect_error());
			exit();
		}
		if ($wynik = mysqli_query($baza, "SELECT * FROM `filmy`")) 
		{
			while($row = mysqli_fetch_array($wynik))
			{
				echo $row['ID']." ".$row['Tytul']." ".$row['Opis']." ".$row['Plakat'];
			}
			mysqli_free_result($wynik);
		}
		mysqli_close($baza);
		?> 

działa, gdy włożę go do osobnego pliku, ale gdy jest w pliku html, to już nie, jakieś pomysły?

1
komentarz 18 października 2017 przez marcin99b Szeryf (82,180 p.)
a jakie rozszerzenie ma ten html? powinien mieć .php

+może głupie pytanie bo to podstawa, ale używasz include() albo require() do połączenia z tym plikiem?
to daje ci mniej więcej tyle, co gdybyś skopiował zawartość pliku, i dosłownie podmienił go z include albo require
komentarz 18 października 2017 przez Raciawelli Użytkownik (620 p.)
... miał html. Jestem debilem, to już oficjalne. Dziękuję za podpowiedź :) Wszo już działa :D
komentarz 18 października 2017 przez marcin99b Szeryf (82,180 p.)
Polecam jeszcze nauczenie się nawyku tworzenia większej odporności na błędy

Np poprzez umieszczenie połączenia z bazą w try{} catch(){}

Dobrą praktyką jest też, robienie projektów obiektowo... no chyba że program jest na tyle specyficzny/prosty że nie opłaca się tworzenie całej struktury z klasami, metodami itd
komentarz 18 października 2017 przez marcin99b Szeryf (82,180 p.)
A, i nie radzę mieszać html z php

Dobrze gdyby były w osobnych plikach (kontroler w php zwraca odpowiedni html, w zależności od tego jakie dane dostał na wejściu, np od użytkownika albo z bazy)

Podobne pytania

0 głosów
1 odpowiedź 305 wizyt
pytanie zadane 21 września 2017 w PHP przez marczak01 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 187 wizyt
pytanie zadane 27 grudnia 2016 w HTML i CSS przez Cezary Klauza Nowicjusz (210 p.)
0 głosów
1 odpowiedź 253 wizyt
pytanie zadane 28 października 2017 w PHP przez mikoh81 Obywatel (1,260 p.)

92,576 zapytań

141,426 odpowiedzi

319,652 komentarzy

61,961 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...