» »

[JS / PHP] miniajax post

[JS / PHP] miniajax post

cobrica ::

Imam težavo pri eni skripti, ki jo poganja miniajax knjižica in sicer ne dobim ničesar iz $_FILES polj?
Zgleda da ne pošlje podatkov preko POST, da očitno ne deluje prav?
Source:
koda.php
<script>
		function pojdi(akcija)
		{
			ajax.submit('ajax.koda.php?akcija='+akcija, 'vsebina', $('forma'));
			document.getElementById('vsebina').innerHTML = '<img src="loading.gif" />';
		}
		</script>
	</head>
	<body onload="pojdi('pregled');">
	<form id="forma" name="forma" method="post">
	<input type="button" value="Dodaj" onClick="pojdi('novica'); return false;">
	<input type="button" value="Brisi" onClick="pojdi('brisi'); return false;">
	<input type="button" value="Uredi" onClick="pojdi('novica'); return false;">
	<div id="vsebina">	
	</div>
	</form>


koda.ajax.php
if($_GET['akcija'] == 'novica'){
var_dump($_FILES);
	if($_GET['kaj'] == 'logo'){
	move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $_FILES["file"]["name"]);
     echo $_FILES["file"]["name"];
	}
	if($_GET['kaj'] == 'shrani'){
		$id = $_POST['id'];
		$naslov = $_POST['naslov'];
		$vsebina = $_POST['vsebina'];
		if(empty($naslov) OR (empty($vsebina))){
			$napaka = "izpolni vsa obvezna polja";
		} else {
			if(!empty($_POST['id'])) {
				mysql_query("UPDATE novice SET naslov = '$naslov' , vsebina = '$vsebina' WHERE id='$id'");
				header('Location: '.$_SERVER['PHP_SELF']);  
			} else {
				mysql_query("INSERT INTO novice (naslov, vsebina)VALUES('$naslov','$vsebina')");
				header('Location: '.$_SERVER['PHP_SELF']);  
			}
		}
	}
	if($_GET['id'] !== null) {
		$baza =  mysql_query("SELECT * FROM novice WHERE id='$id'");
		$naslov = @mysql_result($baza, 0, 'naslov');
		$vsebina = @mysql_result($baza, 0, 'vsebina');
		$id = @mysql_result($baza, 0, 'id');
	}
?>
Naslov: <input type="text" value="<?php echo $naslov;?>" name="naslov"><br>
Vsebina: <input type="text" value="<?php echo $vsebina;?>" name="vsebina"><br>
<label for="file">Filename:</label>
<input type="file" name="file" id="file" onclick="this.submit();"><br>
<input type="submit" name="submit" value="Submit" onclick="pojdi('novica&kaj=logo');">
<input type="hidden" name="id" value="<?php echo $id;?>">
<input type="submit" value="Pošlji" name="shrani" onClick="pojdi('novica&kaj=shrani'); return true;" />
<?php echo $napaka; } ?> 
  • spremenil: Mavrik ()

carota ::

Najprej poglej kaj ti pravi FireBug, potem se pogovarjamo dalje. :)

cobrica ::

Firebug nič ne pravi, ker prazen array() ko izpišem var_dump($_FILES);

carota ::

Tam si napisal "Zgleda da ne pošlje podatkov preko POST, da očitno ne deluje prav?"
V Firebugu ti lepo pokaže kaj postaš poglej in pripni screenshot. Lahko pa tudi Javascript debugiraš in vidiš če/kje se zaštrika.
Sicer pa ne poznam "miniajax knjižnice", ker uporabljam za take stvari jQuery.

cobrica ::

Da vemo o kateri stvari govorim http://code.google.com/p/miniajax/ . Skrin od posta
. Mislim da je problem v tem, da preko GET metode ne pridobi podatkov o datoteki, medtem ko pri POST dobi? Vsaj tako sem prebral da pišejo po forumih.

carota ::

Manjka še screenshot od "Response" taba. :)

Ta miniajax se mi zdi bolj tako ... Kaj če bi uporabil kaj bolj preverjenega/zanesljivega/podprtega kot je npr. jQuery? Tukaj imaš primer ko izgleda AJAX post z njim: link. Pa še en kup zadev omogoča zraven, tako da si ne predstavljam web projekta brez njega.

cobrica ::

Pa je mogoče pri jquery naredit tudi neke vrste implementacijo, da imam samo 4 fixne gumbe dodaj,uredi... in pa potem vsebino ki se nalaga ob klik na gumb. Recimo pri dodaj odpre formo z vsemi inputi, kamor vneseš sestavine in potem posta. Po postu pa na stran z predogledom vseh novic, itd..? Gre se mi predvsem za to, da nebi imel preveč datotek brezpotrebe.

keworkian ::

Rajše naredi en iframe in notri formo za nalaganje pa jo normalno submitaj, preko ajax ne morš nalagat datotek.
Obscenities in B-Flat

cobrica ::

Sem vse skupaj opustil in rešil z samim pehapejem in redirekti, je*** non refreshing loadanje, če stvar v IE ne funkcionira kot bi mogla.. Imam pa eno vprašanje za kakšen manjši CMS sistem se splača uporabit SQLite ali bolše da uporabim MySQL? Sicer sem že en news sistem izdelal tudi z pb sqlite in dela kul ampak malo cvikam kako se bo odzivalo ko bo malo več polnih novic nafilanih, glede na to da je sqlite samo flat file, ki samo indexira podatke po datoteki? Kakšno mnenje, pripomba bi mi prav prišla, da vem če vstrajam na sqlite ali raje uporabim mysql.

carota ::

SQLite in MySQL imata vsaka svojo namembnost. Za CMS nimaš kaj razmišljat, MySQL. Že ki si pri tem, uporabi PDO (PHP Data Objects).

nekdonekje ::

Za non refreshing client ui bi lahko uporabo kaki Backbone.js + jquery ali AngularJS.

cobrica ::

Nebom uporabljal nobenega klienta, ker potem vse izdelam, sprobam v IE pa ne dela 10% stvari, tko da zaenkrat bom še vstrajal na starodavnem redirektu. Na kakšen način pa deluje PDO?Še nisem zasledil do sedaj nič o tej pb?

carota ::

Ne spomnem se, da bi jQuery v katerem browserju deloval drugače kot v drugem.

Why you Should be using PHP's PDO for Database Access.

cobrica ::

Malo potestiraj kakšne JS ukaze v Chrome-ju al pa IE ko že celotno stran narediš, pa ti stranka reče, ja v browserju to ne dela in tipično zmeraj IE. Zato se bom zaenkrat pustil to na strani, pa bom mogoče čez nekaj časa zopet začel z uporabo.


Vredno ogleda ...

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

[php, mysql] sortiranje izpisa iz baze

Oddelek: Izdelava spletišč
262566 (2085) Binji
»

php variable scope problem

Oddelek: Izdelava spletišč
81179 (1092) darh
»

sort

Oddelek: Izdelava spletišč
51212 (1133) darh
»

Kaj je narobe tu...(php)

Oddelek: Programiranje
51127 (1025) teac
»

MySQL & PHP napaka..

Oddelek: Programiranje
211646 (1461) lordgreg

Več podobnih tem