Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: Problėmos su user_birthdate.

Parašė Kwyn· 2008 Rugp. 26 10:08:41
#1

Man ištiko tokia problėma su user_birthdate. Dabar rašau savo TVS, (forumas ir registracija jau beveik baigti), bet iškilo problėmos kai vartotojas registruodamasis įveda savo gimimo datą.
Kodas maždaug atrodo taip:

<tr>
  <td><input type="text" name="birth_day" size="1"  maxlength="2">
      <select name="birth_month">
        <option value="empty" selected></option>
        <option value="sausio">Sausio</option>
        <option value="vasario">Vasario</option>
        <option value="kovo">Kovo</option>
        <option value="balandžio">Balandžio</option>
        <option value="gegužės">Gegužės</option>
        <option value="birželio">Birželio</option>
        <option value="liepos">Liepos</option>
        <option value="rugpjūčio">Rugpjūčio</option>
        <option value="rugsėjo">Rugsėjo</option>
        <option value="spalio">Spalio</option>
        <option value="lapkričio">Lapkričio</option>
        <option value="gruodžio">Gruodžio</option>
      </select>
      <input type="text" name="birth_year" size="3" maxlength="4">
  </td>
</tr>
</table>


<?php
if ($_POST['birth_day'] != 0 && $_POST['birth_month'] != 0 && $_POST['birth_year'] != 0) {
      $user_birthdate = (($_POST['birth_day']) ? $_POST['birth_day'] : "00")
                             ."-".(($_POST['birth_monthh']) ? $_POST['birth_month'] : "00")
;
} else {
  $user_birthdate = "00-00-0000";
}
?>




Kai vartotojas įveda savo gimimo datą ir spaudžia "Registruotis", man į duomenų bazės lentelę laukelyje user_birthdate įveda visada 00-00-0000. Bet kodėl? Gal kas galetų patarti kame yra problėma? T.y. tas IF'as nesuvienyja kažkodėl tai trijų kintamujų į vieną, ir į MySQL įrašo $user_birthdate = "00-00-0000";, nors duomenys ir buvo įvesti.

Any ideas?

Redagavo Kwyn· 2008 Rugp. 26 10:08:43

Parašė ramon· 2008 Rugp. 26 10:08:01
#2

Nu tai logiskai mastan vietoi skaiciaus zodzio ne irasysi :] turetu but menesis atitikti skaiciu, tai irasik kaip skaiciu ir po to atvaizduok skaiciu kaip zody, gal suprasi ka turiu omeny :]:]

Parašė Kwyn· 2008 Rugp. 26 10:08:20
#3

Na gerai. Vietoj <select name="... pabandžiau tiesiog padaryti <input type="text" name="birth_month" size="2" maxlength="2">, kad reikėtų pačiai įvesti mėnesį, bet MySQL'e vistiek nulius rodo.

Redagavo Kwyn· 2008 Rugp. 26 10:08:38

Parašė ramon· 2008 Rugp. 26 10:08:06
#4

SQL row`as turetu atrodit mazdaug taip jei nori tik skaicius [data]
data DATE NOT NULL DEFAULT '0000-00-00',




o jei tu nori rasyt kaip paprasta zodi(us)/skaicius rasyk toki SQL row`a :
data VARCHAR(8) NOT NULL DEFAULT '',



Parašė Kwyn· 2008 Rugp. 26 16:08:24
#5

Na nežinau kodėl man čia nesigauna. Nukopinau gimimo datos scriptą iš fusiono sistemos, pritaikiau sau, ir vistiek nulius varo. :|

Redagavo Kwyn· 2008 Rugp. 26 16:08:41

Parašė MAnjack· 2008 Rugp. 26 18:08:33
#6

Kintamasis gal duomenų negauna. Pabandyk juos atvaizduoti
echo $user_birthdate; IIr tada pamatysi ar kintamasis turi kokią nors reikšmę.