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

Połączenie php z menu działającego za pomocą a href

Object Storage Arubacloud
+1 głos
84 wizyt
pytanie zadane 22 czerwca 2020 w PHP przez dzekson Nowicjusz (130 p.)

Cześć, mam na zadanie zrobić prostą stronę z ankietą, która zapisuje wyniki do bazy danych. Z tym sobie poradziłem, działa to jak należy, lecz chcę także zrobić podstronę, która by łapała odpowiedzi użytkowników. To też działa, lecz tylko gdy wypełnię całą ankietę i nacisnę przycisk wyślij. Całość jest w znaczniku form, gdzie jest atrybut action=wyniki.php, czyli miejsce, w którym znajduje się ten kod. Problem pojawia się, gdy chcę wejść z dowolnej podstrony tylko na podstronę wyniki, wtedy na stronie zamiast rezultatów zapytań z sqla wywala mi kod z php. Nie potrafię połączyć tego menu z phpem, stąd moja prośba do Was :)

Menu wygląda tak:

<div class="menu">
					<ul>
				<li><a href="index.php">Strona główna</a></li>
				<li><a href="ankieta.php">Ankieta</a></li>
				<li><a href="wyniki.php">Wyniki ankiety</a></li>
				<li><a href="wykonanie.php">Wykonanie</a></li>
						</ul>	
				
				
				</div>

natomiast strona, która przekierowuje mnie na wyniki.php po wciśnięciu przycisku wyślij jest wykonana tak:

<form  action="wyniki.php" method="post" name="ank">


// tresci ankiety

	<div class="button">
			
	
			
			<button type="submit" class = "button">Wyślij</button>
			
			
			</div>
				
	
				
					 <?php
	 
		if(isset($_POST["imie"])) 
		{
			include "dbconnect.php";
			$conn = mysqli_connect($host, $user, $pass, $db);
			$imie = $_POST["imie"];
			$wiek = $_POST["wiek"];
			$plec = $_POST["plec"];
			$miasto1 = $_POST["miasto1"];
			$taknie = $_POST["taknie"];
			$zapytanie = "INSERT INTO strona1(imie, wiek, plec, miasto, sport) VALUES ('$imie','$wiek','$plec','$miasto1','$taknie')";
			$result = mysqli_query($conn, $zapytanie);
			mysqli_close($conn);
		}
		
			
			
		?>
						
				
</form>

Z góry dziękuję za pomoc, gdyż nie wiem jak połączyć ten link z menu, aby działał na nim skrypt php.

komentarz 22 czerwca 2020 przez Bartek12 Mądrala (5,510 p.)
mógłbyś napisać nazwy plików, których kod przedstawiasz i przydałby się kod strony wyniki.php
komentarz 22 czerwca 2020 przez dzekson Nowicjusz (130 p.)
edycja 22 czerwca 2020 przez dzekson

Pierwszy kod był ze strony index.php i pokazywał kod samego menu, drugi ze strony ankieta2.php. 

Kod ze strony wyniki.php

<!doctype html>
<html>
     <head>
			<link rel="Stylesheet" type="text/css" href="style.css" />
			<meta charset="UTF-8">
			<title>Ankieta</title>
			 <link href="https://fonts.googleapis.com/css2?family=Raleway:wght@100;200;500&display=swap" rel="stylesheet"> 
     </head>
     <body>
	 
	<div class="poczatek">
		<nav class="menu">	
		<div class="srodek">
		
	
		
		
		
				<div class="menu">
					<ul>
				<li><a href="index.php">Strona główna</a></li>
				<li><a href="ankieta.php">Ankieta</a></li>
				<li><a href="wyniki.php">Wyniki ankiety</a></li>
				<li><a href="wykonanie.php">Wykonanie</a></li>
						</ul>	
				
				
				</div>
				<br><br>
				<p>Dziękujemy za wypełnienie ankiety. Poniżej znajdują się jej wyniki:</p>
				
		
	 
	 	
		
		<?php
	 
		if(isset($_POST["sport5"]))
		{
		
			include "dbconnect.php";
			$conn2 = mysqli_connect($host, $user, $pass, $db);
			$sport1 = $_POST["sport1"];
			$sport2 = $_POST["sport2"];
			$sport3 = $_POST["sport3"];
			$sport4 = $_POST["sport4"];
			$sport5 = $_POST["sport5"];
			$query = "INSERT INTO strona2 (Preferencja, Inny, Czesto, Ogladanie, Rola) VALUES ('$sport1','$sport2','$sport3','$sport4','$sport5')";
			$result2 = mysqli_query($conn2, $query);
			
			
		}		
	?>	
	 
 
	 
	 <p>Odpowiedzi na pytanie, jakim sportem się interesujemy:</p>
	
	 
	 <?php
	 $query2 = "SELECT Preferencja FROM strona2";
	 $result3 = mysqli_query($conn2, $query2);
	 while($row = mysqli_fetch_row($result3)) {
		 echo $row[0]."<br>";
	 }	
	 
	 
	 
	 
	 
	 
	 ?>
	 
	 
	 
	 
	 
	 
	 
	 
	 <?php
	 
	 
	 mysqli_close($conn2);
	?>
		</div>
	
	
	
	
	
	</div>
	 
	 
	 
		
	</div>
     </body>
</html>

Jest jeszcze niedorobiony, w sensie dodam w nim parę funkcji fetch dla innych pytań. Przepraszam też, jeśli składnia nie jest do końca czytelna, nie jest to moje naturalne środowisko pracy, a jedynie zaliczenie jednego przedmiotu na studiach.

 

 

EDIT: Problem został rozwiązany, trzeba było dodać połączenie z bazą danych w tym miejscu:

 <?php
		
		 $query2 = "SELECT Preferencja FROM strona2";
		 $result3 = mysqli_query($conn2, $query2);
		 while($row = mysqli_fetch_row($result3)) {
		 echo $row[0]."<br>";
	 }	

 

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 777 wizyt
0 głosów
2 odpowiedzi 503 wizyt
+1 głos
2 odpowiedzi 2,463 wizyt

92,617 zapytań

141,466 odpowiedzi

319,783 komentarzy

61,999 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!

...