Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Confirm vraag voor deleten in PHP

Pagina: 1
Acties:

Onderwerpen


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Sinds begin september loop ik stage als MBO applicatieontwikkelaar op de afdeling php web development van een flink ICT bedrijf. Nu zit ik met een probleem waar ik al een tijdje niet uitkom.

Ik heb een website gemaakt die gebruikt zal worden als eindbeoordeling en als een soort presentatie van mijn geleerde skills, hierin staan alle passwords die ik gebruik, mijn logboek, urenregistratie etc. Het komt dus wel eens voor dat er iets verwijderd moet worden, dit wil ik doen met een popup die lijkt op een soort thickbox (fixed positie, verduisterde achtergond etc) maar nu heb ik moeite met het ID doorgeven van het record dat verwijderd moet worden.

Ik heb 2 hidden divs, 1 transparant zwarte als background die het het hele scherm vult, met daaroverheen een window met de vraag of je het echt wilt verwijderen. Als ik de delete knop normaal (zonder melding) wil laten werken maak ik gewoon een query die het ID opvraagt uit de post, maar aangezien dit ertussen zit, word het helemaal niet verzonden in de post. Op dit moment heb ik het zo opgelost:

code:
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
while ($filter_result_array = mysql_fetch_array($filter_query)) {
        echo '<div class="passBox">';
        echo '<form id="form_passbox' . $filter_result_array['id'] . '" style="margin:0px; padding:0px;" action="' . $_SERVER['PHP_SELF'] . '" method="POST" />';
        echo '<strong>Beschr</strong>: ' . $filter_result_array['description'] . '<br/>';
        echo '<strong>URL</strong>: <a href="' . $filter_result_array['url'] . '">Link!</a><br/>';
        echo '<strong>User</strong>: ' . $filter_result_array['user'] . '<br/>';
        echo '<strong>Pass</strong>: ' . $filter_result_array['pass'] . '<br/>';
        
        echo '<input type="hidden" name="rec_id" value="' . $filter_result_array['id'] . '" />';      
        echo '<input type="submit" name="action" value="Edit"'. $disable_button .'/>';
        echo '<input type="button" name="action" value="Delete"'. $disable_button .'onClick="showOverlay(\'hidden_bg\'); showOverlay(\'hidden' . $filter_result_array['id'] . '\');" /> <br />';
?>
        <div id="hidden<?php echo $filter_result_array['id']; ?>" style="position: fixed; left: 40%; top: 200px; padding: 5px; border: 1px solid black; -webkit-border-radius: 8px; -webkit-box-shadow: 2px 2px 2px #888; background: #ffffff; z-index: 500; display: none;">
            <table>
                <tr>
                    <td>Weet je zeker dat je wilt verwijderen?</td>
                </tr>
                <tr>
                    <td>
                        <input type="submit" name="action" value="Ja" /> <input type="submit" name="action" value="Nee" />
                    </td>
                </tr>
            </table>
        </div>
      <?php
        echo '</form>';
        echo '</div>';
}


Oftewel, hij laat mooi mijn info zien met een edit en delete knop. Die delete knop laat een hidden div zien met de vraag of je het echt wilt deleten, als er dan op de knop "Ja" gedrukt word zal het form submitten en de input hidden meesturen met daarin het ID. Opzich is deze oplossing leuk, maar die hidden divs staan er dus heel erg vaak opnieuw in en ik denk dat dit onnodig is.

Ik heb geen idee hoe ik het ID mee kan sturen, ik dacht aan javascript, maar na het een en ander proberen werkte mijn idee niet. :9 Wat ik wel voor elkaar kan krijgen (waarschijnlijk :+) is met een confirm() met javascript, maar daar heb ik niet echt controle over het uiterlijk enzo. (misschien wel, maar zal op dit moment te veel tijd kosten om uit te zoeken) Nu vraag ik me af wat de reguliere manier is om zoiets af te handelen.

Verwijderd

hidden inputje ( <input type="hidden" id="name" value="$id" /> ) zal genoeg zijn, imo.

  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Ja die staat er ook tussen, maar als ik op "Delete" klik voert hij een javascript functie uit die een venster toont, die heeft zijn eigen form zonder hidden input gevuld met het ID dus die stuurt hem niet door. Ik dacht met javascript het ID door te geven van de ene hidden naar de andere, maar ik kon geen manier bedenken om javascript te laten weten welke hidden van de 50 hij moet hebben.

  • Onbekend
  • Registratie: Juni 2005
  • Laatst online: 23:08

Onbekend

...

Waarom geef je dat ID dan ook niet mee aan een functie?

Speel ook Balls Connect en Repeat


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Een javascript functie bedoel je? zou wel kunnen, alleen ik weet niet hoe ik javascript moet laten weten welke ID het moet hebben. Ik bedoel, er zijn minimaal 50 delete buttons in 50 forms, hoe kan in aangeven dat hij de value van het hidden input veld in hetzelfde divje moet hebben en niet die andere 49? Dat is dus een beetje het probleem.

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

Je hebt het in je code toch al goed, je geeft het ID mee met de functie showOverlay (javascript). In die functie kun je dus als de gebruiker heeft aangeklikt dat hij zeker weet dat hij het dingetje wil verwijderen een AJAX call maken naar je PHP pagina die verder de request afhandelt :)

Bovendien raad ik je aan voor de leesbaarheid in plaats van op elke regel echo's te gebruiken met alle problemen die daar bij kunnen komen (escapen van ' etc.) dit te doen:

PHP:
1
2
3
4
5
6
<?php while ($filter_result_array = mysql_fetch_array($filter_query)): ?>

/* Hier je HTML code */
<b><?php echo $filter_result_array['id']; ?></b>

<?php endwhile; ?>

Houd de code leesbaar en heb je php en html wat beter gescheiden ;)

[ Voor 43% gewijzigd door Ventieldopje op 26-10-2011 09:49 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19:21

RM-rf

1 2 3 4 5 7 6 8 9

Qiro schreef op woensdag 26 oktober 2011 @ 09:19:

Ik heb geen idee hoe ik het ID mee kan sturen, ik dacht aan javascript, maar na het een en ander proberen werkte mijn idee niet. :9 Wat ik wel voor elkaar kan krijgen (waarschijnlijk :+) is met een confirm() met javascript, maar daar heb ik niet echt controle over het uiterlijk enzo.
een standaard confirm-venster is idd een default door de client gegenereerde box... als je het snel wil doen, is dat ook de gewone oplossing, dat je het dan niet kunt customiseren is eigen daaraan, dat is ook de grond dat zoiets zo snel gaat...

het is verder niet veel werk om bv een door jezelf gemaakt custom 'confirm' te maken... door bv een hidden DIV in je code met gewone HTML te zetten, met daarin twee knoppen: één voor de bevestiging.. zet hierop een duidelijke melding dat je daarmee dus het element verwijdert...
en ééntje voor de cancel, waarop duidelijk staat dat die knop de handeling niet uitvoert.


en je formulier geef je een 'onsubmit event welke false retourneert en die verborgen div laat zien...
de Submit geeft dan een 'form.submit()' (als je die via javascript-method oproept voert deze niet het onsubmit()-event meer uit, en submit dus uiteindelijk het ingevuulde form)...
drukt de persoon op cancel verberg je gewoon die DIV weer...

de DIV is geheel customisable en gewone HTML


Ik zou dit zeker gewoon clientside doen, je belast dan namelijk minder je server en hebt minder requests nodig...
Het is ook gewon een pure clientside handeling, die extra bevestiging vane en submit door de user.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

je geeft je id mee aan de functie, en laat php een id aan je delete buttons geven, ( dus <input type="button" onclick="fooBar(<?=$id;?>)" id="del_btn-(<?=$id;?>)" />

vervolgens haal je het goede element dan op met getElementById('del_btn-' + id)

  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Verwijderd schreef op woensdag 26 oktober 2011 @ 09:49:
je geeft je id mee aan de functie, en laat php een id aan je delete buttons geven, ( dus <input type="button" onclick="fooBar(<?=$id;?>)" id="del_btn-(<?=$id;?>)" />

vervolgens haal je het goede element dan op met getElementById('del_btn-' + id)
Dus het idee is dat ik het ID al tussen de haakjes plaats tijdens de while loop, dat is geen probleem, gebeurd nu in een hidden input maar in de functie is inderdaad een stuk handiger. Maar wat moet er dan gebeuren om php te laten weten welke ID hij nu moet verwijderen?

Wat ik nu voor me zie is dat zodra het venster "Weet je het zeker?" omhoog komt, javascript een hidden input veld vult met het ID wat het mee kreeg, daarna haalt de "Ja-ik-weet-het-zeker-doe-maar-deleten-button" het ID uit de post, klopt dit?
Ventieldopje schreef op woensdag 26 oktober 2011 @ 09:46:
Je hebt het in je code toch al goed, je geeft het ID mee met de functie showOverlay (javascript). In die functie kun je dus als de gebruiker heeft aangeklikt dat hij zeker weet dat hij het dingetje wil verwijderen een AJAX call maken naar je PHP pagina die verder de request afhandelt :)

Bovendien raad ik je aan voor de leesbaarheid in plaats van op elke regel echo's te gebruiken met alle problemen die daar bij kunnen komen (escapen van ' etc.) dit te doen:

*knip*

Houd de code leesbaar en heb je php en html wat beter gescheiden ;)
Zodra ik het woord AJAX noem bij mijn stagebegeleider schud hij meteen zijn hoofd. "Jij gaat veel te snel blabla.." dus dat is toekomst beeld. :P
Ik zal inderdaad eens een beetje gaan opruimen, is lastig als ik constant kleine dingen toevoeg.. alles word zo'n rommel!
RM-rf schreef op woensdag 26 oktober 2011 @ 09:47:
de DIV is geheel customisable en gewone HTML
Cool, dit ga ik snel eens opzoeken, lijkt me een stuk handiger op de lange termijn. Het probleem is dat we wel PHP op school krijgen, maar geen javascript.. dus heel javascript is nieuw voor me. Niet dat die 9 lessen php zoveel waard waren.. ;(

Verwijderd

Ja zo zou je het kunnen doen. Waarom wachten met AJAX als je het ook nu kan leren? het zal je veel helpen bij dit soort dingen, en het werkt ook nog lekker snel. Als je stagebegeleider zegt dat je te snel gaat, moet je je er niks van aantrekken, imho. AJAX scheelt je veel gedoe wat je dus nu wel aan het doen bent. Als je straks je code weer moet overkijken en uitleggen is het vaak lastig door de vele "hacks" die je nu maakt waardoor je geen AJAX hoeft te gebruiken.

  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Ja inderdaad, dat is ook de reden dat het zo rommelig is, telkens een klein beetje toevoegen. Ik kan wel begrijpen dat het misschien te snel gaat, ik ben ook met heel veel tegelijk bezig. :9 Toch eens vragen of ik tijd kan krijgen voor een AJAX ietsje on-the-side.

Kan dit hele delete gebeuren met AJAX bijvoorbeeld?

Verwijderd

je kan een "request" met ajax generen, en deze doorsturen naar een php pagina. Dus je hoeft alleen maar om een confirmatie te vragen(als je de ID meegeeft aan de functie) en vervolgens deze dus doorstuurt naar de php pagina die het proccessed.

  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Dus in plaats van een hidden input vullen met javascript en dan met POST sturen verteld AJAX het direct aan php? Als dat zo is, is het inderdaad een hele uitkomst. :+

Verwijderd

Qiro schreef op woensdag 26 oktober 2011 @ 10:51:
Dus in plaats van een hidden input vullen met javascript en dan met POST sturen verteld AJAX het direct aan php? Als dat zo is, is het inderdaad een hele uitkomst. :+
yup, zonder dat je page refreshd. Vervolgens kun je dat php bestand de nieuwe lijst laten echoen, AJAX de div waar de lijst instaat leeghalen en vullen met de response van het php bestandje.

  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

Qiro schreef op woensdag 26 oktober 2011 @ 10:34:
Ja inderdaad, dat is ook de reden dat het zo rommelig is, telkens een klein beetje toevoegen. Ik kan wel begrijpen dat het misschien te snel gaat, ik ben ook met heel veel tegelijk bezig. :9 Toch eens vragen of ik tijd kan krijgen voor een AJAX ietsje on-the-side.

Kan dit hele delete gebeuren met AJAX bijvoorbeeld?
Hah, dat ken ik :+ Ik raad aan eerst gewoon te zorgen dat het werkt, het zal niet zo heel gek veel code extra geven om zo'n request te maken aangezien je de javascript functie toch al hebt geschreven voor de confirmatie etc. dus daar hoeft alleen bij een druk op de knop een ajax request gemaakt te worden. Desnoods doe je daarna wel een page refresh voor nu zodat hij ook verdwijnt uit de lijst.

Mocht je dit onderdeel af hebben straks zou ik eerst een flinke opruim ronde gaan houden met de kennis die je hebt opgedaan, je zult zien dat je code er daarna een heel stuk netter uit ziet.

Later ga je dan weer de boel uitbouwen wat een stuk sneller gaat met schone code. Ik raad dus wel aan nu even die AJAX in simpele vorm te implementeren :)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19:21

RM-rf

1 2 3 4 5 7 6 8 9

Ik zie hier overigens geen enkele noodzaak voor een Ajax call...?


de extra confirm is informatie die een gebruiker geeft die verder geen uitwisseling met de server nodig heeft, waarom zou je dan wel een onnodige request uitvoeren?

zeker als de uitvoerende nog lang niet erg 'zeker' lijkt te zijn in Javascript en het afhandelen van events is het misschien simpeler gewoon het eerst te houden bij een simpelere vorm van javascript formulier validatie die gewoon bij het 'onsubmit' event van het formulier een extra stukje HTML toont en daarin verder het submitten van dat formulier bevestigd of gecancelled kan worden.


Ajax is nog wat anders en dat is enkel handig als je bv tussentijd op basis van userhandelingen een asynchroon contact met de server wilt opbouwen (bv voor een input/autocomplete-suggestie gebaseerd op inhoud die al bv in een databank staat, als de user inhoud in een element ingeeft)

[ Voor 59% gewijzigd door RM-rf op 26-10-2011 11:39 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Nou, opzich dat deeltje niet, maar het deleten en herladen bijvoorbeeld zelf zou wel mooi kunnen, dan hoeft (als het goed is) de hele page niet te refreshen. Het is geen probleem op dit moment omdat het alleen divjes met borders zijn dus is het toch instant, maar ik denk wel graag wat groter dan normaal. Ook wil ik in mn half jaar stage zo veel mogelijk voor elkaar krijgen zonder van die kinder-oplossingen. :9

Maar het is gelukt! na wat pielen is het eindelijk gelukt. Heel erg bedankt van alle reacties!
Nu snel afmaken en spelen met AJAX als de echte pro's! :+

Resultaat:

klik!
Afbeeldingslocatie: http://i.imgur.com/lJImU.png

[ Voor 9% gewijzigd door Gideonnn op 26-10-2011 11:52 ]


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

RM-rf schreef op woensdag 26 oktober 2011 @ 11:36:
Ik zie hier overigens geen enkele noodzaak voor een Ajax call...?


de extra confirm is informatie die een gebruiker geeft die verder geen uitwisseling met de server nodig heeft, waarom zou je dan wel een onnodige request uitvoeren?

zeker als de uitvoerende nog lang niet erg 'zeker' lijkt te zijn in Javascript en het afhandelen van events is het misschien simpeler gewoon het eerst te houden bij een simpelere vorm van javascript formulier validatie die gewoon bij het 'onsubmit' event van het formulier een extra stukje HTML toont en daarin verder het submitten van dat formulier bevestigd of gecancelled kan worden.


Ajax is nog wat anders en dat is enkel handig als je bv tussentijd op basis van userhandelingen een asynchroon contact met de server wilt opbouwen (bv voor een input/autocomplete-suggestie gebaseerd op inhoud die al bv in een databank staat, als de user inhoud in een element ingeeft)
Eensch maar je leert er wel veel van, wat ik vaak doe is gewoon elke "regel" encapsuleren in een form met een hidden id en dan dmv. een button of met javascript dat specifieke form submitten. Zo zijn er nog tal van (al dan niet nettere) oplossingen om dit te doen.

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


Verwijderd

Qiro schreef op woensdag 26 oktober 2011 @ 11:42:
Nou, opzich dat deeltje niet, maar het deleten en herladen bijvoorbeeld zelf zou wel mooi kunnen, dan hoeft (als het goed is) de hele page niet te refreshen. Het is geen probleem op dit moment omdat het alleen divjes met borders zijn dus is het toch instant, maar ik denk wel graag wat groter dan normaal. Ook wil ik in mn half jaar stage zo veel mogelijk voor elkaar krijgen zonder van die kinder-oplossingen. :9

Maar het is gelukt! na wat pielen is het eindelijk gelukt. Heel erg bedankt van alle reacties!
Nu snel afmaken en spelen met AJAX als de echte pro's! :+
Ho ho, SNEL afmaken? Als je iets doet, doe het rustig aan en doe het goed. Als je nu foute dingen gaat aanleren ga je die later ook maken. Gewoon documentatie er bij halen als je iets niet zeker weet, genoeg documentatie op internet.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Qiro schreef op woensdag 26 oktober 2011 @ 11:42:
Maar het is gelukt! na wat pielen is het eindelijk gelukt. Heel erg bedankt van alle reacties!
Nu snel afmaken en spelen met AJAX als de echte pro's! :+
De "echte pro's" gebruiken alleen AJAX als het daadwerkelijk iets toevoegt dat je zonder AJAX niet op dezelfde manier kan doen. ;)

Durf ik trouwens te vragen waarom je een tabel in je confirm-div gebruikt?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

NMe schreef op woensdag 26 oktober 2011 @ 11:54:
[...]

De "echte pro's" gebruiken alleen AJAX als het daadwerkelijk iets toevoegt dat je zonder AJAX niet op dezelfde manier kan doen. ;)

Durf ik trouwens te vragen waarom je een tabel in je confirm-div gebruikt?
Het design laat nog wat te wensen over ja, ik mag hopen dat dit een test / intern project is en niet naar een klant hoeft? :X

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
niet alles gelezen, maar ik denk dat je je eerst af moet vragen waarom je de delete wil afhandelen in de thickbox?

Die box moet niet meer dan twee buttons tonen en een true/false status terug geven afhankelijk van wat de gebruiker ingedrukt heeft en de afhandeling van die box kan dan gewoon op het scherm plaats vinden waar de box opgeroepen is.


JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function fancyConfirm(msg,callback) {
var ret;
jQuery.fancybox({
modal : true,
content : "<div style=\"margin:1px;width:240px;\">"+msg+"<div style=\"text-align:right;margin-top:10px;\"><input id=\"fancyConfirm_cancel\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Cancel\"><input id=\"fancyConfirm_ok\" style=\"margin:3px;padding:0px;\" type=\"button\" value=\"Ok\"></div></div>",
onComplete : function() {
jQuery("#fancyConfirm_cancel").click(function() {
ret = false;
jQuery.fancybox.close();
})
jQuery("#fancyConfirm_ok").click(function() {
ret = true;
jQuery.fancybox.close();
})
},
onClosed : function() {
callback.call(this,ret);
}
});
}

Driving a cadillac in a fool's parade.


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
NMe schreef op woensdag 26 oktober 2011 @ 11:54:
[...]

De "echte pro's" gebruiken alleen AJAX als het daadwerkelijk iets toevoegt dat je zonder AJAX niet op dezelfde manier kan doen. ;)

Durf ik trouwens te vragen waarom je een tabel in je confirm-div gebruikt?
Ssst! :+

Maar dat is voor de snelheid, ik heb ongeveer 6000 classes in mn css bestand, ben nogal voorzichtig met voor ieder mini iets een nieuwe class te maken enzo, dit ging iets sneller en ga voor eerst functionaliteit, dan looks, de zin klopt ook van geen kanten, helft van de site is engels, andere nederlands, het is een hell. Ik moet dus nog opruimen :9

Als het kwa functionaliteit 'klaar' is wil ik het design helemaal anders maken, proberen met css3/javascript animaties enzo. Nu zit er druk achter omdat ik een tijdregistratie en logboek zsm klaar moet hebben

Het liefst begin ik helemaal opnieuw, fresh alles herzien, maar is niet echt tijd voor zeg maar.
Ventieldopje schreef op woensdag 26 oktober 2011 @ 11:55:
[...]


Het design laat nog wat te wensen over ja, ik mag hopen dat dit een test / intern project is en niet naar een klant hoeft? :X
Nee het is van mijzelf, ik ben ermee begonnen na 1 dag stage omdat passwords in een kladblokbestandje niks was, toen kreeg ik steeds meer ideeen. Nu ben ik op het punt dat ik ipv het school systeem dit systeem mag gebruiken als logboek en urenregistratie. Is een hele grote leerbron maar is puur voor mezelf, vandaar de bullshit die er kwa tekst soms staat. :+

[ Voor 3% gewijzigd door Gideonnn op 26-10-2011 12:02 ]


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

Qiro schreef op woensdag 26 oktober 2011 @ 12:01:
[...]


Ssst! :+

Maar dat is voor de snelheid, ik heb ongeveer 6000 classes in mn css bestand, ben nogal voorzichtig met voor ieder mini iets een nieuwe class te maken enzo, dit ging iets sneller en ga voor eerst functionaliteit, dan looks, de zin klopt ook van geen kanten, helft van de site is engels, andere nederlands, het is een hell. Ik moet dus nog opruimen :9

Als het kwa functionaliteit 'klaar' is wil ik het design helemaal anders maken, proberen met css3/javascript animaties enzo. Nu zit er druk achter omdat ik een tijdregistratie en logboek zsm klaar moet hebben

Het liefst begin ik helemaal opnieuw, fresh alles herzien, maar is niet echt tijd voor zeg maar.


[...]


Nee het is van mijzelf, ik ben ermee begonnen na 1 dag stage omdat passwords in een kladblokbestandje niks was, toen kreeg ik steeds meer ideeen. Nu ben ik op het punt dat ik ipv het school systeem dit systeem mag gebruiken als logboek en urenregistratie. Is een hele grote leerbron maar is puur voor mezelf, vandaar de bullshit die er kwa tekst soms staat. :+
Hmm nouja hopelijk heb je er een hoop van geleerd, schrijf een website (iig de code) in één taal en houd bepaalde standaarden aan die je aan het begin van het project (met je zelf) af spreekt, dat scheelt je heel wat opzoek werk ;)

6000 classes in je CSS? Ik mag hopen dat je 2 nulletjes teveel had getypt? :X Dan werk je imo niet echt efficiënt met CSS, ik maak zelf voor m'n werk ook complete intranetten voor bedrijven maar dan kom ik toch echt niet aan 6000 classes, laat staan 600 zeg :X

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Spreekwoordelijke 6000 natuurlijk! ;) Maar ik heb van die classes er tussen staan waarvan ik zoiets heb dat ik ze misschien beter inline kan doen, maar dat is zo'n rommel. Met onder andere namen verzinnen heb ik soms moeite, maar dat alleen als het iets als dit is, er komt constant een mini ietsje bij wat gewoon een rommel word, maar even alles renamen is niet zo gedaan..

Dat is dus een van de redenen waarom ik eigelijk opnieuw wil beginnen en een huge opruimronde wil doen. Maar ik heb maar een half jaartje en zit al bijna op de helft, lijkt zo'n waste om te doen als ik ook andere dingen kan leren.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je weet het verschil tussen een CSS-class en een ID? 8)7 En wat inline doen betreft: dat is alleen voor echte uitzonderingen, niet iets om consistent toe te passen.

Daarnaast heb je om spul onder elkaar te zetten niet eens een class nodig, je zet dan de tekst in een <p>-tag en de knoppen inline eronder. Je hebt de div die eromheen zit al om te stylen. Een table heb je allerminst nodig om te stylen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
Ja dat verschil weet ik, er staan ook wat ID's in mn css hoor, maar maakt het niet schoner. :p Ook heb ik een kalender van geimporteerd, die heeft ook ziekelijk veel css classes ed.
De tabel was om alles even recht te zetten, eerst stond er ook meer in, maar het lukte niet dus ging ik terug naar basic. Ik zal de tabel weghalen voor je. :+

  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Ik hoop voor je, dat je stage begeleider kijkt naar functie, en niet naar code..

Driving a cadillac in a fool's parade.


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19:21

RM-rf

1 2 3 4 5 7 6 8 9

Twee usability puntjes....

Een confirm vragen heeft pas zin als de gebruiker én een duidelijke bevestiging krijgt welk record hij wil verwijderen; Waarbij de gebruiker dus ook het verschil ziet tussen dat record en mischien net erboven of onder liggende records:
Dat om te voorkomen dat misschien een gebruiker 'misgeklikt' heeft in de lijst en nu per ongeluk het verkeerde record deleted.
In de huidige opzet zal de gebruiker mogelijk zonder te kijken snel de extra melding wegklikken en zal die confirm hooguit ergerlijk zijn, maar fouten niet voorkomen; wat toch eigenlijk de bedoeling zou moeten zijn

Er zijn twee methodes dat te doen, ofwel het te verwijderen record ook daadwerkelijk highlighten of een duidelijk herkenbare waare herhalen in de verwijder-melding

En een tweede puntje:
Gebruik geen Ja/nee buttons die ook nog eens vlak naast elkaar staan...
wees zeker date r een goede afstand hiertussen bestaat, weer wegens het misklikken én bij voorkeur schrif qua tekst duidelijk wélke actie die button uitvoert: dus niet "Ja" maar "Verwijder'

[ Voor 10% gewijzigd door RM-rf op 26-10-2011 12:28 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

RM-rf schreef op woensdag 26 oktober 2011 @ 12:26:
[...]


twee usability puntjes....

een confirm vragen heeft pas zin als de gebruiker én een duidelijke bevestiging krijgt welk record hij wil verwijderen...
waarbij de gebruiker dus ook het verschil ziet tussen dat record en mischien net erboven of onder liggende records:
dat om te voorkomen dat misschien een gebruiker 'misgeklikt' heeft in de lijst en nu per ongeluk het verkeerde record deleted...


er zijn twee methodes dat te doen, ofwel het te verwijderen record ook daadwerkelijk highlichten of een duidelijk herkenbare waare herhalen in de verwoijdern melding


een twee puntje:
gebruik gen Ja/nee buttons die ook nog eens vlak naast elkaar staan...
wees zeker date r een goede afstand hiertussen bestaat, weer wegens het misklikken én bij voorkeur schrif qua tekst duidelijk wélke actie die button uitvoert: dus niet "Ja" maar "Verwijder'
Als de tekst "Weet u zeker dat u klant 'H. Jansen' wil verwijderen?" is dan kun je imo beter 3 knoppen gebruiken met "Ja" / "Nee" / "Annuleren".

De annuleren knop is er voor om mensen niet te pushen een keuze te maken en te laten zien dat ze ook nog een weg terug hebben bijvoorbeeld als ze mis geklikt hebben, zo weten ze dus zeker dat er geen veranderingen worden doorgevoerd ook al doet deze knop het zelfde (in de meeste gevallen) als de nee knop ;)

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 19:21

RM-rf

1 2 3 4 5 7 6 8 9

Ventieldopje schreef op woensdag 26 oktober 2011 @ 12:29:
[...]


Als de tekst "Weet u zeker dat u klant 'H. Jansen' wil verwijderen?" is dan kun je imo beter 3 knoppen gebruiken met "Ja" / "Nee" / "Annuleren".

De annuleren knop is er voor om mensen niet te pushen een keuze te maken en te laten zien dat ze ook nog een weg terug hebben bijvoorbeeld als ze mis geklikt hebben, zo weten ze dus zeker dat er geen veranderingen worden doorgevoerd ook al doet deze knop het zelfde (in de meeste gevallen) als de nee knop ;)
het spijt me, maar wat je stelt is echt onzin én onwerkbaar...

nutteloos extra opties toevoegen die hetzelfde doen (Nee en Annuleren) is hooguit je gebruikers nóg verder verwarren en ergeren, en is vragen om fouten.

Nogmaals, er is in usability-literauur wel het een en ander geschreven over hoe een goede opzet van een confrm-box ... ik zou garaag de indruk willen wekken dat de dingen die ik schrijf ik helemaal zélf bedacht heb, maar helaas moet ik eerlijk toegeven hooguit te herhalen wat door anderen allang heel goed beschreven en bewezen is.


dus géén confirm-box met een te vaag 'ja/nee' (of 'ok/cancel', wat zo mogelijk nog erger is)... maar liever meer tekst welke de handeling bevestigd.. en als er twee acties zijn, ook maar twee buttons.

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


  • Gideonnn
  • Registratie: September 2007
  • Laatst online: 30-09 00:55
