Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP-lomake (oon noob)

Sivun loppuun

zedo [08.03.2005 19:32:40]

#

Oon vielä vähän (tai oikeastaan aika paljon) noobi php:ssä, joten voisitteko auttaa?

Miten sais tehtyä lomakkeen (ei lomakkeen käsittely vaan ite lomake) php:llä. Sen pitäs lähettää tiedot "chat.php":lle. Täytettävä kenttä on "$msg" ja sen pitäs saada "$nick":n tiedot "index.php":ltä. Sitten se lähettää molemmat
($msg ja $nick) "chat.php":lle.

Kiitos paljon jos vaivaudutte auttamaan, sillä en ite millään oo saanu toimimaan.

Juice [08.03.2005 19:36:51]

#

<form action="chat.php" method="get">
<input type="text" id="msg" />
<br />
<input type="text" id="nick" value="<?php echo $nick; ?>" />
<input type="submit" value="Lähetä" />
</form>

Näin kaiketi.

zedo [08.03.2005 20:00:07]

#

Toimii melkein. muuten ihan ok, mutta siihen $nick:in kenttään ei tuu mitään. se jää tyhjäks vaikka siihen pitäs tulla se index.php:ssä annettu $nick. mikä on väärin? se on tarkotuksella että linkki indexissä on ikkuna.htm:ään.

index.php näyttää tältä:

<form method="post" action="boxi.php" name="nimi">

nimesi: <input name="$nick" type="text" value="" maxlength="30" size="20"><br>
<br>
<a href="ikkuna.htm">
<input name="submit" type="submit" value="sisään">
</a>
</form>

boxi.php näyttää tältä:

<form action="chat.php" method="get">
<input type="text" id="msg" />
<br />
<input type="text" id="$nick" value="<?php echo $nick; ?>" />
<input type="submit" value="Lähetä" />
</form>

samii [08.03.2005 20:47:01]

#

Joitakin "käsittämättömiä" juttuja tosta ainakin löytyy.

amaster kirjoitti:

index.php näyttää tältä:

<form method="post" action="boxi.php" name="nimi">
nimesi: <input name="$nick" type="text" value="" maxlength="30" size="20"><br>
<br>
<a href="ikkuna.htm">
<input name="submit" type="submit" value="sisään">
</a>
</form>

Form:sta voit ottaa "name":n pois.
Pitäisi varmaankin olla "<input name="nick"..." ? value:ta et tarvitse sinne, jos se on tyhjä.

Miksi toi "<a href="ikkuna.htm">" on tuolla? ja varsinkin miksi se on keskellä lomaketta?

amaster kirjoitti:

boxi.php näyttää tältä:

<form action="chat.php" method="get">
<input type="text" id="msg" />


<input type="text" id="$nick" value="<?php echo $nick; ?>" />
<input type="submit" value="Lähetä" />
</form>

Plöh. en jaksa enää kertoa virheitä.. / ihmetellä.

Olga [08.03.2005 22:02:14]

#

samii kirjoitti:

Form:sta voit ottaa "name":n pois.

Ei sitä suinkaan pidä ottaa pois, mikäli sitä jossain vielä tarvitsee (tyylit, javascript). Toki olisi suositeltavaa astua nykyaikaan ja korvata name id:llä

Biotank [08.03.2005 22:23:45]

#

Ihan näin uteliaana kysyn: onko id:llä ja name:lla mitään käytännön eroja, vai toimivatko ne aivan samalla tavalla?

Blaze [08.03.2005 22:36:42]

#

Id on (lähes) kaikilla elementeillä, name taas vain formielementeillä. Id:n voi viitata kätevästi CSS:llä, nameen ei. Id toimii kohdeankkurina (kuten <a name="muuli">), name ei (edit: paitsi tietenkin tuolla a-elementillä)

Mitä nyt näin äkkiseltään tulee mieleen.

Olga [08.03.2005 22:48:23]

#

Kyllä myös name voi toimia apuna CSS-tyyleissä. Eli jotain tyyliin input[name="butSave"] { background: #ccc; }. Mutta eivät tosiaan toimi IE:llä kuten tuossa yhdessä ketjussakin oli jo puhetta. Tosi harmi sinänsä, sillä noin olisi helppo määrittää eri tyylit esimerkiksi tekstibokseille ja namiskoille (eli input[type="text"] ja input[type="submit"].

Noh... takaisin IE:n seuraavaa versiota odottelemaan.

Blaze [08.03.2005 23:22:25]

#

Tuon sanan "kätevästi" oli tarkotus viitata just tuohon, että id-selektori toimii aina, kun nameen joutuu viittaamaan epäluotettavamman attribuuttiselektorin kautta, mutta oli kieltämättä vähän epäselvä.

zedo [10.03.2005 15:21:52]

#

samiille, että se <input name="$nick" ... >" oli tarkotuksella "$nick". Name:a en tiennyt korvata id:llä

Juice [10.03.2005 19:54:27]

#

Saattaa olla, ettei kannata laittaa tuota dollarinmerkkiä muuttujaan, koska se on turha ja voinee aiheuttaa hankaluuksia.

samii [10.03.2005 23:14:37]

#

amaster kirjoitti:

samiille, että se <input name="$nick" ... >" oli tarkotuksella "$nick". Name:a en tiennyt korvata id:llä

No jos siinä on "$nick" niin eikö php -muuttujan pitäisi olla silloin "$$nick" ?.. Ja tämä voi tuottaa ongelmia.

Juice [11.03.2005 18:41:37]

#

PHP-muuttuja on $_GET["$nick"], koska register_globals ei ole varmaankaan päällä. (vai onko se $_GET["\$nick"]... ota dollari pois. Se on turha.)

zedo [14.03.2005 16:41:53]

#

jaa no kiitos samiille, sillä aattelin että vaikka lisäisin sen $ -merkin jo html osassa nii se pysyis samanlaisena phpssäkin kun se on jo valmiiks siinä.


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta