• 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 >

0 głosów
1,073 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 (291,530 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 (291,530 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 (86,380 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 (86,380 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 (86,380 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 (86,380 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ź 678 wizyt
pytanie zadane 21 września 2017 w PHP przez marczak01 Nowicjusz (120 p.)
0 głosów
2 odpowiedzi 443 wizyt
pytanie zadane 27 grudnia 2016 w HTML i CSS przez Cezary Klauza Nowicjusz (210 p.)
0 głosów
1 odpowiedź 382 wizyt
pytanie zadane 28 października 2017 w PHP przez mikoh81 Obywatel (1,260 p.)

93,742 zapytań

142,680 odpowiedzi

323,299 komentarzy

63,328 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

Twierdza Linux. Bezpieczeństwo dla dociekliwych

Aby uzyskać rabat -10%, użyjcie kodu pasja-linux, wpisując go w specjalne pole w koszyku.

...