Kun JavaScriptillä lomakkeen voi lähettää submit-metodilla, niin löytyykö PHP:n funktioista jotain vastaavaa, jolla voisi "simuloida" buttonin painalluksen ja lähettää lomakkeen tiedot?
Ei, ellet sitten puhu jostain virityksestä jossa PHP suoritetaan selaimen päässä.
Aivan järjetön kysymys, sillä jos lomake lähetetään jo palvelinpäässä, käyttäjä ei voi kirjoittaa siihen mitään. Jos haluat lähettää jotakin POST-metodilla, kirjoita suoraan otsikkotietoihin.
Juhko kirjoitti:
Aivan järjetön kysymys, sillä jos lomake lähetetään jo palvelinpäässä, käyttäjä ei voi kirjoittaa siihen mitään. Jos haluat lähettää jotakin POST-metodilla, kirjoita suoraan otsikkotietoihin.
Oikeastaan käyttäjän ei ollut edes tarkoitus kirjoittaa siihen mitään... Lomakkeen tarkoituksena olisikin ollut vain se, että sillä olisin siirtänyt oletustietoja POST-metodin avulla, kun en ole aivan perillä siitä, että miten PHP:ssä voi otsikkotietoihin kirjoittaa ja postailla niitä.
No postina saat lähetettyä lähinnä silleen, että teet lomakkeen jossa tiedot on hidden -kentissä. Tosin käyttäjän pitää silti painaa "submit" tai sitten sillä täytyy olla skriptit päällä, että skripti voi lähettää lomakkeen.
Headereihin ei saa upotettua post tietoa.
Tosin tää on taas tätä, että onko pakko tehdä asiat aina vaikeesti.
Kannattaisi mieluiten kertoa, mitä on tarkoitus saada aikaan (tätä et vieläkään kertonut), kun et ilmeisesti ole lainkaan perillä siitä, miten voit sen tehdä. Mikä on alkutilanne, mistä data tulee, minne sen pitää mennä, ja millainen lopputuloksen pitäisi olla?
Ihmiset eivät oikeen suostu ymmärtämään PHP:n systeemejä. Palvelinpään ja selainpään ohjelmointi on kaksi täysin eri asiaa.
Mutta asiaan. JavaScriptillä voit tietysti lähettää lomakkeen, ilman että varsinaista "lähetä"-nappulaa painetaan.
<form id="lomake"> ... </form> <div onmouseover="document.getElementById('lomake').submit()">moi</div>
En nyt ole ihan varma onko se tuo submit(), mutta google auttaa.
E: Olis voinu ottaa silmän käteen ennen kun tätäkin menin kirjottaan...
Tämmönen asetelma mulla on joskus ollut, että lomake pitäisi käsitellä kahdessa eri paikassa. Ensin siis lomake lähetetään palvelimelle 1, joka kirjoittaa tietoja ylös. Sitten käyttäjälle pistetään Location -headeri palvelimelle 2, mutta miten lomakkeen (loput) tiedot saisi siirtymään sinnekin, jos käyttää POST -metodia?
Tästä saattaisi olla jotakin apua (itse en ole testannut).
Aihe on jo aika vanha, joten et voi enää vastata siihen.