Thnx.quote:Op woensdag 7 december 2005 21:45 schreef JeRa het volgende:
Je mag kolomnamen niet met singlequotes omvatten, dat zul je zonder moeten doen of met backticks (`), die zit links van je niet-keypad '1'-knop op je toetsenbord.
Overigens wordt het over het algemeen wel gewaardeerd als je bij iets dat 'niet werkt' een foutmelding levertdan kunnen we meestal wat sneller zien waar de fout zit.
Hmz...., ja dat kan werken.quote:Op woensdag 7 december 2005 19:30 schreef SuperRembo het volgende:
Dan zal je met een XMLHttpRequest moeten kijken of je een confirm moet tonen.
Inderdaad. Waarom vraag je niet standaard om een confirm (je verwijdert iets!)?quote:Op woensdag 7 december 2005 23:03 schreef SuperRembo het volgende:
Een XMLHttpRequest is voor php een request (get of post) als alle andere.
Je haalt je wel flink wat op de hals, en dat alleen om een confirm over te kunnen slaan.
Het gaat om een menu item. En ik wil eigenlijk een EXTRA warning geven wanneer er aan dat menu item produkten gekoppeld zijn.quote:Op woensdag 7 december 2005 23:13 schreef JeRa het volgende:
[..]
Inderdaad. Waarom vraag je niet standaard om een confirm (je verwijdert iets!)?
Dit is dus nog vrij moeilijk te vinden, wel genoeg mensen die met hetzelfde zittenquote:Op woensdag 7 december 2005 21:33 schreef JeRa het volgende:
[..]
Tja, of een mooi plaatje, of een lelijke animatie. Denk niet dat je het heel gemakkelijk kunt oplossen, hoewel er misschien wel ergens implementaties van een gif-resizer te vinden zijn
Ik zou dát als oplossing nemen met eventueel een extra melding ná het verwijderen in de trant van 'Het door u zojuist verwijderde menu-item bevatte subitems die nu niet meer gekoppeld zijn'.quote:Op donderdag 8 december 2005 08:21 schreef Swetsenegger het volgende:
[..]
Maar het is inderdaad een hoop moeite voor een extra warning. En in principe is het ergste wat er kan gebeuren dat je via het menu niet meer bij een aantal produkten kan komen. Die moet je dan in het CMS eerst aan een andere menu item koppelen.
Kan fok het ook?quote:Op donderdag 8 december 2005 10:15 schreef Darkomen het volgende:
[..]
maar fok kan het ook, dus waarom wij niet
Dat is wel een mooie oplossing inderdaad.quote:Op donderdag 8 december 2005 10:27 schreef JeRa het volgende:
[..]
Ik zou dát als oplossing nemen met eventueel een extra melding ná het verwijderen in de trant van 'Het door u zojuist verwijderde menu-item bevatte subitems die nu niet meer gekoppeld zijn'.
Sowieso is het geen risico voor het menu. Parents kunnen niet verwijderd worden, alleen childeren/leafenodes. Alleen het diepste level dus.quote:Een alternatief is om alle subitems onder de parent van het zojuist verwijderde item te hangen, maar dit is niet professioneel op een live site en moet je alleen doen als je het menu naar hartelust kunt wijzigen zónder dat dit effect heeft op het 'echte' menu.
Als je de usericons op de FP bedoelt, die zijn "geresized" met width="30" height="30".quote:Op donderdag 8 december 2005 10:15 schreef Darkomen het volgende:
[..]
maar fok kan het ook, dus waarom wij niet
1) Ofwel bedoel je de iconmanager, dus dat je GIF-afbeeldingen kunt uploaden en als vaste usericon kunt gebruiken. Voor zover ik weet kan die geen GIF-animaties resizen.quote:Op donderdag 8 december 2005 13:22 schreef Darkomen het volgende:
Bedoel die hier op het forum, maar daar is het vast hetzelfde :$
1 2 3 4 5 6 7 8 9 10 11 | Tree[1] = "2|1|Page 1.1|#"; Tree[2] = "3|1|Page 1.2|#"; Tree[3] = "4|3|Page 1.2.1|#"; Tree[4] = "5|1|Page 1.3|#"; Tree[5] = "6|2|Page 1.1.1|#"; Tree[6] = "7|6|Page 1.1.1.1|#"; Tree[7] = "8|6|Page 1.1.1.2|#"; Tree[8] = "9|1|Page 1.4|#"; Tree[9] = "10|9|Page 1.4.1|#"; Tree[10] = "11|0|Page 2|#"; |
1 2 3 4 5 6 7 | 1|1|system32|C://WINDOWS/system32 1|1|config|C://WINDOWS/system32/config 1|1|systemprofile|C://WINDOWS/system32/config/systemprofile 1|1|Local Settings|C://WINDOWS/system32/config/systemprofile/Local Settings 1|1|Temp|C://WINDOWS/system32/config/systemprofile/Local Settings/Temp 1|2|Geschiedenis|C://WINDOWS/system32/config/systemprofile/Local Settings/Geschiedenis |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | error_reporting(E_ALL); function scantree($start, $fDb = 0, $pathCount = 0) { // global $fDb; $fDb++; $pathcount = 0; $dir = opendir($start); while (($file = readdir($dir)) != false) { if (is_dir($start . "/" . $file) && $file != "." && $file != "..") { $pathcount++; echo 'test[' . $fDb . '] = ' . $fDb + 1 . '|' . $pathcount . '|' . $file . '|' . $start . "/" . $file . CHR(13) . CHR(10); scantree($start . "/" . $file, $fDb, $pathCount); } } } $fDb = -1; if (isSet($_GET['drive']) && substr($_GET['drive'], 1,1) == ":") { scantree($_GET['drive'] . "/");// the tree looping can begin } else { echo 'no ow no'; } |
Regel 23. Je gebruikt de functie scantree in de functie scantree?quote:Op donderdag 8 december 2005 16:45 schreef Chandler het volgende:
Luitjes..
[ code verwijderd ]
dit is wat ik wil crearen met een tree loper echter krijg ik het niet goed voor elkaar en krijg steeds 1|1 1|2 etc
vb
[ code verwijderd ]
zoals je ziet gaat het ergens goed fout, echter zie ik niet waar!?
de code
[ code verwijderd ]
allemaal weer uit het hoofd, maar goed... iemand een suggestie!?
Ik snap je voorbeeld nietquote:Op donderdag 8 december 2005 17:30 schreef Chandler het volgende:
dat kan toch, dat is juist nodig voor de diepgang
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | if(is_numeric($_GET['id']) && is_numeric($_GET['right'])){ deleteLeaf($_GET['right'],$_GET['id']); } } function deleteLeaf($right,$id){ $query="DELETE FROM menu WHERE id=".$id." LIMIT 1"; mysql_query($query); $query="UPDATE menu SET rgt=rgt-2 WHERE rgt>".$right; mysql_query($query); $query="UPDATE menu SET lft=lft-2 WHERE lft>".$right; mysql_query($query); header("location: ".$_SERVER['PHP_SELF']); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | var url = "checkProduct.php?id="; // The server-side script var http = getHTTPObject(); function handleHttpResponse() { if (http.readyState == 4) { results = http.responseText; if(results!=0){ if(confirm('Aan dit menu-item zijn produkten gekoppeld!\nIndien u dit menu-item verwijderd, moet u er rekening mee houden de produkten aan een ander menu-item te koppelen.\nMenu-item verwijderen?')){ alert('verwijder'); } }else{ if(confirm('Weet u zeker dat u dit menu-item wilt verwijderen?')){ alert('verwijderd') } } } } function checkProduct(id) { http.open("GET", url + escape(id), true); http.onreadystatechange = handleHttpResponse; http.send(null); } function getHTTPObject() { var xmlhttp; /*@cc_on @if (@_jscript_version >= 5) try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } @else xmlhttp = false; @end @*/ if (!xmlhttp && typeof XMLHttpRequest != 'undefined') { try { xmlhttp = new XMLHttpRequest(); } catch (e) { xmlhttp = false; } } return xmlhttp; } </script> |
1 |
1 2 3 4 5 6 | http.open("GET", url + escape(id), true); http.onreadystatechange = handleHttpResponse(id); http.send(null); } |
hehehequote:Op donderdag 8 december 2005 20:19 schreef SuperRembo het volgende:
@chandler:
Zet eens haakje om $fDb + 1
Lang leve loose typed talen
Zorgt er voor dat http.onreadystatechange gelijk wordt aan de functie handleHttpResponse.quote:http.onreadystatechange = handleHttpResponse;
Zorgt er voor dat http.onreadystatechange gelijk wordt aan het resultaat van het uitvoeren van handleHttpResponse(id).quote:http.onreadystatechange = handleHttpResponse(id);
1 2 3 4 5 6 7 8 9 | http.open("GET", url + escape(id), true); http.onreadystatechange = function() { if (http.readyState == 4) { checkProductCallback(id); } } http.send(null); } |
1 2 3 4 5 6 | id=id; //Dit maakt de var id global http.open("GET", url + escape(id), true); http.onreadystatechange = handleHttpResponse(id); http.send(null); } |
Closure werkte ook, maar een aparte functie was even netterquote:Op donderdag 8 december 2005 20:40 schreef SuperRembo het volgende:
@swetsenegger:
[..]
Zorgt er voor dat http.onreadystatechange gelijk wordt aan de functie handleHttpResponse.
[..]
Zorgt er voor dat http.onreadystatechange gelijk wordt aan het resultaat van het uitvoeren van handleHttpResponse(id).
Dit kan je op verschillende manieren oplossen.
Met een closure:
[ code verwijderd ]
Doordat de functie binnen de functie checkProduct wordt gedefinieerd, blijft de scope van checkProduct behouden. Daardoor is id binnen de onreadystatechange functie nog bekend op het moment dat die aangeroepen wordt.
Een andere oplossing is dat je niet alleen het aantal producten terug stuurt, maar ook de id.
Ah... dus wanneer ik delete.php?id=6 stuur en er voor kies NIET te deleten, kan hij de volgende keer abusievelijk zeggen dat er produkten aan 6 gekoppeld zitten wat niet het geval is? Cached hij in temp files?quote:Internet Explorer heeft trouwens een vervelende bug: het resultaat van de httprequest wordt gecached. Als de url van twee requests gelijk zijn, dan wordt geen cal naar de server gedaan, maar krijg je gewoon de eerder opgehaalde resultaten terug. Dit is gelukkig simpel te voorkomen door een random string aan de url toe te voegen.
Klopt, maar het was gecombineerd door de xmlhttprequest. Ik heb 'm dus in beide topics gecrosspostquote:Dit is trouwens allemaal clientside scripting, dus meer iets voor het javascript topic.
wrom niet?quote:Op donderdag 8 december 2005 20:42 schreef SuperRembo het volgende:
Dit lijkt me geen handige oplossing
1 2 3 | id=menu; //var global maken right=rgt; //var global maken |
Dat vind ik zo'n kromme oplossing, maar kan het écht niet anders?quote:Op donderdag 8 december 2005 20:49 schreef DionysuZ het volgende:
if ($_FILES["Avatar"]["size"] > 0)
if($_FILES['avatar']['tmp_name']!='') om te checken of er een bestandsnaam is ingevuldquote:Op donderdag 8 december 2005 20:47 schreef wobbel het volgende:
Hoe kijk of ik er wel écht een bestand wordt geupload bij een formulier met een file-field?
if($_FILES['Avatar']) is namelijk altijd positief, ook als ik geen enkel bestand invul.
Ik heb if($_FILES['Avatar']['tmp_name']) en name ook al gebruikt, maar dan kan ik bij het file-field ook wat random tekens invullen ipv een bestand, en dan zegt ie alsnog dat er wél een bestand is geupload.
Ik heb http://nl2.php.net/features.file-upload er al op nageslagen, maar het helpt me niet echt :s
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |