» »

php mysql query in redirect zatem

php mysql query in redirect zatem

gufy123 ::

Zdravo!
Delam eno stran s kombinacijo PHP in MySQL, zaenkrat je čist lokalno na Easy PHP. Imam problem pri update queryju in nato redirectu na index.php s funkcijo header("location:index.php").
Torej, imam stran s formo (en text input - naslov, en textarea - vsebina), ob kliku na submit kličem funkcijo, ki ji kot parametre podam 4 vrednosti:id userja, datum, vrednost iz text polja in vrednost iz input polja. Izvede se mysql_query s temi 4 vrednostmi, nato se kliče header funkcija. Dokler je vsebina majhna (npr. do 400 znakov) ni problema z redirectom na naslednjo stran. Če pa je vsebina večja (npr. 1700 znakov), se redirect ne izvede.

Kako naj poiščem problem? Imate kak nasvet kako naj bi se drugače reševalo tako enostavno "urejanje" novic, vpisov in podobnega?

Lp
Matej

gufy123 ::

Malo surfanja po slo-techu je navrglo naslednjo rešitev, ki očitno dela:
echo "<script>window.location='/pot/datoteka.html'</script>"; 


Kako je v splošnem z mešanjem "jezikov", torej da med php vstavim malo javascripta, pa html...?

KoMar- ::

Ni lepo, ampak če si sam na projektu in so glavni rezultati, ti nihče ne bo zameril :))

MrBrdo ::

header ne bo delal če se je pred tem že karkoli izpisalo... tako da če ti je query metal kakšen warning/notice ven potem zato ni delal redirect. kakšnega drugega razloga jaz ne vidim, zakaj nebi delalo z header.

mešanje kode načeloma je slabo, drugače pa tako kot je KoMar- rekel. Je pa bad practice. Ponavadi se uporabljajo templati.
MrBrdo

gufy123 ::

Projekt je zastojnski, tko da glede tega ni problema.
"header" sem imel vključen v fajlu s formo in nekaj php kode, ki se izvede ob submitu ali v drugem primeru v funkciji, ki ima samo mysql_query za update ene tabele. Tko da se ni nič izpisovalo, delalo pa je v primeru manjše količine podatkov.

MrBrdo, kako se običajno rešuje tak problem s templati? Forma mora bit nekje, php koda za action ob submitu pa še query na bazo.

schtr4jh ::

news.php
<?php
$q = mysql_query("SELECT ... FROM news ...");
while ($r = mysql_fetch_array($q)) {
parseTpl("news", $r);
}
?>


news.tpl
<h1>Novice</h1>
#news start#
<h2>#r.title#
#r.content#
#news end#


Sintaksa v različnih templating sistemih je različna, enostavno uporabljaš nekaj, kar ti je kul in to je to.
E-commerce & Marketing platform - comms.dev

Zgodovina sprememb…

  • spremenil: schtr4jh ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

HTML in SQL pomoč (strani: 1 2 )

Oddelek: Programiranje
517575 (6453) def0r
»

PHP - header : javi napako

Oddelek: Izdelava spletišč
61299 (1254) Camel
»

[JS / PHP] miniajax post

Oddelek: Programiranje
131028 (762) cobrica
»

[php] Knjiga gostov

Oddelek: Izdelava spletišč
293152 (2355) darix
»

HTML forma in datum

Oddelek: Izdelava spletišč
131788 (1524) Muzo

Več podobnih tem