• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

T_constant_encapsed_string

Status
Für weitere Antworten geschlossen.

FleyerShaver

Neues Mitglied
Ich habe jetzt versucht das mit der admin poll alleine hinzukriegen da mir keiner geholfen hat. Hier ist der anfang des Phpcodes:
PHP:
<?php
$rights = getRights ();
if(!in_array("Admin", $rights)) {
   no_rights();
} else {
   switch(isset($_GET['action'])?$_GET['action']:'') {
   case "add":
      $sql = "SELECT
             COUNT (*) AS Anzahl
     FROM
       poll
        WHERE
       DATE_ADD(Datum, INTERVAL 7 DAY) > NOW ();";
  $check = new Query($sql);
  if($check->error()) {
     die("<pre>".$check->geterror()."</pre>");
  }
  $row = $check->fetch();
  if($row['Anzahl']) {
    echo " <p class=\"error\">\n";
    echo " Es läuft bereits eine Abstimmung, warten sie\n";
    echo " bitte bis diese beendet ist.\n";
    echo " </p>\n";
    back2admin();
     } else {
   //es läuft keine Abstimmung
   if(!isset($_SESSION['Frage'])) {
    $_SESSION['Frage'] = "";
   }
   if(!isset($_SESSION['Antworten'])) {
    $_SESSION['Antworten'] = array ();
    }
            switch(isset($_POST['submit'])?$_POST['submit']:'') {
                case 'Frage bearbeiten':
        echo "<form action=\"index.php?section=admin&amp;site=poll&amp;action=add\" ";
        echo "      method=\"post\"";
        echo "      class=\"formular\">\n";
        echo "    <p>\n";
        echo "        Frage bearbeiten.\n";
        echo "    </p>\n";
        echo "    <ol>\n";
        echo "        <li>\n";
        echo "            <label for=\"frage\">Frage</label>\n";
        echo "            <input type=\"text\" name=\"frage\"";
        echo "                   id=\"name\" value=\"".$_SESSION['Frage']."\" />\n";
        echo "        </li>\n";
        echo "        <li>\n";
        echo "            <input type=\"submit\" name=\"submit\"";
        echo "                   value=\"Frage speichern\" />\n";
        echo "            <input type=\"hidden\" name=\"".session_name()."\"";
        echo "                   value=\"".session_id()."\" />";
        echo "        </li>\n";
        echo "    </ol>\n";
        echo "</form>\n";
        back2admin();
        break;
//...
Aber es kommt nur der Fehler:
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in C:\Programme\xampp\htdocs\admin_poll.php on line 35
Was mach ich falsch?
 
wie wärs denn mal, wenn du uns den RELEVANTEN code-ausschnitt hier präsentieren würdest und nicht den ganzen quellcode (leider ist hier eben noch keine zeilennummerierung mitinbegriffen).

außerdem, auf php-q.net ist doch alles beschrieben...

Nils aka XraYSoLo
 
das hier ist zeile 35:
PHP:
echo "<form action=\"index.php?section=admin&amp;site=poll&amp;action=add\" ";
Wenn mir einer bei dem skribt helfen will pack ich die admin_poll.php zum downloaden auf meinen server. Einfach melden.
 
Zuletzt bearbeitet:
Hewitt_1991 schrieb:
soll das ein witz sein? du präsentierst uns diese zeile und dir fällt nichts auf?
Manchmal hilft es ein wenig, etwas genauer hinzugucken, bevor man meckert.

PHP:
        echo "<form action=\"index.php?section=admin&amp;site=poll&amp;action=add\" ";
        echo "      method=\"post\"";
        echo "      class=\"formular\">\n";
da sieht man, dass das <form>-tag noch korrekt geschlossen wird (auch wenn es so etwas merkwürdig geschrieben ist)
 
ja ich weiß und deshalb finde ich den fehler auch nicht. Kann mir jemand den Code der da oben zum downloaden ist berichtigen.
 
'' ist schneller als "". Ganz einfach weil der PHP-Parser in ""-Strings nach Escape-Sequenzen und "eingearbeiteten" Variablen gucken muss.

Probiers doch einfach mal.

Außerdem muss man innerhalb eines ''-Strings die " nicht escapen.
 
ok jetzt aber noch mal zum thema welchen Fehler hab ich in Zeile 35 gemacht.
EDIT: Es würde auch reicher wenn jemand den kompletten Code irgentwo anders findet.
 
Zuletzt bearbeitet:
Rück das erstmal vernünftig ein, da steigt ja kein mensch durch.

ps: an die leute die hier von html reden: es geht hier um einen _PHP_ Parse Error, wenn man keine Ahnung hat einfach mal die fresse halten ;)

Zeile 35 ist auf jedenfall syntaktisch richtig [wie der Rest der Datei.. ] wenn auch unschön ;)

ps:
Linus Torvalds (Linux Kernel Hacker) 1995 schrieb:
"If you need more than 3 levels of indentation, you're screwed anyway, and should fix your program."

Ich würd mal drüber nachdenken ;)
 
Syntaktisch korrekt. ob er auch "richtig" ist weiss ich net da er viel zu unübersichtlich ist ;)

vll mal die komplette datei dann könnte man die mal durch den lint check laufen lassen :>
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben