- Okosóra és okoskiegészítő topik
- Apple iPhone 16 Pro - rutinvizsga
- Vivo X200 Pro - a kétszázát!
- One mobilszolgáltatások
- Android alkalmazások - szoftver kibeszélő topik
- További kavarás a Pixel 10-ek körül
- India felől közelít egy 7550 mAh-s Redmi
- Honor 200 Pro - mobilportré
- Motorola Edge 40 - jó bőr
- Magisk
Új hozzászólás Aktív témák
-
Tele von Zsinór
őstag
Ha a $_GET tömbben nincs "del" index, akkor egy nemlétező változót próbálsz olvasni, ezért szól. Egyébként ez nem hiba, hanem csak egy E_NOTICE - arról megoszlanak a vélemények, hogy ezekre érdemes-e figyelni fejlesztés közben. Én azt vallom, hogy igen - elgépelt változónevek felderítésében például rengeteget segítenek.
Elkerülni így tudod:
if (isset($_GET["del"]) && $_GET["del"] == "yes") {}
ahol az isset() nem függvény, hanem egy speciális nyelvi konstrukció - így nem kapsz notice-t sem, mert a php lusta kiértékelést használ (logikai és-ek esetén megáll az első hamisnál).
-
Sk8erPeter
nagyúr
A submit() nevet már kijavítottad?
Amúgy megpróbálhatnád, hogy a submit gombhoz odateszed ezt:
onclick="alert('ez egy felugró ablak')"
és akkor látod, hogy odáig legalább eljut.(Egyébként én úgy tapasztaltam, hogy az esetek nagy többségében a JavaScript-függvények helytelen működését valami szintaktikai hiba okozza. Elég egyetlen helyen elírás, máris bukta az egész.)
-
Sk8erPeter
nagyúr
Még egy dolgot kipróbálhatnál:
pl.
var nick=document.getElementById("nick");
if(nick.value=='' || nick.value.length<4) //ha nincs kitöltve vagy a hossza kisebb 4-nél
{
//stb..
}(#3922) dany27: ehh, de miért akarsz egy kliens oldali dolgot szerver oldali nyelvvel ellenőrizni?
Inkább próbáld ki a Firefoxhoz való Firebugot, ezzel nagyon jól lehet ellenőrizni a JavaScriptes függvények hülyeségét is (ez az egyetlen, ami miatt néha használom a FF-ot, de ez nagyon hasznos). -
Sk8erPeter
nagyúr
Nézd meg a hsz.-emet még egyszer, azóta szerkesztettem is a végét...
Van benne hiba, eleve a függvény neve... Tessék, itt van, az egy JavaScript függvény: [link]. Tehát ezt a nevet (submit() ) felejtsd el.
De egyáltalán kijavítottad úgy, ahogy mutattam?
Hogy ellenőrzöd le, hogy "létezik-e a cucc", és mi mondja azt, hogy nem?(Firebug vagy mi a tököm?)
"Am azért raktam PHP-be mert alá jön majd a feldolgzó, SQL feltöltés...."
Egyrészt ne ALÁ jöjjön a feldolgozó rész, akkor már inkább még a DOCTYPE (nálad a <html> ) ELŐTT legyen egy
<?php /* ellenőrizgetés */ ?><!DOCTYPE ... ,
VAGY küldd ki egy másik feldolgozó fájlnak, majd irányítsd vissza (a hibaüzeneteket vagy sikerüzenetet meg letárolhatod SESSION változóba session_start() indítása után, és kiírathatod az eredeti oldalon), az szerintem sokkal elegánsabb, és jobban át lehet látni utólag is.Szerk.: ja, és egy jótanács: ne kapkodj, mert attól nem oldódik meg. Legalábbis a hsz.-eidet látszólag kapkodva írod, így nem lehet rájönni a hibára...
-
Sk8erPeter
nagyúr
Szerintem inkább ott lesz a hiba, hogy nem jól raktad össze az oldalt, ilyenektől a JS-függvények megőrülnek, nagyon nem díjazzák, egyszerűen nem működnek.
pl. az oldal szerkezete így néz ki alapból:
<html>
<head>
<title>Cím</title>
<meta ... />
<!-- meta tagek -->
</head>
<body>
<!-- ide jöhet a főtartalom -->
</body>
</html>Te pedig így csináltad:
<html>
<head>
<!--itt a JS-függvény -->
</head>
</html>
<!-- ide raktad a főtartalmat, amit PHP-vel generáltál -->Ebből jól látszik, hogy még azelőtt lezártad az oldalt </html>-lel, mielőtt az űrlapot kiírattad volna.
Tehát legyen egy <body> rész, és oda rakd be a form elemeit.
De teljesen felesleges ezt PHP-vel belerakni, ezzel csak lassítod a megjelenítést. Pakold bele egyszerűen HTML-ként.Ezenkívül nem szerencsés név pont a submit()-et függvénynévként választani, mivel ez eleve egy beépített függvénynév, ettől elküldi a formot.
Én a submit gombhoz szoktam inkább tenni egy onclick-be az ellenőrzést.
Ezenkívül kicsit tördeld jobban a kódodat.Áhh, de szerencsére Notepad++-ban csak pár kattintgatás átvariálni kicsit a kódot, inkább megcsináltam
Persze magát a függvényt nem ellenőriztem, abban még lehet hiba.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="hu" xml:lang="hu">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript">
<!--
function form_submit()
{
var nick=document.getElementById("nick").value;
var pass=document.getElementById("password").value;
var pass2=document.getElementById("password2").value;
var email=document.getElementById("mail").value;
document.getElementById("nick").style.backgroundColor="#FFFFFF";
document.getElementById("password").style.backgroundColor="#FFFFFF";
document.getElementById("password2").style.backgroundColor="#FFFFFF";
document.getElementById("mail").style.backgroundColor="#FFFFFF";
submit = true;
if (nick.length<4 || nick.length<40)
{
document.getElementById("nick").style.backgroundColor="#FFDDDD";
submit = false;
}
if (pass.length<6 || pass.length<40)
{
document.getElementById("pass").style.backgroundColor="#FFDDDD";
submit = false;
}
if (pass1!=pass2)
{
document.getElementById("pass").style.backgroundColor="#FFDDDD";
document.getElementById("pass2").style.backgroundColor="#FFDDDD";
submit = false;
}
if (email.length==0)
{
document.getElementById("mail").style.backgroundColor="#FFDDDD";
submit = false;
}
if(submit == false)
{
return false;
}
else
{
return true;
}
}
// -->
</script>
</head>
<body>
<center>
<h2>Regisztráció</h2>
<table align="center">
<form method="POST" action="register.php">
<tr>
<td>Nick Név</td>
<td><input type="text" name="nick" id="nick" /></td>
</tr>
<tr>
<td>Jelszó</td>
<td><input type="password" name="password" id="password" /></td>
</tr>
<tr>
<td>Jelszó ismét</td>
<td><input type="password" name="password2" id="password2" /></td>
</tr>
<tr>
<td>E-Mail</td>
<td><input type="text" name="mail" id="mail" /></td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="reset" value="Újra" />
<input type="submit" value="Regisztráció" onclick="return form_submit();" />
</td>
</tr>
</form>
</table>
</center>
</body>
</html>Egyébként ez inkább JavaScript topicba kellett volna, hogy menjen.
Szerk.:
de most nézegetem a JavaScript-függvényt, az alábbi sornak mi értelme?
if (nick.length<4 || nick.length<40)
Ezt össze lehetett volna vonni így:
if (nick.length<40)
Mivel ha a kisebb mint 4 nem teljesül, akkor átugrik a kisebb mint 40 feltételvizsgálatra.
Ha meg mindenképp kisebb, mint 4, akkor az belefér a kisebb mint 40-be...
Ugyanez vonatkozik a következő sorra, aminek emiatt szintén semmi értelme:
if (pass.length<6 || pass.length<40)Aminek megint nincs értelme:
document.getElementById("nick").style.backgroundColor="#FFFFFF";
document.getElementById("password").style.backgroundColor="#FFFFFF";
document.getElementById("password2").style.backgroundColor="#FFFFFF";
document.getElementById("mail").style.backgroundColor="#FFFFFF";
Ezek így külön tök feleslegesek, inkább pakold bele egy else ágba, mondjuk valahogy így:
if (nick.length<40)
{
document.getElementById("nick").style.backgroundColor="#FFDDDD";
submit = false;
}
else
document.getElementById("nick").style.backgroundColor="#FFFFFF";Ja, meg sokkal szebb és átláthatóbb lenne a kódod, ha egyszerűsítenéd a dolgokat, pl.:
var nick=document.getElementById("nick");
Ezután:
if (nick.value.length<40)
{
nick.style.backgroundColor="#FFDDDD";
submit = false;
}
Tehát itt egyszerűen már csak nick-kel hivatkozol rá, nincs még egy getElementById. -
Sk8erPeter
nagyúr
"gondolom azt hogy megtetszik azt letudodd abból is szűrni ha csak beleolvasol! [...] És ha akarod akkor megveszed!"
Vicces, hogy pont én tanácsoltam neked ezt az előbb, és most ugyanazt visszaírod nekem
Nekem nem nagy különút a könyvtár, úgyis mindig a környékén járok (egyetem), és elég sok könyv bent van. De egyébként most Te kértél tanácsot, nem én
Mondom, azóta már megtaláltam neten(nem volt túl nehéz)
-
Sk8erPeter
nagyúr
Abból, amit leírtál, nem volt egyértelmű, de akkor OK.
Nem értem, mi köze a könyvtárnak ahhoz, hogy gépen megvan egy anyag?Te is azt írtad, hogy nem szeretsz gépről olvasni, én is így vagyok vele. Meg a könyvet útközben is lehet olvasni (persze okostelefonokkal lehet a pdf-et is, de nem dobom ki a pénzem ilyesmikre
). PHP4 könyv nekem is megvan gépen, de kb. egyszer, ha olvastam gépről.
De egyébként köszi, végül is jöhet, ki tudja, mikor kell...
Szerk.: azóta megtaláltam neten -
Sk8erPeter
nagyúr
Itt beleolvashatsz, van pár bemutató oldal pdf-ben: [link]
Ami hátrány lehet, hogy a könyvet még a PHP5 megjelenése előtt adták ki. (2004. februárban, a PHP5 júliusban jött ki)
Ebből következően én a helyedben azt tenném (sőt, most ha már beszélünk róla, én is ezt fogom tenni), hogy kivenném könyvtárból, ha van rá lehetőséged. Egy könyvtári jegy befizetése olcsóbb, mint több könyvvel is próbálkozni.
Érdemes több könyvből is tanulni. Ha összerakod az abból szerzetteket + a php.net-en olvashatóakat, akkor szerintem már nagy meglepetések nem érhetnek.
Mostanában én is inkább azt csinálom, hogy több könyvet is kiveszek könyvtárból, így megúszom a könyv árát, ha esetleg nem túl jó, aztán ha nagyon megtetszik a könyv, akkor meg is veszem.Ja, egyébként remélem a HTML és a CSS alapjaival tisztában vagy, mert szerintem igazán csak azután érdemes webfejlesztésbe kezdeni. Ez gyorsan elsajátítható, hiszen viszonylag egyszerű nyelvekről van szó. A PHP már komolyabb dolog.
-
Sk8erPeter
nagyúr
Nem olvastam, nem tudom, de a függvények elmagyarázására ilyen alapon a PHP.net is jó...
Mondom, a PHP5 24 óra alatt az alapok elmagyarázására talán jó lehet, de felelősséget nem vállalok érte, mert a PHP4 könyvben is előfordultak hibákEttől függetlenül utóbbi is érthetően, konyhanyelven elmondja az alapokat, amikkel tisztában kell lenni.
Majd ha valaki itt a fórumon olvasta valamelyiket az újabbak közül, az remélhetőleg megírja.
De érdemes lenne simán elmenned egy boltba, és szépen megnézegetni a könyveket, átlapozni, hogy mi a tematikája, ha a PHP felsőfokon könyv is elmondja az alapokat, akkor biztos jó lehet. Úgy tudod meg leggyorsabban, ha megnézed. Nem kell feltétlenül egyből megvenni, ha könyvesboltba mész, előbb nézz bele -
Sk8erPeter
nagyúr
Hali! Itt PH-n többen ajánlották a PHP Fekete könyvet, de a Weblaboron meg jól lehúzzák, azt mondják, sok hiba van benne, helyette a "PHP fejlesztés felsőfokon" c. könyvet ajánlják. Itt van az ebben a témában indított thread, olvasd el, nem hosszú.
Én a "Tanuljuk meg a PHP4 használatát 24 óra alatt" c. könyvet olvasgattam, DE az ma már nagyon elavult, helyenként hiányos, hibás. Ugyanebből a PHP5 könyv lehet, hogy nem rossz, mert az még nem elavult, az alapok elmagyarázására (pl. egyáltalán mi az a függvény, mi az a tömb, stb.) szerintem használható. Az már más kérdés, hogy a példaprogramok mennyire hibásak, vagy nem azok, a PHP5 könyvvel kapcsolatban még nincs tapasztalatom.
De ha Weblaboron a "PHP fejlesztés felsőfokon" c. könyvet ajánlották, akkor rossz már csak nem lehet.
Mindenesetre figyelj arra, hogy ne olyan könyvet vegyél, ami régebbi verziójú PHP-példaprogramokat tartalmaz, hanem olyat, ami aktuális, mert bár a nyelv többnyire visszafelé kompatibilis, vannak olyan dolgok, amik azóta megszűntek, emellett viszont már vannak olyan lehetőségek, melyek az újabb verziókban már megvannak, a régebbiekben nincsenek.
Tehát arra is kell figyelni, hogy a szerveren, amire a cuccaidat feltöltögeted, milyen PHP-verzió van. Ezt megtudhatod a phpversion() függvénnyel.
Létrehozol egy sima PHP-kiterjesztésű fájlt, amiben elég, ha csak a következő szerepel:<?php
echo 'Jelenlegi PHP verzió: ' . phpversion();
?>Ez kiírja az aktuális telepített verziót.
-
raczger
őstag
Nem inkább ilyenre gondolsz?
<form method="post" action="<?php print $_SERVER['PHP_SELF']; ?>?go=y">
ide jön a formod</form>
<?php
if ( $_GET['go']=="y" )
{ //ide jön a feldolgozás, vagy a ciklus vagy akármi, és ez csak akkor jelenik meg, ha már elkülde a juzer az űrlapot }
?> -
Sk8erPeter
nagyúr
Azt a formot, amit korábban kiírattál, eltárolod akár egy változóba is, vagy csak simán kiíratod (vagy akár függvényt is írhatsz az űrlap elkészítésére, és akkor még a korábban megadott adatokat újból beteheted a formba), és a form-nál a PHP_SELF-fel babrálsz, pl.:
//első legyen a program eredményeinek kiíratása előtt (!) az alábbi (csak példaként szolgáló) form-megjelenítés:
$form = '<form enctype=\"multipart/form-data\" action=\"'.$ SERVER['PHP SELF'].'\" method=\"POST\"><input name=\"valami\" type=\"text\" /><input type=\"submit\" value=\"Mehet\" /></form>';
if ( empty($_POST['valami']) )
{
echo $form;
}
else
{
echo $form;
//aztán ide jöhetnek a kiszámolt eredmények...
}Persze ez csak egy gyors, leegyszerűsített verzió, többféle megoldás is van, ez csak az egyik. Nem tudom, ezzel jutottál-e előrébb, ha nem, akkor konkretizáld a kérdést. Ha igen, akkor öröm és bódottá'.
Új hozzászólás Aktív témák
Hirdetés
- Motorolaj, hajtóműolaj, hűtőfolyadék, adalékok és szűrők topikja
- Okosóra és okoskiegészítő topik
- Kompakt vízhűtés
- SSD kibeszélő
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Házi hangfal építés
- The Division 2 (PC, XO, PS4)
- Szünetmentes tápegységek (UPS)
- Tőzsde és gazdaság
- Kínai és egyéb olcsó órák topikja
- További aktív témák...
- Bomba ár! HP EliteBook 850 G2 - i5-5GEN I 8GB I 256GB SSD I 15,6" FULL HD I Cam I W10 I Gari!
- Dell és HP szerver HDD caddy keretek, adapterek. Több száz darab készleten, szállítás akár másnapra
- Telefon felvásárlás!! iPhone X/iPhone Xs/iPhone XR/iPhone Xs Max
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Bomba Ár! Dell Latitude 3190 - Intel N4120 I 4GB I 128GB SSD I 11,6" HD I Cam I W11 I Garancia!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PC Trade Systems Kft.
Város: Szeged