| |
Zanima me kako,lahko ko,insertaš nekaj v bazo,da bi automacko ispisalo podatek ne pa da,moreš refrešat stran pa ti izpiše iz baze lp.
spremenjeno: NikMan (26.3.2015, 23:51)
|
| |
| |
Realno casovno gledano bi lahko skripta (ajax) na strani potekala tako: Vsakih nekaj sekund ponovi: -Poslji zahtevo za stevilko zadnega id-ja entitete v tabeli -Ce je stevilka ki jo dobis nazaj razlicna od te ki jo imas lokalno shranjeno si zapisi to stevilo namesto starejsega in poslji zahtevo ki ti vrne vnose v tabeli in jih izpises -ce id ni razlicen pomeni da vnosa ni bilo in ne rabis nalagat.
|
| |
| |
Rad bi naredil tako, kot ima zmaga.
spremenjeno: podtalje (27.3.2015, 5:01)
|
| |
| |
Na zmagi se recimo tukaj na forumu ne uporablja ajax, ampak gre za običajno ponovno nalaganje strani.
Ko narediš objavo, se podatki pošljejo na isto stran. Na strani pa skripta čisto na začetku vpiše v bazo, nato pa vse skupaj normalno prikaže z novo objavo.
Tu je edino trik, da se po vpisu v bazo naredi redirect s header(), s čimer se prepreči, da bi F5 refresh strani še enkrat objavil isto objavo.
|
| |
| |
Problem je header,če dam exit potem refresha in mi ne pokaže formo
|
| |
| |
Kakšen header, kakšen exit?
Malo se boš moral potruditi in bolj natančno opisati, kako imaš narejeno. Po možnosti prilepi tudi kakšno kodo iz tvoje strani.
Ker drugače ne moremo kaj dosti pomagati.
|
| |
| |
*/ if(isset($_POST['submit'])) { $rv = mysql_query("SELECT * FROM konverzacija_u WHERE uidp =$id " ; $ds = mysql_query("SELECT * FROM msg WHERE uidp=$id " ; $msg = mysql_num_rows($ds); $to = mysql_num_rows($rv); echo $to; echo $msg; if($to !== 1 ){ if($uid_k == $es->id){ if(!empty($_POST['poruka']) && !empty($poslo) && !empty($uid_k)&& !empty($uid)) {
mysql_query("INSERT INTO msg (uidp,uid,uid_k,poslo,kome,poruka,datum) VALUES ('$uidp','$uid','$es->id','$poslo','$poruka','$datum' " ; header( "poruka.php?id=$id" ) ; exit;
} } else if(!empty($_POST['poruka']) && !empty($poslo) && !empty($uid_k)&& !empty($uid) && !empty($uidp)) { mysql_query("INSERT INTO msg (uidp,uid,uid_k,poslo,poruka,datum) VALUES ('$uidp','$uid','$uid_k','$poslo','$poruka','$datum' " ; header( "poruka.php?id=$id" ) ; exit;
} } else if(!empty($poslo) && !empty($uidp) && !empty($user_id) ) { mysql_query("INSERT INTO konverzacija_u (uidp,user_id,poslo) VALUES ('$uidp','$user_id','$poslo' " ;
} } else echo "Ne gre posilanje";
echo "<form method='post' action='poruka.php?id=$id '>
<label> </label> <p class='input-block'> <textarea name='poruka' id='comments' cols='150' rows='3'></textarea> </p> <p class='input-block'> <button class='orange_button' name='submit' type='submit' id='submit'>Pošalji poruku </button> </p> </form>"
?>
*/
|
| |
| |
Najbolj očitna napaka je, da narobe uporabljaš funkcijo header();
Pravilna sintaksa je:
header('Location: http://tvoja.domena.com/' . "poruka.php?id=$id" ;
Skratka obvezno moraš dodati "Location:", zelo priporočljivo pa je, da notri daš celoten http naslov do datoteke.
spremenjeno: podtalje (29.3.2015, 1:08)
|
| |
Prikazujem 1 od skupno 3 strani |
|