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

PHP Parse error: syntax error, unexpected $end

Status
Für weitere Antworten geschlossen.

aufsmaulhorst

Neues Mitglied
HAllo! hat jemand ne ahnung...??? immer des selbe mit php. Synthax error in line 65, 66, oder 68 obwohl es die gar nicht gibt. ich blick da nicht mehr durch. kann mir bitte jemand weiterhelfen!!!?? Die Line65 ist der html end-tag...

<html>

<head>
<title>Die Sonntagsfrage</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript">

//javascript funktion
function stimmeSenden() {
if(stimme ==null) {
alert("Sie haben noch keine Auawahl getroffen!");
}
else{
var opt= {method:'post', postBody: 'stimme' +stimme };
new Ajax.Updater( {success:'umfrage'}, 'votingrpc.php', opt);
}}

var stimme;


</script>

<style type="text/css">
table{background-color: #666
font: 13px Arial, Helvetica;
color: #FFF
padding: 5px;}
td.headline {font-weight:bold;}
</style>

</head>

<body>
<div id="umfrage">
<table width="300" border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2" class="headline">Wenn am n&auml;chsten Sonntag Bundestagswahl w&auml;hre,
wen w&uuml;rden Sie w&auml;hlen?</td></tr>

<?php
// Umfrage-optionen aus der datenbank lesen
include("db.php");
$query = "SELECT id,name FROM sonntagsfrage";
$result = mysql_query($query);

while ($line = mysql_fetch_array($result)) {
$id = $line[id];
$name = $line[name];

//abstimmungsmöglichkeit ausgeben
echo<<<EOF

<tr><td><input type="radio" name="stimme" onclick="stimme=this.value"
value="$id" /> </td><td>&nbsp;$name</td></tr>
EOF;
}

mysql_free_result($result);
mysql_close();
?>

<tr><td colspan="2" style="text-align:right"> <input type="button" value="Abschicken" onclick="stimmeSenden()"/></td></tr>

</table>
</div>
</body>
</html>
 
also erstmal schreibt man nicht

Code:
$var = $array[index];

sondern bei strings mit anführungszeichen

Code:
$var = $array['index'];

oder bei integer mit zahlen

Code:
$var = $array[123];

uns zweitens schreibt man um variablen in einem heredoc, das ist dieses <<<EOF gedöhns geschweifte klammern also nicht

Code:
value="$id" /> </td><td>&nbsp;$name</td></tr>

sondern

Code:
value="{$id}" /> </td><td>&nbsp;{$name}</td></tr>

und drittens kann ich da sonst keinen fehler entdecken, darum solltest du uns mal den inhalt der db.php zeigen und zwar in Code Tags die sehen so aus

[noparse]
PHP:
hier dein code
[/noparse]
 
immer noch Fehler in (jetzt seite70) html-endtag

danke für die tipps.. hab alles eingebaut und noch zwei vergessene ; gefunden.. aber trotzdem sagt mir PHPEdit und der Browser, dass ein Syntax-fehler in zeile 70 wäre. hier die codes:

PHP:
<html>

<head>
<title>Die Sonntagsfrage</title>
<script type="text/javascript" src="js/prototype.js"></script>
<script type="text/javascript">

  //javascript funktion
    function stimmeSenden() {
      if(stimme ==null) {
          alert("Sie haben noch keine Auawahl getroffen!");
      }
    else{
          var opt= {method:'post', postBody: 'stimme' + stimme };
      new Ajax.Updater( {success:'umfrage'}, 'votingrpc.php', opt);
  }}

  var stimme;


</script>

<style type="text/css">
  table {
      background-color: #666;
      font: 13px Arial, Helvetica;
      color: #FFF;
      padding: 5px;}

      td.headline {font-weight:bold;}
</style>

</head>

<body>
  <div id="umfrage">
    <table width="300" border="0" cellpadding="0" cellspacing="0">
    <tr><td colspan="2" class="headline">Wenn am n&auml;chsten Sonntag Bundestagswahl w&auml;hre,
    wen w&uuml;rden Sie w&auml;hlen?</td></tr>

<?php
// Umfrage-optionen aus der datenbank lesen
include("db.php");
$query = "SELECT id,name FROM sonntagsfrage";
$result = mysql_query($query);

while ($line = mysql_fetch_array($result)) {
  $id = $line[id];
  $name = $line['name'];

  //abstimmungsmöglichkeit ausgeben
  echo<<<EOF

  <tr><td><input type="radio" name="stimme" onclick="stimme=this.value"
  value="{$id}" /></td><td>&nbsp;$name</td></tr>
  EOF;

  }

    mysql_free_result($result);

PHP?>

<tr><td colspan="2" style="text-align:right"><input type="button"
value="Abschicken" onclick="stimmeSenden()" /></td></tr>

</table>
</div>
</body>
</html>



und die db.php:
PHP:
<?php
//datenbank-connection aufbauen

$dbname="Umfrage";
$dbhost="localhost";
$dbuser="root";
$dbpass="";

mysql_connect($dbhost,$dbuser,$dbpass);
mysql_select_db($dbname);

?>

hatte früher diese probleme mit php auch schon und habs dann deshalb dann einfach sein lassen... fange aber jetz wieder an weil ich wohl doch nicht drum rum komme.
danke schonmal im vorraus
 
jetzt siehst du doch selber den fehler ^^

ein heredoc ist so aufgebaut, ein erst die einleitung durch <<< dann setzt du einen identifyier z.b. EOF also siehts nun so aus

Code:
<<<EOF

jetzt kommt dein text egal wie er aussehen mag einfach haufenweise text

und nun wieder den identifyer mit abschließendem ; ABER!!!! ^^ in der zeile darf nur der identifyer stehen und ein ; keine leerzeichen tabs oder sonstigen zeichen außer ein line break also \n also darf in der zeile nur stehen

Code:
EOF;

bei dir sind davor aber noch leerzeichen die müssen weg ;)

//Edit: php kann zwar mit <? oder <?php anfangen aber nur mit ?> aufhören ;)
 
hmm

...ich dachte immer php wäre das format der syntax völlig egal.. also ob leerzeichen oder nicht.. nmann könnte ainfach alles aneinander schreiben wie in c# z.B.
da gibts auch ein fachwort zu welches mir aber grade nicht einfällt. ich komme eher aus der vb-ecke wo es schon sehr auf zeilenumbrüch in der syntax usw ankommt. fange mit php auch grad erst richtig an. danke nochmal!
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben