ugrás a tartalomhoz

Archívum - Okt 23, 2013

Php funkció betöltése gombnyomásra hogyan?

viktor1230 · 2013. Okt. 23. (Sze), 21.01
Sziasztok azt hogyan lehetne megoldani hogy van egy buttonom amire ha kattintok betolt egy php folyamatot ez lenne a folyamat:
$facebook->setFileUploadSupport(true);
$album_details = array(
    'message'=> $barmi,
    'name'=> $barmi
);
$create_album = $facebook->api('/me/albums', 'post', $album_details);
$photo_details = array(
    'message'=> $barmi
);
$photo_details['image'] = '@' . realpath($barmi.'facebook/'.$user.'.jpg');
$upload_photo = $facebook->api('/'.$create_album['id'].'/photos', 'post', $photo_details);

És ha rákattint valaki a buttonra akkor lefusson ez

Hogyan lehetne megoldani? előre is köszönöm!
 

PHP - amit senki nem mondd el egy kezdőnek

Mikulasche · 2013. Okt. 23. (Sze), 20.18
Erre is magamnak kellett rájönnöm.

Meghívsz egy php file-t amiben nincs echo/print csak összerak valamit és visszaküldi annak a lapnak ahonnan meghívták.

header locationnal megy vissza

ha a location átirányítás sor után még vannak utasítások és függvények
azok végrehajtódnak annak ellenére, hogy az átirányítás már átdob.

/Ha csak nem irsz neki exit; -et location után/

Te már rég messsze jársz a php azonban szépen lefuttja a location utáni kódot.

Persze hogy hiba miatt jöttem rá erre.

Bent maradt egy session destroy a kód végén.
De én már jóval előbb header locationnal átmentem onnan.
Nem értettem mért nem működik a kódom.
Mert nem volt exit-em a session destroy lefutott,
csak néztem hol vannak a session változók.

Ez annyira egyszerű, épp ezért nem mondja el senki.
 

Object-Oriented Programming for Heretics

Hidvégi Gábor · 2013. Okt. 23. (Sze), 15.54
Egy alternatív megközelítés
 

header(Location: változóval, és session változó átadása

Mikulasche · 2013. Okt. 23. (Sze), 14.59
Ez nem kérdés, csak leírom a tapasztaltakat.
Mert leírva sehol nem volt és magamtól kellett két nap kínszenvedés, próbálkozás után rájönnöm.

Egy form-al elküldtem adatokat egy feldolgozo.php -nak ami azt rendben fel is dolgozta.
Az eredményt betettem $_SESSION[eredmeny], majd header location vitte vissza oda ahonnan a form el lett küldve.

Ahonnan a form el van küldve, az mindíg más hely lehet, mert a form includolva van egy csomó oldalba.
Ezért lekértem a form elküldése előtt az URI-t -

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI']

és a visszairányításnál
header("Location: $_SESSION[innenjott]"); /aposztróf kihagy!/
szépen vissza is küldte.

De a visszaküldésnél a $_SESSION[eredmeny] csak akkor jött át,
ha másodszor küldtem el a formot.
Az első elküldésnél semmi nem jött vissza.

Sokáig tartott míg ezer próbálkozással rájöttem, hogy

$_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL']

a jó megoldás.

Vissza is küld, és ott a $_SESSION[eredmeny] is.

A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URI'] - teljes útvonalat ad
A $_SESSION['innen_jott'] = $_SERVER['SCRIPT_URL'] - a domain utáni teljes útvonalat.

Csak leírom ezt, hátha valaha valakinek hasonló problémája lenne, pláne kezdőnek - mint én vagyok.