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

Skrypt wykonujący się tylko 1 raz podczas sesji

–1 głos
288 wizyt
pytanie zadane 18 kwietnia 2016 w Sieci komputerowe, internet przez CzikaCarry Szeryf (75,340 p.)

Witam. Mam pytanie co do skryptów php. Otóż chcę, aby pewna czynność wykonywała się tylko raz na sesję (na samym początku), lecz nie wiem jak to zrobić. Próbowałem  require_once, include_once i nic nie daje zamierzonego rezultatu. Ma ktoś jakieś pomysły? Oto skrypt który ma się wykonać tylko 1 raz na sesję:


	
<?php	
@session_start();

$i=0;
	while($i<24)
	{
		$_SESSION['moc'][$i]=0;
		$_SESSION['ilosc'][$i]=0;
		$i++;
		
	}


?>
	

Skrypt ma się wykonywać na początku sesji przy wejściu na stronę index.php. Z góry dzięki za pomoc :D

2 odpowiedzi

0 głosów
odpowiedź 18 kwietnia 2016 przez PawełN Mądrala (5,340 p.)
wybrane 18 kwietnia 2016 przez CzikaCarry
 
Najlepsza

Na początku sprawdź czy istnieje któraś ze zmiennych, a jeśli nie to wykonaj to co klamrach:

if (!isset($_SESSION['moc'])) {
  // tu wstaw pętle ustawiającą wartości
}

A nawiasem mówiąc to ta pętla będzie czytelniejsza jeśli użyjesz for(;;):

for ($i=0; $i<24; $i++)
{
  $_SESSION['moc'][$i]=0;
  $_SESSION['ilosc'][$i]=0;
}

 

komentarz 18 kwietnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Ok dziękuję! A jeszcze jedno pytanko. Jak ostawiam wartość zmiennej na null, to jak próbuję użyć tej zmiennej jako value pola input to zamiast pustego pola w polu mam "/". Można coś na to zaradzić? A tak poza tym używam pętli while bo nie lubię pętli for. Nie wiem dlaczego, ale coś mnie od niej odrzuca :D
komentarz 18 kwietnia 2016 przez PawełN Mądrala (5,340 p.)
pokaż jak wygląda ten input w php
komentarz 18 kwietnia 2016 przez CzikaCarry Szeryf (75,340 p.)

 

echo					'<td class="tg-s6z2"><input type="text" name="moc[0]"  size="1" value= '.$_SESSION['moc'][0]. '  /></td>';

 

komentarz 18 kwietnia 2016 przez PawełN Mądrala (5,340 p.)

wartość dla value= musisz złapać w cudzysłów:

	
echo '<td class="tg-s6z2"><input type="text" name="moc[0]" size="1" value="'.$_SESSION['moc'][0].'" /></td>';

 

komentarz 18 kwietnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Dzięki wielkie! Tego szukałem :D
0 głosów
odpowiedź 18 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
@session_start();

Yyyyy... że co? Po co tam ta małpa?

komentarz 18 kwietnia 2016 przez CzikaCarry Szeryf (75,340 p.)
Ta małpa służy do wyciszania błędów :D
komentarz 18 kwietnia 2016 przez Mateusz11 Pasjonat (22,910 p.)
Ale jakie masz błędy? session_start() wyświetla błędy gdy już wcześniej rozpocząłeś sesje, i chcesz ją rozpocząć 2 raz. Jak nie ma tej małpy to co Ci się wyświetla?

Podobne pytania

0 głosów
1 odpowiedź 219 wizyt
pytanie zadane 5 czerwca 2016 w PHP przez DaltooN Początkujący (430 p.)
0 głosów
4 odpowiedzi 644 wizyt
pytanie zadane 19 stycznia 2016 w PHP przez bnVsbA== Początkujący (370 p.)

93,427 zapytań

142,421 odpowiedzi

322,649 komentarzy

62,787 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

VMware Cloud PRO - przenieś swoją infrastrukturę IT do chmury
...