Variable wird nicht ausgegeben...

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

  • Variable wird nicht ausgegeben...

    Hallo!
    Ich habe gestern ein erstes Script für ein Vote-System geschrieben. Dabei bin ich auf einen ziemlich eigenartigen Fehler gestoßen. Ich zeig euch erst ma kurz den Quellcode um den es hier gehen soll.

    PHP-Code:
    $antwort3 "<tr><td width='22'><input type='radio' name='vote' value='ant3'></td><td width='378'>$ant3</td></tr>";

    $template str_replace("<!-- Ant3 ->",$antwort3,$template); 
    In der Variable $antwort3 ist ein bisschen HTML-Blabla und in eine Zelle soll $ant3 geschrieben werden. Der ganze Kram wird mit einem sehr einfachen Templatesystem ausgetauscht gegen den HTML-Kommentar <!-- Ant3 ->.
    Das eigenartige ist nur das alles im Quelltext steht nur nich die Variable $ant3. Und ich habe keine Ahnung warum und komm nun nich mehr weiter, ich hab da jetzt schon tausend mal rauf geguckt und find nichts was falsch sein könnte.
    Deswegen wollte ich einmal fragen ob euch etwas auffällt? Wenn ihr mir helfen würdet wäre das sehr nett. Danke im Voraus
    Zuletzt geändert von MasterOfPuppets; 05.09.2005, 17:26.

  • #2
    "... \$ant3 ..." sollte helfen

    Kommentar


    • #3
      ich will einen String aus der Datenbank dort einfügen der hinter dem Variablennamen $ant3 steckt und nicht $ant3 als Text ausgeben...

      Kommentar


      • #4
        hast du mal mit echo geprüft, ob $ant3 überhaupt einen inhalt hat?

        OffTopic:
        du bist nicht zufällig im ph und/oder jf unterwegs?
        Kissolino.com

        Kommentar


        • #5
          @ Wurzel danke für deine Antwort aber das hab ich scho ma getestet ob er das macht und so erscheint der Text

          Und mit Ph und jf kann ich leider nix anfangen

          ich post jetzt mal nen ganzen code:

          PHP-Code:
          <?php
          $db 
          mysql_connect ("********""********""********");
          mysql_select_db ("********"$db) or die ("Keine Verbindung zur Datenbank");

          $id $_GET['id'];

          $sql "select * from votes where id like $id";
          $daten mysql_query($sql);
          $data mysql_fetch_array($daten);
          $frage $data['frage'];
          $ant1 $data['ant1'];
          $ant2 $data['ant2'];
          $ant3 $data['ant3'];
          $ant4 $data['ant4'];
          $ant5 $data['ant5'];
          $autor $data['autor'];
          $wann $data['wann'];
          $von $data['von'];
          $bis $data['bis'];
          // akutuelle Zeit erzeugen
          $jetzt=date(Y);
          $jetzt.=date(m);
          $jetzt.=date(d);
          $jetzt.=date(H);
          $jetzt.=date(i);
          $jetzt.=date(s);
          //umbauen der Timestamps für von bis
          $year substr($von,0,4);
          $month substr($von,5,2);
          $day substr($von,7,2);
          $hour substr($von,9,2);
          $min substr($von,11,2);
          $vom $day."/".$month."/".$year."  ".$hour."/".$min;
          //*********
          $year2 substr($bis,0,4);
          $month2 substr($bis,5,2);
          $day2 substr($bis,7,2);
          $hour2 substr($bis,9,2);
          $min2 substr($bis,11,2);
          $zum $day2."/".$month2."/".$year2."  ".$hour2."/".$min2;
          //**********
          $year3 substr($wann,0,4);
          $month3 substr($wann,5,2);
          $day3 substr($wann,7,2);
          $hour3 substr($wann,9,2);
          $min3 substr($wann,11,2);
          $wannf $day3."/".$month3."/".$year3."  ".$hour3."/".$min3;
          //fuer die Antworten 3,4,5 um die Abfrage ausführen zu können
          if ($ant3="") { $eins=1; }
          if (
          $ant4="") { $zwei=1; }
          if (
          $ant5="") { $drei=1; }
          //Verstecktes Formularfeld für die übermittlung der ID
          $hidden "<input type='hidden' name='hidden' value='".$id."'>";
          //durch if-Abfrage testen ob der Vote noch gültig ist ansonsten nur Anzeige des Ergebnisses
          if($jetzt>$von && $jetzt<$bis) {
          $template implode("",file("viewvote.tpl"));
          $template str_replace("{Frage?}"$frage$template);
          $template str_replace("{Ant1}"$ant1$template);
          $template str_replace("{Ant2}"$ant2$template);

          //############

          if(!$eins) {
          $antwort3 "<tr><td width='22'><input type='radio' name='vote' value='ant3'></td><td width='378'>".$ant3."</td></tr>";
          $template str_replace("<!-- Ant3 ->",$antwort3,$template);
          }
          if(
          $zwei) {
          $antwort4 "<tr><td width='22'><input type='radio' name='vote' value='ant4'></td><td width='378'>".$antwort4."</td></tr>";
          $template str_replace("<!-- Ant4 ->"$antwort4$template);
          }
          if(
          $drei) {
          $antwort5 "<tr><td width='22'><input type='radio' name='vote' value='ant5'></td><td width='378'>".$ant5."</td></tr>";
          $template str_replace("<!-- Ant5 ->"$antwort5$template);
          }

          //###########

          $template str_replace("{autor}"$autor$template);
          $template str_replace("{wann}"$wannf$template);
          $template str_replace("{von}"$vom$template);
          $template str_replace("{bis}"$zum$template);
          $template str_replace("<!-- HiddenID ->"$hidden$template);
          echo (
          $template);
          }
          else {
          $datei "results.php?id=";
          $datei.=$id;
          include(
          $datei);
          }
          mysql_close($db);
          ?>
          vielleicht seht ihr ja jetzt nen Fehler hab die Stelle um die es geht ma mit zwei Kommentaren (//########) markiert ich find nämlich echt nichts warum geht mir daß immer so is das bei euch genauso das ihr irgentwelche Fehler hab die ihr euch absolut nicht erklären könnt?

          naja jut noch ma danke für die Antworten bisher
          Zuletzt geändert von MasterOfPuppets; 06.09.2005, 15:54.

          Kommentar


          • #6
            Hi,

            wozu negierst du die $eins in

            PHP-Code:
            if(!$eins) {
            $antwort3 "<tr><td width='22'><input type='radio' name='vote'
             value='ant3'></td><td width='378'>"
            .$ant3."</td></tr>";
            $template str_replace("<!-- Ant3 ->",$antwort3,$template);

            verstehe ich nicht.

            Edit: Upss, habe nun verstanden was dahinter steckt, aber weiterhelfen kann ich dann doch nicht...
            Zuletzt geändert von Ueps; 06.09.2005, 16:22.

            Kommentar


            • #7
              PHP-Code:
              if ($ant3="") { $eins=1; }
              if (
              $ant4="") { $zwei=1; }
              if (
              $ant5="") { $drei=1; } 
              ^^ ich denke mal, hier fangen deine probleme an ... schau dir im manual bei if() nochmal an, wie man vergleichsoperatoren richtig einsetzt
              Kissolino.com

              Kommentar


              • #8
                Ja Wurzel
                hat schon Recht

                if(x = y) gibt immer true

                if(x==y) kann ture ergeben

                mach also aus dem = ein ==

                Kommentar


                • #9
                  Original geschrieben von LGC
                  if(x = y) gibt immer true
                  nein.



                  *g*, na gut, damit es nicht wieder ärger um das thema negative kurzantworten gibt:
                  der ausdruck x=y evaluiert immer zur booleschen entsprechung des wertes, der bei der zuweisung an x übergeben wurde.
                  wenn also y beispielsweise gleich 0, '' oder false wäre - dann wird die bedingung für if(x = y) auch nicht erfüllt.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #10
                    Vielen Dank funktoniert!
                    Echt nett von euch so dann ma schönen Abend noch falls das noch jemand ließt von euch...

                    Kommentar

                    Lädt...
                    X