Problem mit umfrage Skript

daniel_sun

Erfahrenes Mitglied
Hi das ist mein Umfrage Script:

Hier kann man abstimmen:

PHP:
$result = mysql_query("SELECT * FROM sgc_poll", $connection);
foreach ($row = mysql_fetch_array($result)){
echo "<b>$row['Titel']</b><br>";
echo "<form action=\"poll_count.php\" method=\"post\">";
echo "<input type=\"radio\" name=\"option1\" value=\"noption1\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option1']</font></option>";
echo "<input type=\"radio\" name=\"option2\" value=\"noption2\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option2']</font></option>";
echo "<input type=\"radio\" name=\"option3\" value=\"noption3\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option3']</font></option>";
echo "<input type=\"radio\" name=\"option4\" value=\"noption4\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option4']</font></option>";
echo "<input type=\"radio\" name=\"option5\" value=\"noption5\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option5']</font></option>";
echo "</select>";
echo "<input type=\"submit\" value=\" Senden \">&nbsp;&nbsp;<input type=\"reset\" value=\" Reset \">";
}

Hier werden die ergebnisse ausgewerten und in die Datenbank eingetragen.

PHP:
<?php
include('include/config.php');
mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db(sgbrowser, mysql_connect($mysql_host, $mysql_user, $mysql_pass));
$result = mysql_query("SELECT * FROM sgc_poll", $connection);
foreach($row = mysql_fetch_array($result)){
//**********Option 1
if($_POST['option1'] == "noption1"){
$option1new = $row['option1']+1 ;
$sql = "UPDATE
    sgc_poll
SET
    option1 = $option1new";
mysql_query($sql);
echo "<font color=\"#FFFFFF\"><center>Danke für ihre Stimme.<br>Sie wurde gezählt und ist nun im Fenster Ergebniss sichtbar.</center></font>";
}#
//**********Option 2
if($_POST['option2'] == "noption2"){
$option2new = $row['option2']+1 ;
$sql = "UPDATE
    sgc_poll
SET
    option2 = $option2new";
mysql_query($sql);
echo "<font color=\"#FFFFFF\"><center>Danke für ihre Stimme.<br>Sie wurde gezählt und ist nun im Fenster Ergebniss sichtbar.</center></font>";
}
//**********Option 3
if($_POST['option3'] == "noption3"){
$option3new = $row['option3']+1 ;
$sql = "UPDATE
    sgc_poll
SET
    option3 = $option3new";
mysql_query($sql);
echo "<font color=\"#FFFFFF\"><center>Danke für ihre Stimme.<br>Sie wurde gezählt und ist nun im Fenster Ergebniss sichtbar.</center></font>";
}
//**********Option 4
if($_POST['option4'] == "noption4"){
$option4new = $row['option4']+1 ;
$sql = "UPDATE
    sgc_poll
SET
    option4 = $option4new";
mysql_query($sql);
echo "<font color=\"#FFFFFF\"><center>Danke für ihre Stimme.<br>Sie wurde gezählt und ist nun im Fenster Ergebniss sichtbar.</center></font>";
}
//**********Option 5
if($_POST['option5'] == "noption5"){
$option5new = $row['option5']+1 ;
$sql = "UPDATE
    sgc_poll
SET
    option5 = $option5new";
mysql_query($sql);
echo "<font color=\"#FFFFFF\"><center>Danke für ihre Stimme.<br>Sie wurde gezählt und ist nun im Fenster Ergebniss sichtbar.</center></font>";
}
?>

Hier kann sich jeder User die Ergebnisse ansehen:

PHP:
<?php
include('include/config.php')
mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db(sgbrowser, mysql_connect($mysql_host, $mysql_user, $mysql_pass));
$result = mysql_query("SELECT * FROM sgc_poll", $connection);
foreach($row = mysql_fetch_array($result, MYSQL_ASSOC)){
echo "<center><b>$row['Titel']</b></center><br><br>";
echo "<table border=\"0\"><tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">Option:</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">Stimmen:</font></b></td></tr>";
echo "<tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['option1']</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option1']</font></b></td></tr>";
echo "<tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['option2']</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option2']</font></b></td></tr>";
echo "<tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['option3']</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option3']</font></b></td></tr>";
echo "<tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['option4']</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option4']</font></b></td></tr>";
echo "<tr><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['option5']</font></b></td><td><b><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">$row['n_option5']</font></b></td></tr></table>";
}
?>

Es kommen hier an allesn ecken und enden Fehler kann mir mal einer sagen, wo sie sind und wie sie zu beheben sind?
 
Zuletzt bearbeitet:
Hi, willkommen im Forum.

Es waere nicht schlecht zu wissen was fuer Fehlermeldungen kommen, so kann man das ganze vielleicht etwas eingrenzen ohne Deinen Code gleich studieren zu muessen, was meines Erachtens ein Qual ist, denn ohne Einrueckungen ist Dein Code nahezu unlesbar.
Fuer die Zukunft solltest Du Dir dementsprechend angewoehnen Deinen Code einzuruecken, das macht den Code lesbarer und hilft Dir, und auch uns, dabei Fehlerquellen aufzuspueren.

Weiterhin kannst Du PHP-Code hier auch mit Syntax-Highlighting versehen lassen indem Du nicht die [quote]-Tags nutzt, sondern die [code=php]-Tags. Auch dies kann hilfreich bei der Suche nach Fehlern sein.

Zusaetzlich empfiehlt es sich bei festen Werten wie Deinen MySQL-Zugangsdaten mit Konstanten anstelle von Variablen zu arbeiten. Dies ist zwar nicht noetig, aber ich persoenlich bevorzuge dies, da die Werte ja eh nicht geaendert werden sollen.

Was mir jetzt mal spontan auffaellt ist dies:
PHP:
mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db(sgbrowser, mysql_connect($mysql_host, $mysql_user, $mysql_pass));
$result = mysql_query("SELECT * FROM sgc_poll", $connection);
Du verwendest hier die Konstante sgbrowser. Falls es diese Konstante nicht gibt (was ich nicht weiss, sie koennte ja aus dem includeten Config-Script kommen) wird diese durch den Text 'sgbrowser' ersetzt. PHP ist in der Hinsicht ziemlich kulant. Falls Du dort keine Konstante vorgesehen hast, dann solltest Du dies in 'sgbrowser' umwandeln.
Weiterhin baust Du dort im Grunde 2 Verbindungen zur selben Datenbank auf, das ist vollkommen ueberfluessig.
Und Du nutzt die Variable $connection. Der dort erwartete Wert ist, wie auch bei mysql_select_db(), der Rueckgabewert der Funktion mysql_connect().
Du solltest die Variable also dementsprechend mittels mysql_connect() belegen.

Probier das mal so:
PHP:
$connection=mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db('sgbrowser', $connection);
$result = mysql_query("SELECT * FROM sgc_poll", $connection);
 
Beim Script fürs abstimmen kommt immer :

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/export/www/vhosts/funnetwork/hosting/sgbrowser/poll.php on line 16

Beim Auswerde der Ergebnisse:

Parse error: syntax error, unexpected T_IF in /usr/export/www/vhosts/funnetwork/hosting/sgbrowser/poll_count.php on line 70

Und beim Ergebniss anzeigen:


Parse error: syntax error, unexpected T_STRING in /usr/export/www/vhosts/funnetwork/hosting/sgbrowser/ergebniss.php on line 65
 
Ich habe ein Script schon verändert und es geht fast nur ein fehler kommt noch:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /usr/export/www/vhosts/funnetwork/hosting/sgbrowser/poll.php on line 15

Was ist an diesem script noch falsch
PHP:
<?php
include('include/config.php');
mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db('sgbrowser', mysql_connect($mysql_host, $mysql_user, $mysql_pass));
$result = 'mysql_query("SELECT * FROM sgc_poll", $connection)';
$row = mysql_fetch_array($result);
if(!$row){
echo " net";
}
else{
echo $row['Titel'];
echo "<form action=\"poll_count.php\" method=\"post\">";
echo "<input type=\"radio\" name=\"option1\" value=\"noption1\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">";
echo $row['n_option1'];
echo "</font></option>";
echo "<input type=\"radio\" name=\"option2\" value=\"noption2\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">";
echo $row['n_option2'];
echo "</font></option>";
echo "<input type=\"radio\" name=\"option3\" value=\"noption3\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">";
echo $row['n_option3'];
echo "</font></option>";
echo "<input type=\"radio\" name=\"option4\" value=\"noption4\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">";
echo $row['n_option4'];
echo "</font></option>";
echo "<input type=\"radio\" name=\"option5\" value=\"noption5\"><font color=\"#FFFFFF\" STYLE=\"font-size: 11px\">";
echo $row['n_option5'];
echo "</font></option>";
echo "</select>";
echo "<input type=\"submit\" value=\" Senden \">&nbsp;&nbsp;<input type=\"reset\" value=\" Reset \">";
}
?>
 
Seit wann setzt man Funktionen in Hochkommata...? :D
PHP:
$result = mysql_query("SELECT * FROM sgc_poll", $connection) or die(mysql_error());
 
Zurück