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ę.