Aktív témák
-
paramparya
őstag
Hát igen, a php nem egy c#, amihez írtak egy olyan fejlesztőkörnyezetet, amihez nem nagyon kell tudni programozni.
Szigorú szintaktikánál egyértelmű, mert szól a fejlesztőkörnyzet, itt meg muszáj tudnod programozni is, szörnyű...
Normális fejlesztőprogramot, ami színezésnél meg beírt fv kiegészítésénél többet tudott
volna, még nem találtam.
Ez meg aztán végképp' a nyelv hibája. Fogj egy szigorúan típusos nyelvet, és írj egy jót benne...
Függvény paraméterének típusát is megadhatod php-ben, szintaktikát meg úgy kell ellenőrizni, hogy nézed és átgondolod, hogy mit csinálsz, esetleg ha hibát dob, akkor átolvasod, és értesz hozzá, akkor észreveszed mi a gond, ellenkező esetben pedig tanulod még a dolgokat. Bár nem kötelező, mentalitásodból látszódik, hogy nem profi szinten csinálod, csak otthon programozgatsz, ott nyugodtan nyűglődhetsz... -
cucka
addikt
rossz oldalról nézed.
a php a get-ben vagy post-ban átadott változókat egyszerű szövegként kapja (a get-nél egyértelmű, mert ott a változók az url-ben találhatók). namost az a php jófejsége, hogy gyengén típusos nyelv, ezért a paraméterként átadott számokat használhatod számként (is), meg hogy a tömbös formából igazi tömböt csinál, de a ''false'' string-el nem nagyon tud mit kezdeni, ezért az bizony marad string, aminek a logikai értéke igaz.
tapasztalatok alapján célszerű mindig kiírni az összehasonlítást az if feltételében, jelen esetben mondjuk if ($valami===true). a php nem típusos nyelv, ezért az ilyesmire bizony oda kell figyelni, cserébe rugalmasabban kezelheted a változókat, csomó nyűgtől megszabadulsz.
egyébként a php minden hibát kiírhat, error reporting beállítás kérdése. függvény paramétereinek pedig megadhatsz típust és hibát fog dobni, ha más típusú paraméterrel hívod meg.
[Szerkesztve] -
cucka
addikt
két nap után legfeljebb azt a következtetést vonhatnád le, hogy nagyon nem értesz ahhoz, amit épp fikázol.
lássuk csak: php-ból kiírsz egy html/js kódot, ami nem úgy működik, ahogy szeretnéd. hol van a bug a php-ban? ha notepad-al írod ki ugyanazt a html/js kódot, akkor az is bugos, mert szar kódot írtál?
egyébként érdemi segítség reményében esetleg megmutathatnád nekünk is, mi nem működik. -
cucka
addikt
megpróbálhatsz valami olyasmit is, hogy a gomb onclick-jére kötöd rá az eseményt. ha az ellenőrzés sikertelen, akkor természetesen return false. ez egészen biztos kell működjön.
Mostmár kezdem érteni, a php-ban nem csak bugos scriptet lehet írni, hanem már maga a nyelv is bugos.
erre a következtetésre a html formokkal és a javascript-es submit-al történő küzdelem során jutottál? na de komolyan, milyen bugot találtál? -
paramparya
őstag
Húzd rá a formonsubmit-jére a függvény, ami true-val vagy false-sal tér vissza, attól függően, hogy ok-e, és ha false-sal, akkor nem megy el a form...
<fomr action.... onsubmit=''return ellenoriz();'' >
<....>
<input type=''submit''...
</form>
a js fuggény (ellenoriz() ) meg levalidálná.. -
Sanyix
őstag
Egyáltalán azt sem értem, hogy a post szerint hogy true, ha egyszer false a postolt dolog értéke?
Php elejére ezt írtam echo ''<script> alert(document.getElementById('submitted').value); alert('ez a php $_POST[submitted]');</script>'';
a submitted value-je false, de ugyanennek a post-ja true. Hogy is van ez?
[Szerkesztve] -
paramparya
őstag
fölösleges ilyen rejtett változókkal trükközni...
ha már mindeképp' egy fájllal akarod szopatni magad, akkor beálíltasz vmi nevet a submit gombodnak:
<input type=''submit'' name=''submitted'' value=''Küldés >>'' />
php-ben pedig:
if( isset( $_POST['submitted'] ) )
{
// elküldték a formot...
}
;)
[Szerkesztve] -
Tele von Zsinór
őstag
Kevered a dolgokat. A php szerveroldali, a js kliensoldali nyelv, hiába csinálsz egy php functiont, azt nem tudod meghívni onchange-ben közvetlen. A megoldás a korábban említett ajax, amikor onchangeben küldesz egy kérést az oldalnak, az legenerálja a formot az értékekkel, te meg belerakod egy divbe.
-
Sanyix
őstag
Amúgy végül is sikerült megoldanom, mégpedig úgy hogy a select onchange-re egy hidden mező értékét is átírja, majd submiteli. Ha a hidden értéke true, akkor azt a php-ban lévő if csak azt az eljárást futtatja le, amit ilyenkor kell.
Else ágban meg ott a többi, amit normális(tehát amikor már hasznos adat is érkezik) submitnél kell futtatni. Kicsit favágó módszer, de ez van.
[Szerkesztve] -
vakondka
őstag
Olyat szeretnél csinálni, hogy közben ne töltődjön újra az oldal ?
Ezt AJAX-nak hívják, abban a topicban biztosan többet tudnak segíteni a hozzáértők...
Ha viszont újratöltődhet az oldal, akkor elég egyszerű:
<!-- ONE STEP TO INSTALL JUMP MENU:
1. Copy the coding into the BODY of your HTML document -->
<!-- STEP ONE: Paste this code into the BODY of your HTML document -->
<BODY>
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
<!-- Original: Vladimir Geshanov -->
<!-- Web Site: http://hotarea.com/ -->
<script language=''JavaScript''>
function openDir( form ) {
var newIndex = form.fieldname.selectedIndex;
if ( newIndex == 0 ) {
alert( ''Please select a location!'' );
} else {
cururl = form.fieldname.options[ newIndex ].value;
window.location.assign( cururl );
}
}
</script>
<table width=100% cellpadding=4 cellspacing=0 border=0>
<form name=form>
<tr>
<td nowrap>
<select name=''fieldname'' size=''1''
onChange=''openDir( this.form )''>
<option>Jump To </option>
<option value=http://javascript.internet.com>JSS</option>
<option value=http://internet.com>internet.com</option>
</select>
</td>
</tr>
</form>
</table>
<p><center>
<font face=''arial, helvetica'' size''-2''>Free JavaScripts provided<br>
by <a href=''http://javascriptsource.com''>The JavaScript Source</a></font>
</center><p>
Ezt a neten találtam.... :)
[Szerkesztve] -
VladimirR
nagyúr
marmint a zarojelezesre gondolsz?
annak epp az a lenyege, hogy a regularis kifejezesd ugy tagolod vele, hogy a visszateresi tomb-ben mar felkesz, vagy teljesen kesz ''allapotban'' kapod meg az adatokat
az elejen jo sok buktatoba lehet belefutni (pl az a kerdojel (illetve az, hogy nem hasznaltam) nekem sok fejfajast okozott), de sokmindent meg lehet vele oldani -
VladimirR
nagyúr
egy pici segitseg => Bovebben: [link]
manual => Bovebben: [link]
keresesnel a kulcsszavak: regex, pcre, (perl compatible) regular expression
a (.*?) a kovetkezot jelenti:
- a . (pont) karakter a joker-karakter, ami barmilyen karakterre (sorveg kivetelevel) illeszkedik
- a * (csillag) azt jelenti, hogy az elotte allo kifejezes (esetunkben a . (pont) tetszoleges szamban (0, vagy tobb) fordul elo
- a kerdojel azt a celt szolgalja, hogy ne moho modon keressen (bovebben az elso linken)
- a zarojel pedig arra valo, hogy a benne levo mintara illeszkedo reszeket kulon tombelemkent adja vissza a preg_match_all fuggveny -
Tele von Zsinór
őstag
AJAX-szal gond nélkül megoldható oda-vissza, akár olyat is lehet, hogy a php JS kódot generál, amit kliensoldalon eval()-al futtatsz. Marhanagy biztonsági rés, de ez van
Amúgy meg jól át kell gondolni az oldal felépítését, rakosgatni diveket a kritikus helyekre, és csak azok tartalmát cserélgetni.
-
VladimirR
nagyúr
nem feltetlen szukseges letrehoznod, sem a valtozot, barmit megadhatsz ott
mindket esetben egy tombot fogsz kapni, ami meghatarozott struktura szerint tartalmazza a:
-string azon reszet, amire a minta illeszkedik
-string azon reszeit (mindegyiket kulon tombelemben) amelyek zarojelben vannak
gondolom a preg_match all-t hasznaltad, match[0]-ra ezert kaptal array-t (kell moge meg egy index, igy csak az elso illeszkedes tombjet irja ki)
tomb-ot egeszeben a kovetkezokeppen tudsz kiiratni: print_r( $tomb ); -
Lortech
addikt
Nincs ilyen definiálva nyelvi szinten, nem is igen lehet egy ilyen típusú nyelvnél.
Vannak viszont reguláris kifejezésekkel operáló függvények.
[link]
Nekem nem világos egyébként a példád alapján, hogy mi a célod a joker karakterekkel. Milyen mintát akarsz illeszteni mire? Mit ismersz (hossz vagy minta), mi az output stb. -
VladimirR
nagyúr
a regularis kifejezeseket es a preg_match() fuggveny help-jet nezd at
pl ez egy minta: /.*bigyo(.*?)bigyovege.*/, ami illeszkedik minden olyan szovegre, amiben szerepel a bigy es a bigyvege ebben a sorrendben es a preg_match fuggveny hasznalataval megkapod a ketto kozott szereplo string-et
Aktív témák
Hirdetés
- Bomba ár! Dell Inspiron 15 5578 2in1: i7-7GEN I 16GB I 256SSD I 15,6" FHD Touch I Cam I W11 I Gari!
- Honor Magic7 Lite 8/512GB, Kártyafüggetlen
- AKCIÓ! HP Victus 16-R1002NF Gamer notebook - i7 14700HX 16GB RAM 1TB SSD RTX 4070 8GB WIN11
- Kaspersky, McAfee, Norton, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest