Checkbox voor tutorial in/uitschakelen

  • Beste allemaal


    Ik ben bezig met een crime game


    Ik ben bezig geweest met een soort tutorail temaken die op de begin pagina tezien is dat werkt allemaal prima alleen nu wil ik dus een bij profiel beheren een checkbox maken zo dat er dus voor de speler de mogelijkheid is om aantevinken of hij/zij de tutorial wil zien ja of nee want ik zelf en andere gaan dat op een duur hoogst irritand vinden dat je als je dus elke keer naar de begin pagina gaat dat die tutorial in beeld komt


    Wat werkt er niet en wat werkt er wel


    Als ik dus de check box aan klik en dan op profiel opslaan klik dan is de check box aangevinkt dat is goed
    Als ik dan ga kijken op de begin pagina dan blijft de tutorial in beeld dat is niet goed
    En als ik weer kijk bij profiel beheren is de checkbox niet meer aangevinkt dat is niet goed


    Ik heb nu dit gemaakt


    Dit staat in edit.php


    PHP
    if(!isset($_POST['disablemail'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }
    if(isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='0' WHERE `login`='$data->login'");
    }
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }


    PHP
    <?if($data->disabletut == 0){
    ?>
    				<input type="checkbox" name="disabletut" value="1" checked > Tutorial op hoofdpagina uitzetten
    <?
    }
    else{
    echo '				<input type="checkbox" name="disabletut" value="1" > Tutorial op hoofdpagina uitzetten.';
    }
    ?>


    Dit staat in tutorial.php


    PHP
    <?
    if(isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='0' WHERE `login`='$data->login'");
    }
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }
    ?>


    Dit staat in de database


    SQL
    disabletut int 5 zoalsaangegeven 1


    Zo als ik het nu zie moet het goed zijn alleen het werkt dus niet helaas jammer genoeg


    Als er iemand is die mij verder kan helpen hier mee om dit werkend tekrijgen


    Alvast bedankt


    Mvg Terr0r

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Staan deze codes wel in een html form action post? Overigens kan ik je aanraden je volledige bijbehorende code te plaatsen, en niet een aantal losse stukjes.


    Eigenlijk doet tutorial.php exact hetzelfde als edit.php. Maar waarom gebruik je niet gewoon else (eventueel elseif)?

  • 1 - Denk het wel om dat er al een checkbox is voor geen game mails meer ontvangen daar heb ik het van overgenomen ik heb wel alles netjes aangepast zo als je kan lezen in mijn begin post
    2 - Ik wil best de gehele phpfile posten alleen lijkt mij dat niet relavant de andere overige code daar bij is de file bijna 900 regels lang aangezien ik hier maar 10.000 tekens kan plaatsen gaat dat niet
    3 - Klopt de files doen het zelfde maar is dat wel juist ja of nee
    4 - Weet ik niet

  • Zoals ik uit je beschrijving begrijp moet tutorial.php dus een andere handeling uitvoeren dan edit.php. Je moet dus niet controleren wat er in een formulier is ingevuld? Je moet gewoon de database waarde opvragen en niet updaten in tutorial.php


    Hoe je je database met php op een juiste manier kunt laten communiceren kun je hier lezen: http://nl.wikibooks.org/wiki/P…meren_in_PHP/MySQL_in_PHP
    http://www.freewebmasterhelp.com/tutorials/phpmysql/1


    Geloof me, als je dit rustig doorleest weet je precies hoe je dit probleem moet oplossen.

  • Dankje wel voor de links de wikki link is in het nederlands dat is mooi deze link http://www.freewebmasterhelp.com/tutorials/phpmysql/1 is zo iets ook in het nederlands ?


    Het is dus de bedoeling dat je in edit een checkbox kan aanvinken en zo dat de tutorial op de begin pagina word uitgeschakeld


    Ik was gisteren toevallig even ergens anders mee bezig en kwam toen iets tegen dat ik dacht dat moet in tutorial.php gezet worden om het werkend tekrijgen alleen werkt dat dus niet en dat is dit stukje code wat ik nu in tutorial heb staan


    PHP
    <?
    if($_POST[to] == "1") {
    $query = "SELECT login,email FROM `users` WHERE `disabletut`='1'";
    }
    ?>


    Het stukje code heb ik van disablemail alleen heb ik dus net als bij de andere stukjes code de naam gewijzigt alleen werkt het nog niet


    Ik probeer echt van alles maar krijg het niet werkend helaas terwijl bijvoorbeeld een stukje code voor massamail inbouwen in het interne admin paneel wel wil en werkend is


    Alvast bedankt


    Mvg Terr0r

  • je haalt nu alle gebruikers op waar disabletut 1 is, als er iets gepost is. Wat is daar de bedoeling van :)?


    Ik denk dat je inderdaad even de basis van SQL en PHP moet induiken dan is dit zo duidelijk


    je moet een check bouwen, die controleerd of de waarde in de database 1 of 0 is, dan is het voorste gedeelte af.


    Aan de achterkant simpel gewoon de waarden van de checkbox de database in zetten ;)

  • 1 - Dat is niet deboeling nee daar wil ik dus niets mee
    2 - Als je een linkje hebt waar ik iets kan vinden een tut ofzo hoe ik het dus werkend zou kunnen krijgen heel graag
    3 - Dat is waar ik dus mee bezig ben een check bouwen
    4 - Kijk dat is heel mooi als het voorste gedeelte al af is
    5 - zo als in mijn beginpost telezen is staat er dus in de database ( disabletut int 5 zoalsaangegeven 1 ) dan lijkt het mij dus dat het in de de database op 1 staat en het moet dus zo zijn dat gebruikers kunnen uitschakelen als ze dat willen en dan moet hij dus op 0 gezet worden door een checkbox in profiel beheren aan/uittevinken

  • Uit je bericht op te maken heb je geen ervaring met sql, php of het doorsturen van een php form :).


    Ik geloof dat er in het topic al een paar prima oplossingen zijn gegeven om de basis van SQL te leren :), in het bericht van cas namelijk.


    echter zul je waarschijnlijk nodig hebben:


    de hoofdpagina > controleert de waarde uit de database, als die 1 is dan > tutorial laten zien anders > doorsturen
    Waarschijnlijk haal je alle gebruikers data al gewoon op dus dit zou prima moeten lukken.


    de achterkant met een simpel sql update de waarden van 1/0 switchen als hij het formulier bevestigt.

  • Beste allemaal


    Zou iemand mij mischien verder kunnen helpen hier mee ik kom er niet uit ik ben er nu bijna 2 dagen mee bezig en ik kom er niet uit


    Alvast bedankt voor de hulp


    Mvg Terr0r

  • Je post disabletut klopt niet. Je kijkt of je $data->disabletut 0 is en geef dan een value = 1. Deze 1 zorgt er dus voor dat hij uit staat. Oké dit moet kloppen als je sql code goed staat. Wat jouw probleem is dat je in je ELSE statement ook een value = 1 mee geeft verander dit naar 0 en dan zal het moeten werken.


    Dus je code zou zo moeten werken:


    En anders snap ik je doel niet, dat je twee keer een uitzet optie maakt.


    Daarbij geef je een int5 aan je disabletut, als je hier tinyint 1 van maak is het al voldoende voor een simpele 1 en 0. ;) Het kan allemaal nog makkelijker, maar ik hou het zelf altijd op tinyint. Een boolean voor true en false kan ook nog etc..


    Nog een tip:
    Post een formulier en ga dan kijken of je checkbox gezet is ja of nee. Want nu kijk je alleen of de disabletut is gezet en dan gelijk een sql statement naar de database. Als het niet is gezet ook weer een statement naar de database. Wat extra security mag wel. ;)
    Wat ik zelf ook meestal doe is gewoon een simpele check bij het posten van het formulier.


    PHP
    <?php
    $disabletut = ( isset($_POST['disabletut']) && $_POST['disabletut'] == 1 ) ? true : false;
    if( !mysql_query( "UPDATE user SET disabletut = '". (int) $disabletut ."' WHERE username = '".mysql_real_escape_string($data->login)."'") ) {
    echo 'mislukt';
    }
    else{
    echo 'Je hebt de status van disabletut aangepast naar: '. $disabletut;
    }
    ?>

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.


    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML


    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

    Bewerkt 2 keer, laatst door NielsB ().

  • Beste niels B


    Bedankt voor u reactie


    Ik heb dat van u geprobeerd maar tot heden zonder succes


    Ik denk dat ik even helemaal over nieuw ga beginnen met het maken van de optie om de tutorial tekunnen uitschakelen ja of nee


    Momenteel heb ik dit in de de database staan


    SQL
    disabletut int 5 zoalsaangegeven 1


    Dit in edit.php


    PHP
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }
    if(isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='0' WHERE `login`='$data->login'");
    }
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }


    PHP
    <?if($data->disabletut == 0){
    ?>
    				<input type="checkbox" name="disabletut" value="1" checked > Tutorial op hoofdpagina uitzetten
    <?
    }
    else{
    echo '				<input type="checkbox" name="disabletut" value="0" > Tutorial op hoofdpagina uitzetten.';
    }
    ?>


    En dit in tutorial.php staan


    PHP
    <?php
    $disabletut = ( isset($_POST['disabletut']) && $_POST['disabletut'] == 1 ) ? true : false;
    if( !mysql_query( "UPDATE user SET disabletut = '". (int) $disabletut ."' WHERE username = '".mysql_real_escape_string($data->login)."'") ) {
    echo 'mislukt';
    }
    else{
    echo 'Je hebt de status van disabletut aangepast naar: '. $disabletut;
    }
    ?>


    Ik begrijp er nu niks meer van dit is zo simpel om tedoen altans het lijkt simpel om tedoen maar het lukt me niet en word ook makkelijk uitgelegd hoe ik het moet doen maar het lukt me niet terwijl andere dingen veel moeilijker zijn en ingewikkelder die ik wel voor elkaar krijg


    Ik hoop dat ik het ooit voor elkaar krijg anders maar de zooi er uit slopen


    Oja als ik op profiel beheren klik en het vakje tutorial uitzetten aanvink en dan opslaan doe is het vakje wel aangevinkt klik ik nog een keer op profiel beheren is het vakje weer uit gevinkt


    Mvg Terr0r

  • een checbkox krijgt naar mijn weten altijd een waarden mee ;) (1/0).


    Code
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }
    if(isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='0' WHERE `login`='$data->login'");
    }
    if(!isset($_POST['disabletut'])){
    mysql_query("UPDATE `users` SET `disabletut`='1' WHERE `login`='$data->login'");
    }


    dus daar controleer je 3 keer of hij ingesteld is, wat hij dus is want hij krijgt sws een waarden. Maak een check die controleert wat de waarde is ;), als je er niet uit komt kun je altijd simpel de post waarden uit echoen ;).

  • Als dat het geval is dat ik het 3 keer controleer is dat wel heel erg veel dat is ook weer niet nodig 1 keer is wel voldoende


    Maar zo als in de beginpost of 2de post van mij staat dat ik het eb over genomen van Stuur mij geen game mails.


    Die staat er ook zo in dus ik dacht als ik dat zo kopier en de naam veranderen zou het dus moeten werken alleen dat werkt dus helaas niet


    Wat kan ik dan nu het beste doen zo dat het wel werkt ?


    EDIT


    Ik heb het anders gedaan ik heb het nu zo gedaan alleen nu is de tut uit en staat de checkbox direct aangevinkt dat is ook weer niet helemaal goed


    Dit heb ik nu edit.php staan


    PHP
    if($_POST['disabletut'] == Aanzetten){
    header("Location: $sitelink/v3/index.php?a=news");
    mysql_query("UPDATE `users` SET `disabletut`='1'");
    mysql_query("INSERT INTO `golog`(login,ip,date,wat,hoeveel) values('" . $data->login . "','" . $_SERVER['REMOTE_ADDR'] . "',NOW(),'disabletut','1')");
    }
    if($_POST['disabletut'] == Uitzetten){
    header("Location: $sitelink/v3/index.php?a=news");
    mysql_query("UPDATE `users` SET `disabletut`='0'");
    mysql_query("INSERT INTO `golog`(login,ip,date,wat,hoeveel) values('" . $data->login . "','" . $_SERVER['REMOTE_ADDR'] . "',NOW(),'disabletut','0')");
    }


    PHP
    <?if($data->disabletut == 1){
    ?>
    				<input type="checkbox" name="disabletut" value="1" checked > Tutorial op hoofdpagina uitzetten
    <?
    }
    else{
    echo '				<input type="checkbox" name="disabletut" value="0" > Tutorial op hoofdpagina uitzetten.';
    }
    ?>


    En dit heb ik nu in tutorial.php staan



    En aan het einde van de html code dit

    PHP
    <?}}?>


    Hij is nu uit de tutorial maar het is de bedoeling dat je het dus aan en uit kan zetten


    Er staat iets in van golog volgens mij is dat stukje niet nodig of wel ?


    Mvg Terr0r

  • Je controleert 3 keer of er iets is walt er altijd is ;), Kopiëren en plakken gaat altijd fout. Je kan beter even de tijd er in steken en uitzoeken wat het nou precies doet.

  • Je controleert 3 keer of er iets is walt er altijd is ;), Kopiëren en plakken gaat altijd fout. Je kan beter even de tijd er in steken en uitzoeken wat het nou precies doet.


    Lees even mijn vorige post die heb ik geedit als u wil . en ja daar heeft u gelijk in dat is meestal wel zo ja daarom heb ik het nu anders gedaan zo als je kan zien in me vorig post


    Ik ga akkoord met newtimes, soms zijn mensen zo chaotisch bezig dat ze over het probleem kijken of niet snappen dat het 'n probleem is. je moet gewoon rustig, logisch nadenken wat je doet.


    Daar geef ik u helemaal gelijk in daar heb ik wel last van ja dat ik heel chaotisch bezig ben dat is een hele slechte eigenschap van mij maar goed lees even mijn vorig post die ik geedit heb


    Mvg Terr0r

  • Weet je zelf wel wat je aan het doen bent ?

    Code
    if($_POST['disabletut'] == Aanzetten){
    header("Location: $sitelink/v3/index.php?a=news");
    mysql_query("UPDATE `users` SET `disabletut`='1'");


    if post == aanzetten ? aangezien Aanzetten een int is of een Boolean ? lijkt me beter dat je er een 1/0 van kan maken :3.


    Daarna verzend je de header naar een andere pagina .. en dan wil je ook nog een query uitvoeren maar je bent al op een andere pagina

  • Nee niet helemaal ik weet wel dat ik probeer iets temaken dat ik dus me tutorial aan/uit kan zetten voor de rest ??


    Ik probeer ook maar iets om het werkend tekrijgen en tot nu to zonder resultaat


    Ik heb ook al op http://www.w3schools.com/ gekeken alleen daar kna ik niet iets vinden dat het dus werkend word snap er even helemaal niks van


    Maar goed ik laat me niet kisten ik bedoel u zij in 1 van u eerste posten ik moest iets veranderen en dan zou het werken en het eerste gedeelte was al klaar dan zit ik er dicht bij lijkt mij dat het gaat werken


    Ik denk dat wat ik moet doen om het werkend tekrijgen heel simpel is en ik veel temoeilijk denk om het werkend tekrijgen


    Mvg Terr0r

Participate now!

Heb je nog geen account? Registreer je nu en word deel van onze community!