kwaakvaak_v2 schreef op woensdag 26 oktober 2011 @ 12:24:
Ik hoop voor je, dat je stage begeleider kijkt naar functie, en niet naar code..
Hoe bedoel je? Ik snap wel dat het er niet zo spik en span uitziet, maar veel dingen heb ik nog nooit mee te maken gehad. Ik heb ook pas een kleine 10 lessen van 1,5 uur php gehad, dat kan je wel zien denk ik. :+
Ook is het nu een beetje kinderphp zeg maar, sommige dingen kunnen veel makkelijker, kleiner of sneller, maar ik heb daar geen idee van.

Bedankt trouwens RM-rf, ik zal er aan denken bij de redesign.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Je PHP is niet eens zozeer het probleem, je HTML en CSS wel. :P Da's ook niet erg als het nieuw is voor je, maar ik zou me daar wel iets meer in verdiepen als je serieus met het web aan de slag wil.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 10-11 15:04

Ram0n

Bierbrouwende nerd

Ventieldopje schreef op woensdag 26 oktober 2011 @ 12:29:
[...]


Als de tekst "Weet u zeker dat u klant 'H. Jansen' wil verwijderen?" is dan kun je imo beter 3 knoppen gebruiken met "Ja" / "Nee" / "Annuleren".

De annuleren knop is er voor om mensen niet te pushen een keuze te maken en te laten zien dat ze ook nog een weg terug hebben bijvoorbeeld als ze mis geklikt hebben, zo weten ze dus zeker dat er geen veranderingen worden doorgevoerd ook al doet deze knop het zelfde (in de meeste gevallen) als de nee knop ;)
Waarom zou je dan nog een Nee-knop gebruiken? Ja en Annuleren volstaan dan ook en creëert minder verwarring dan twee functioneel gezien identieke knoppen.

Eigenaar/brouwer Milky Road Brewery


  • Ventieldopje
  • Registratie: December 2005
  • Laatst online: 20:53

Ventieldopje

I'm not your pal, mate!

Omdat niet elke gebruiker goed leest en er de mogelijkheid bestaat je een een slecht geformuleerde vraag op 2 manieren kan lezen en het dus voor de gebruiker niet direct duidelijk is wat er gebeurt als hij op ja of nee drukt.

Vooral mensen die minder vaak met computers werken en in paniek raken als ze ergens per ongeluk op drukken zijn maar wat blij met een "Annuleren" knop ;)

Overigens zoals RM-rf ook al schreef kun je het ook met 2 knoppen doen als je maar duidelijk maakt welke knop wat doet bijvoorbeeld "Verwijder" / "Annuleren".

Ergens in het wilde bos van de Microsoft Knowledge Base staat een mooi artikel over UI design waar het concept met drie knoppen ook uitgelegd werd, ik verzin dit dus ook niet zelf ;)

Edit: Was geen antwoord op jou Ram0n ;)

[ Voor 3% gewijzigd door Ventieldopje op 26-10-2011 16:20 ]

www.maartendeboer.net
1D X | 5Ds | Zeiss Milvus 25, 50, 85 f/1.4 | Zeiss Otus 55 f/1.4 | Canon 200 f/1.8 | Canon 200 f/2 | Canon 300 f/2.8


  • Ram0n
  • Registratie: Maart 2002
  • Laatst online: 10-11 15:04

Ram0n

Bierbrouwende nerd

Is dat een antwoord op mij? Ik geef namelijk ook juist aan dat je dan Annuleren moet gebruiken i.p.v. Nee :)

Eigenaar/brouwer Milky Road Brewery


  • kwaakvaak_v2
  • Registratie: Juni 2009
  • Laatst online: 10-10 08:02
Ventieldopje schreef op woensdag 26 oktober 2011 @ 13:25:

Ergens in het wilde bos van de Microsoft Knowledge Base staat een mooi artikel over UI design waar het concept met drie knoppen ook uitgelegd werd, ik verzin dit dus ook niet zelf ;)
Microsoft, en UI design zonder ontkennende woorden in één zin, zou toch voldoende moeten zijn om een alarmbelletje te laten rinkelen ;)

Driving a cadillac in a fool's parade.

Pagina: 1