Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Checkbox problem

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gabbanerd
    hat ein Thema erstellt [Erledigt] Checkbox problem.

    [Erledigt] Checkbox problem

    Hallo zusammen, ich hab nun ne gefühlte ewigkeit im internet nach einer Lösung meines Problems gesucht und hoffe sie nun hier zu finden

    folgendes problem, ich möchte eine Remotesteuerung für einen Ofen schreiben, die daten bekomm ich ausgelesen alles kein problem, nun möchte ich aber für drei antribute checkboxen einsetzen, die bei 1 also an als checked angesehen werden und bei 0 halt als frei. Hat jemand ne ahnung wie ich das anstellen kann ?? ich bin an dem problem am verzweifeln

  • nikosch
    antwortet
    Das eigentliche Problem ist doch, dass Gabbanerd nicht von seiner komischen heredoc-Syntax abrückt.

    Ist einfach nur die Schwelle gesunken, bei der man andere mit einem Forenbeitrag beschäftigt?
    This. Plus, die Anspruchsdenke ist entstanden, dass die Lösung eh "da draußen" schon steht und nur zusammenkopiert werden muss*). Ein Forenbesuch dient heute nicht mehr der Lösung einer Frage sondern nur noch dazu, den Suchauftrag abzusetzen, für Dinge, die man selbst nicht recherchiert bekommt (und die doch da draußen schon sein müssen). So gesehen ist das die Umkehrung von "Wissen ist Wissen wo's steht".

    *) Erschreckenderweise gilt das auch mehr und mehr für Arbeit-/Auftraggeber. Dass Entwicklung einfach Zeit erfordert, ist heute im Zeitalter der "Ich klick mir mal ne App" offenbar aus den Hirnen verdrängt worden.

    Einen Kommentar schreiben:


  • rkr
    antwortet
    Das sind so Momente wo ich daran denke, dass ich auch mal Anfänger war. Nur zu einer Zeit, wo es noch kein Internet gab. Ist einfach nur die Schwelle gesunken, bei der man andere mit einem Forenbeitrag beschäftigt? Zum Thema:

    PHP-Code:
    <?php
    $isChecked 
    true;
    ?>

    <input type="checkbox"<?php if($isChecked): ?>checked="checked" <?php endif ?> />
    Wer in diesem Stadium ist, sollte sich ein Buch für Anfänger holen. Wer nicht lesen kann/mag, der muss sich ein anderes Hobby suchen.

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    Nachtrag

    PHP-Code:
    else{$condcheck;} 
    Das ist Unsinn, einfach nur einen Variablennamen hinzuschreiben macht genau nix. Nennt man auch "empty statement", eine Programmzeile, die nichts bewirkt.

    Belege die Variable mit einem Leerstring, oder lass den else Teil komplett weg (dann initialisiere die Variable aber mit einem Leerstring).

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    habs hinbekommen

    PHP-Code:
    if($condprot===1){$condcheck="checked=\"checked\"";}
    else{
    $condcheck;} 
    im formular siehts dann so aus
    Code:
    <input type="checkbox" name="condprot" $condcheck>
    nun wird via variable das checked eingesetzt oder halt nicht je nachdem wie die bedingung oben im php-teil ausfällt

    das das so wie ich es versucht habe nicht funktionierte war klar ... jetzt nach langem überlegen ^^
    da ich den kompletten HTML-teil via echo ausgebe kann ich ja keinen zusätzlichen code ins echo reinschreiben ohne das echo zu unterbrechen ... durch das echo <<<BODY ganz zu anfang ist diese unterbrechung ja garnicht möglich ^^

    trozdem tausend dank für die denkanstöße

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    hm ich habe keine ahnung warurm das nicht funktioniert .... deshalb jetzt einfach mal mein kompletter code denn dann muss da noch irgenntwo anders was im argen liegen
    PHP-Code:
    <?php 
    $IP
    =ofen123
    $con
    =fsockopen("$IP"port$errno$errstr);
    if(
    $con){
    fputs($con"\$01I\r");
    $buff=stream_get_contents($con1310); 
    }else {
    echo 
    $errstr "( " $errstr ")";
    }
    c
    fclose
    ($con);
    $tartemp=(real)substr($buff06);
    $curtemp=(real)substr($buff76);
    $tarhum=(real)substr($buff146);
    $curhum=(real)substr($buff216);
    $tarfan=(real)substr($buff286);
    $curfan=(real)substr($buff356);
    $power=(int)substr($buff99,1);
    $humcon=(int)substr($buff1001);
    $condprot=(int)substr($buff1011);
    echo <<<BODY
    <head>
    <title> remote control </title>
    </head>
    <body>
    <form method="POST" action="test.php">
    <table>
    <tr>
    <td>IP</td>
    <td><input name="IP" size=6 value=
    $IP></td>
    </tr>
    <tr>
    <td></td>
    <td>Target</td>
    <td>Currend</td>
    </tr>
    <tr>
    <td>temp</td>
    <td><input name="tartemp" size=6 value=
    $tartemp></td>
    <td>
    $curtemp</td>
    </tr>
    <tr>c
    <td> hum </td>
    <td><input name="tarhum" size=6 value=
    $tarhum></td>
    <td>
    $curhum</td>
    </tr>
    <td> Fan </td>
    <td><input name="tarfan" size 6 value=
    $tarfan>%</td>
    <td>
    $curfan %</td>
    </tr>
    <tr>
    <td>Power</td>
    <td><input type="checkbox" name="power">//hier lasse ich nun absichltich frei denn hier sollte die if abfrage kommen</td>
    </tr>
    <tr>
    <td>Hum Con</td>
    <td><input type="checkbox name="humcon""></td>
    </tr>
    <tr>
    <td>Condprot</td>
    <td>input type="checkbox name="condprot"></td>
    </tr>
    </table>
    </form>
    </bod>
    BODY;
    ?>
    mache ich es nicht mit echo <<< BODY sondern abgrenze wird mir das formular nichtmal mehr angezeigt
    minimale tippfehler bitte ich zu entschuldigen da ich den code per terminal auf einem RaspberryPi schreibe und nicht kopieren kann (code nochmal neu abgeschrieben)

    Einen Kommentar schreiben:


  • lstegelitz
    antwortet
    PHP-Code:
    <input type ="checkbox" name="condprod" if($condprod === 1) {echo checked="checked" >;} else { >} 
    Das ist ein ungültiger Mix von HTML und PHP.

    Um vom HTML Modus in den PHP Modus zu wechseln, braucht es ZWINGEND das PHP-Tag (oder eines von mehreren möglichen): <?php bzw. die Kurzform <? falls aktiviert.
    Zurück in den HTML Modus dann mit dem schliessenden Tag: ?>

    Alles zusammen:
    PHP-Code:
    <input type ="checkbox" name="condprod" <?php if($condprod === 1) {echo checked="checked" ;} ?>

    /* oder, noch deutlicher: */
    <input type ="checkbox" name="condprod"
    <?php if($condprod === 1) {echo checked="checked" ;} ?>
    >
    Bei letzterem Beispiel sieht man deutlicher, wo PHP beginnt/aufhört und welche spitze Klammer wozu gehört (zum PHP Tag oder zum HTML)


    was mich persönlich grade am meisten ärgert das ich an so ner "kleinigkeit" scheiter
    Grundlagen... wenn man sie einmal drin hat, ist es tatsächlich eine Kleinigkeit, aber sitzen sie nicht, wird jedes Trivialproblem nahezu unlösbar.

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    was mich persönlich grade am meisten ärgert das ich an so ner "kleinigkeit" scheiter, ich krieg nen telnetport geöffnet um mir über ne serielle schnittstelle daten zu holen, bekomm den string den ich bekomme aufgeteilt auf die werte die ich brauche usw. alles kein problem und jetzt scheiterts an nem einfachen if, ich komm mir grade richtig doof vor ^^

    Einen Kommentar schreiben:


  • ApoY2k
    antwortet
    LERNE GRUNDLAGEN

    Es bringt absolut NICHTS, wenn dir jetzt irgendjemand die Lösung auf dem Silbertablett bietet. Dann bist du morgen mit einem neuen Problem auf dem gleichen Niveau wieder hier.

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    das die Lösung nicht funktioniert ich hab es nun auf zich verschiedenen wegen versucht die mir irgenndwie logisch erscheinen, aber nichts hier mal ne kostprobe von dem was ich bis jetzt alles versucht habe

    PHP-Code:
    <input type="checkbox" name="condprod" if( $condprod === 1) { checked="checked" >} else { >} 
    PHP-Code:
    echo '<input type="checkbox" name="condprod" ' if($condprod ===1) {'checked = "checked" >';} else {'>'}; 
    PHP-Code:
    <input type ="checkbox" name="condprod" if($condprod === 1) {echo checked="checked" >;} else { >} 
    egal ob ich es jetzt in hochkomma oder in anführungszeichen setze ich bekomme nie die richtige lösung, im gegenteil, es erscheint immer falscher zu werden da auf einmal in dem formular sogar codebestandteile angezeigt werden, was ja nun garnicht der fall sein soll

    edit: habe mir grade überlegt ob es nicht vielleicht möglich wäre dies via funktion zu lösen ? also mit
    checked=check(); ??

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    und was hindert dich jetzt daran, damit EIN Tag aufzutrennen und mittels if die Ausgabe umzuformen ? ApoY2K hat es dir doch im Pseudocode (nur noch die Befehle auf english übersetzen) vorgebaut ... sollte doch wirklich hinzukriegen sein

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    ich gebe alles via script aus das sieht ungefähr so aus
    PHP-Code:
    echo <<<HEAD
    <head>
    ...
    </head>
    HEAD;
    echo <<<BODY
    <body>
    ....
    </body>
    BODY; 

    Einen Kommentar schreiben:


  • eagle275
    antwortet
    du wirst schon den html-Teil ein wenig vom Script-Teil trennen müssen-
    Entweder gibst du den HTML ebenfalls im Script aus - oder du trennst es durch die üblichen Tags ...

    Einen Kommentar schreiben:


  • ApoY2k
    antwortet
    Sorry, auf dem Niveau kann man dir nicht über ein Forum helfen. Lern bitte erstmal Grundlagen. Links in meiner Signatur.

    Einen Kommentar schreiben:


  • Gabbanerd
    antwortet
    hm wars wohl leider doch nicht, hier der code der nicht so funktioniert wie er soll denn nun habe ich alle checkboxen gecheckt obwohl nur condprot auf 1 steht

    Code:
    <input type ="checkbox" name="condprot" if($condprot===1){ checked="checked"} else {}>

    Einen Kommentar schreiben:

Lädt...
X