Jak ajaxowo odświeżyć stronę?

0

Pytanie może banalne, ale okazuje się, że nie mam problem z tym otóż mam część takiego fragmentu kodu

plik kalendarz.php

 print ("<input type = \"button\" value =\"Dodaj substancje\"
    onclick = \"getData2('dodaj.php?id_usera=$id_usera[0]',
    'dodaj')\"></form>");
      print ("<div id=dodaj></div>

To jest tylko mała część kodu
plik dodaj.php

      print ("<font class=dobrze>Pomyślnie dodano lek </font>");
      
      print ("<meta http-equiv=\"Refresh\" content=\"1\" />");
    }
    else {
      $data3 = $rok . "-" . $miesiac . "-" . $dzien . " " . $godzina . ":" . $minuta  .":"  . "00"; 

To jest tylko małą część kodu

I teraz problem w tym, że plik ajaksowy nie odświeża strony i nie wiem jak zrobić, żeby tą stronę odświeżał.

0

zrób sobie po odebraniu danych z ajax window.location.href = window.location.href

0

Niestety nie działa.

0

wklej kod

0

Tu jest kod pliku ajaxowego

<?php
header('Content-Type: text/html; charset=utf-8');
  require("./clasy/config.php");
  require("./funkcje.php");
  polacz_z_baza();
  mysql_query("SET NAMES utf-8");

  
  
  $nazwa = atak_sql($_GET["nazwa"]);
  $nazwa2 = atak_sql($_GET["nazwa2"]);
  $dawka = atak_sql($_GET["dawka"]);
  $dawka2 = atak_sql($_GET["dawka2"]);
  $opis2 = atak_sql($_GET["opis2"]);
  $rok = atak_sql($_GET["rok"]);
  $miesiac = atak_sql($_GET["miesiac"]);
  $dzien = atak_sql($_GET["dzien"]);
  $godzina = atak_sql($_GET["godzina"]);
  $minuta = atak_sql($_GET["minuta"]);
  //print $opis;
  $id_usera = atak_sql($_GET["id_usera"]);
  //print $nazwa . "<br>" . $nazwa2;
  $sprawdz_lek = mysql_query("select nazwa,id from substancje where nazwa = '$nazwa' and id_usera = '$id_usera' ");
  $sprawdz_lek = mysql_fetch_array($sprawdz_lek);
  $sprawdz_lek2 = mysql_query("select nazwa,id from substancje where id = '$nazwa2' and id_usera = '$id_usera' ");
  $sprawdz_lek2 = mysql_fetch_array($sprawdz_lek2);
  if ($sprawdz_lek[0] == "" and $nazwa != "") print ("<font class=blad>W bazie nie ma takiej substancji musisz ją dodać</font><br>");
  if ($dawka2 == "") print ("<font class=blad>Nie ustaliłeś dawki</font>");
  else if ($sprawdz_lek[0] != "" or $sprawdz_lek2[0] != "") {
    if ($rok == "" and $miesiac == "" and $dzien == "" and $godzina == "" and $minuta == "") {
      $data = date("Y-m-d H:i:s");
      $data2 = explode(" ",$data);

      if ($sprawdz_lek[1] == "") {
	  mysql_query("insert into spozycie (porcja,data,opis_spozycia,id_usera,rodzaj_porcji,id_substancji,data2) values ('$dawka2','$data','$opis2','$id_usera','$dawka','$sprawdz_lek2[1]','$data2[0]') ");
      }
      else {
      	  mysql_query("insert into spozycie (porcja,data,opis_spozycia,id_usera,rodzaj_porcji,id_substancji,data2) values ('$dawka2','$data','$opis2','$id_usera','$dawka','$sprawdz_lek[1]','$data2[0]') ");
      }
      

      print ("<font class=dobrze>Pomyślnie dodano lek </font>");
      
      print ("<meta http-equiv=\"Refresh\" content=\"1\" />");

    }
    else {
      $data3 = $rok . "-" . $miesiac . "-" . $dzien . " " . $godzina . ":" . $minuta  .":"  . "00";
      $data4 = $rok . "-" . $miesiac . "-" . $dzien;
      if (!checkdate($miesiac,$dzien,$rok) or $godzina == "" or $godzina < 0 or $godzina > 23 or $minuta == "" or $minuta < 0 or $minuta > 59  ) {
	  print ("<font class=blad>Ta data jest błędna wpisz poprawną datę</font>");
      }
      else {
	  if ($sprawdz_lek[1] == "") {
	    mysql_query("insert into spozycie (porcja,data,opis_spozycia,id_usera,rodzaj_porcji,id_substancji,data2) values ('$dawka2','$data3','$opis2','$id_usera','$dawka','$sprawdz_lek2[1]','$data4') ");
	}
	else {
	    mysql_query("insert into spozycie (porcja,data,opis_spozycia,id_usera,rodzaj_porcji,id_substancji,data2) values ('$dawka2','$data3','$opis2','$id_usera','$dawka','$sprawdz_lek[1]','$data4') ");
	}      
            print ("<font class=dobrze>Pomyślnie dodano lek</font>");
      }
      
    }
  
  
  }
  
?>
 
1

po cholere odświeżać stronę ajaksem? po to jest ajax żeby jej nie odświeżać
zrób sobie zwykły formularz jak chcesz z odświeżaniem

0

no i co mi z tego kodu? przecież to nie kod php, a nawet mimo to - nie zawiera on tego, co Ci wpisałem w poście wyżej

czyli pewnie nie zrobiłeś nic, poza napisaniem posta, że "nie działa"

0
 print ("<font class=dobrze>Pomyślnie dodano lek </font>");
$nazwa = atak_sql($_GET["nazwa"]);
...
$id_usera = atak_sql($_GET["id_usera"]);
....
$sprawdz_lek = mysql_query("select nazwa,id from substancje where nazwa = '$nazwa' and id_usera = '$id_usera' ");
 print ("<font class=blad>W bazie nie ma takiej substancji musisz ją dodać</font><br>");
 
$dawka = atak_sql($_GET["dawka"]);
  $dawka2 = atak_sql($_GET["dawka2"]);
...
mysql_query("insert into spozycie (porcja,data,opis_spozycia,id_usera,rodzaj_porcji,id_substancji,data2) values ('$dawka2','$data','$opis2','$id_usera','$dawka','$sprawdz_lek2[1]','$data2[0]') ");

To jest tylko mała część kodu
Przykro mi.

mieszasz logikę(PHP) z widokiem(HTML), oraz stosujesz przestarzały kod HTML (nie używa się font, od tego jest CSS). W dodatku mylisz pojęcia (AJAX zamiast JavaScript).

edit: skreśliłem jedno zdanie, bo przeoczyłem, że przepuszczasz to przez funkcję atak_sql, która zabezpiecza jak się domyślam (wydawało mi się, że w ogóle podajesz je prosto z GET). Ale i tak kod jest koszmarny.

1 użytkowników online, w tym zalogowanych: 0, gości: 1