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

php - ankieta na najladniejsze imie

VPS Starter Arubacloud
0 głosów
182 wizyt
pytanie zadane 2 marca 2021 w PHP przez domkub12 Początkujący (480 p.)
<?php
session_start();
$imie = $_GET['imie'];


	setcookie($imie, '1', time() + 3); // 86400 = 1 day	
	

		
?>

<!DOCTYPE HTML>
<html lang = "pl">
<head>
<meta charset = "utf-8"/>
</head>
<header>
<?php
			echo "<h1>Witaj w głosowaniu: $imie</h1> ";
?>
</header>
<body>
<main>
 
     <form method="post">
            
            <label for="pierwsza"> Twoja odpowiedź: </label>
            <input type="text" size="10" id="text" name="text">
            </br></br>
            <input type="submit" id="przeslij" name="przeslij" value="Sprawdź"/>
			<?php 			
			echo '<br><a href="usun.php">Wyloguj</a>';
			?>
</br></br>


<?php
		if(isset($_POST['text'])){
			$text = $_POST['text'];}
                 
        if(isSet($_COOKIE)){
                if(count($_COOKIE)==1) {
                        echo("</br>");
                        $plik =  fopen('plik1.txt','a+');
                        fwrite($plik, $text);
                        fwrite($plik, ", ");
                        readfile('plik1.txt');  
                        fclose($plik);
                }else{
                        print("Oddałeś już głos!");
                        print("Cookies are disabled.");
                        session_destroy();
                }
       
        }else{
                print("sesja skończona");
                session_destroy();
        }
?>

Mam problem ze cały czas pokazuje mi ze uzytkownik oddal juz gos. Staralem sie zrobic program w ktorym uzytkownik moze oddac głos tylko 1 raz + brakuje mi skryptu na wyrzucenie z sessji kiedy uzytkownik nie jest aktywny , z gory dziekuje za kazda pomoc

komentarz 2 marca 2021 przez Michał Kazula Pasjonat (19,540 p.)
Moim zdaniem logika PHP jest w złym miejscu. Przeżyć ją wyżej przed HTML.

Po drugie pewny jesteś że session_destroy usuwa twój cookies?

Po trzecie staramy się nie mieszać kodu PHP i HTML

1 odpowiedź

0 głosów
odpowiedź 3 marca 2021 przez niezalogowany
edycja 3 marca 2021

Funkcja session_destroy() niszczy aktualną sesję a do przechowywania odpowiedzi używasz cookie. Żeby wyczyścić cookie możesz użyć setcookie($imie, null, 1).

pozatym:

Znacznik <br> jest nieparzysty (nie ma otwarcia i zamknięcia) czyli powinno być <br> lub <br /> zamiast </br>

Zamiast

echo "<h1>Witaj w głosowaniu: $imie</h1> ";

jeżeli do h1 doszły by jakieś atrybuty było by coraz mniej czytelne. Można użyć na przykład:

<h1>Witaj w głosowaniu: <?= $imie ?></h1> 

jeżeli używasz cookie a nie sesi to nie ma potrzeby iniciowania sesi (session_start())

Podobne pytania

+1 głos
1 odpowiedź 224 wizyt
pytanie zadane 9 maja 2021 w PHP przez Filipczak Gaduła (4,020 p.)
0 głosów
0 odpowiedzi 290 wizyt
pytanie zadane 27 stycznia 2020 w PHP przez veryape Użytkownik (580 p.)
0 głosów
1 odpowiedź 1,172 wizyt
pytanie zadane 4 listopada 2019 w PHP przez jared Gaduła (3,600 p.)

92,453 zapytań

141,262 odpowiedzi

319,086 komentarzy

61,854 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

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 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!

...