Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Update session
Forum PHP.pl > Forum > Przedszkole
essa
Witam zaczynam z php, ponieważ muszę zrobić strone do mojego serwera z gry, który jest połączony baza danych.
Mam problem gdy klikam "Dodaj Monete" dodaje ją i wykonuje update do bazy lecz nie aktualizuje mi sesji mógłby ktoś mnie naprowadzić co zrobić ? smile.gif
Pozdrawiam .
Pokazanie monety :
  1. echo 'Twoje monety : '.$_SESSION['monety'].'.<br />';

Przycisk:
  1. echo '<li><a href="" onclick="dodajemy(1)"><span class="flag flag-usa flag-1x" ></span>DODAJ MONETE</a></li>';

Skrypt:
  1. <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  2. function dodajemy($id){
  3. //get the input value
  4. $.ajax({
  5. //the url to send the data to
  6. url: "essa.php",
  7. //the data to send to
  8. data: {id : $id},
  9. //type. for eg: GET, POST
  10. type: "POST",
  11. //on success
  12. success: function(data){
  13. console.log("***********Success***************"); //You can remove here
  14. console.log(data); //You can remove here
  15. },
  16. //on error
  17. error: function(){
  18. console.log("***********Error***************"); //You can remove here
  19. console.log(data); //You can remove here
  20. }
  21. });
  22. }
  23. </head>
  24. </html>

tutaj plik essa.php
  1. <?php
  2. $servername = "localhost";
  3. $username = "root";
  4. $password = "";
  5. $dbname = "cs";
  6.  
  7. $conn = new mysqli($servername, $username, $password, $dbname);
  8.  
  9. if ($conn->connect_error) {
  10. die("Connection failed: " . $conn->connect_error);
  11. }
  12. $id = $_POST['id'];
  13. $name = $_SESSION['name'];
  14.  
  15.  
  16. $sql = "UPDATE csgo SET monety = monety + 1 WHERE name = '$name'";
  17.  
  18. if ($conn->query($sql) === TRUE) {
  19. header("location:index.php");
  20. $_POST['monety'] = $_SESSION['monety'];
  21. echo "New record updated successfully your id/ name ".$id.", ". $name. "";
  22. } else {
  23. echo "Error: " . $sql . "<br>" . $conn->error;
  24. }
  25. $conn->close();
  26. ?>
nospor
W czasie update nigdznie nie zapisujesz nowej wartosci do $_SESSION['monety'] to niby czemu mialby ci tam cos zmienic?
essa
Mógłbyś wyjaśnić bardziej lub pokazać na przykładzie ?
nospor
A co tu bardziej wyjasniac? Skoro chcesz miec nowa wartosc w sesji to te wartosc masz tam wpisac

$_SESSION['monety'] = 'nowa wartosc';
essa
Dobrze załóżmy że po wykonaniu UPDATE dam $_SESSION['monety'] = $monety; to przejściu na index.php wyświetla się, Twoje Monety : . czyli dokładnie nic ;D
a w index.php mam :
  1. echo 'Twoje monety : '.$_SESSION['monety'].'.<br />';
nospor
$_SESSION['monety'] = $monety
facepalmxd.gif
Przeciez nigdzie nie masz zmiennej $monety wiec skoro do sesji zapisujesz NIC to i NIC dostajesz. Wlacz myslenie.

Skoro zwiekszasz monety o 1 w bazie, to i chyba w sesji masz zwiekszyc o 1 co nie?


$_SESSION['monety']++;
i juz
essa
o chłopie jesteś bogiem, dziękuję ci bardzo ! smile.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.