[PHP|MySQL] Interpreter spinnt

Claas M

Erfahrenes Mitglied
N'abend Leute.

Ich bin im Moment total genervt, weil mein Script angeblich immer was falsch macht. Ich habe schon ca. drei Stunden daran gesessen es zu debuggen aber nichts half.

PHP-Code:
PHP:
<?php
include('mysql.php');
include('schutz.php');
include('settings.php');
if($rang=='2')
	{
		if(!$sent==1)
			{
				echo "<table width='100%' height='100%' border='0' cellpadding='2' cellspacing='0'>
						<tr>
							<td width='92%' height='100%' valign='top'>
					";  	
					require('pollinc.php');	
					echo "
					
					
					<form name='form1' method='post' action='poll-admin.php'>
						<table width='90%' border='0' align='center' cellpadding='2' cellspacing='2'>
							<tr>
								<td width='31%'>Frage:</td>
								<td width='69%'><input name='question' type='text' class='inputtext' id='question' size='80'></td>
							</tr>
							<tr>
								<td>Anzahl der M&ouml;glichkeiten</td>
								<td><input name='count' type='text' class='inputtext' id='count' size='2'></td>
							</tr>
							<tr>
								<td><input name='sent' type='hidden' id='sent' value='1'></td>
								<td><input name='Submit' type='submit' class='inputtext' value='weiter &raquo;'></td>
							</tr>
						</table>
					</form>";
					
					
					
			}
			else
			{
					echo "
					
					
					<form name='form1' method='post' action='poll-admin.php'>
						<table width='90%' border='0' align='center' cellpadding='2' cellspacing='2'>
							<tr>
								<td colspan='2' class='titel'>Neue Umfrage erstellen</td>
							</tr>
							
							
					";
						for($x=1;$x<=$count;$x++)
							{
								echo "
									<tr>
										<td width='31%'>Anwort $x</td>
										<td width='69%'><input name='answer[]' type='text' id='answer$count' class='inputtext'></td>
									</tr>
									";		  
							}  
							echo "
									<input name='question' type='hidden' id='question' value='$question'>
									<input name='count' type='hidden' id='count' value='$count'>
								
							<tr>
								<td width='31%'><input name='sent' type='hidden' id='sent' value='2'></td>
								<td width='69%'><input name='Submit2' type='submit' class='inputtext' value='weiter &raquo;'></td>
							</tr>
						</table>
					</form>
					";
				};
			if($sent==2)
				{
					echo "
						<table width='200' border='0' align='center' cellpadding='2' cellspacing='0'>
							<tr>
								<td>
						";
					//save data

					//reset IP-File
					$fpip = fopen('$dbip', 'w+');
					fclose ($fpip);
					//save question
					$dbquestion="question.txt";
					$fp = fopen('$dbquestion', 'w+');
					if($fp)
							{
									flock($fp,2);
									fputs ($fp, '$question');
									flock($fp,3);
									fclose ($fp);}
									@chmod($dbquestion,0666);
								//save possible answers	
								$dbanswer="answer.txt";
								$fp = fopen('$dbanswer', 'w+');
								fclose ($fp);	
								
								for($x=0;$x<count($answer);$x++)
									{
										$fp = fopen('$dbanswer', 'a+');
										if($fp)
											{
												flock($fp,2);
												fputs ($fp, '$answer[$x]\n');
												flock($fp,3);
												fclose ($fp);}
												@chmod($dbanswer,0666);
											};
											//create countfiles
											$fp1 = fopen('$x.txt', 'w+');
											if($fp1)
												{
													flock($fp1,2);
													fputs ($fp1, '0');
													flock($fp1,3);
													fclose ($fp1);}
													@chmod('$x.txt',0666);
												};  
								
											//generate pollform
											$inputform = "poll.htm";
											$formtemplate = "polltemp.htm";
											$formfile = fopen ('$formtemplate','r');
											$form = fread($formfile,filesize($formtemplate));
											fclose($formfile);
											$form = ereg_replace('%question%', $question, $form);
											$form = ereg_replace('%pollurl%', $pollurl, $form);
											//insert questions
											$ziffern = file($dbanswer);
						
											while (list ($line_num, $line) = each ($ziffern)) 
												{
													$frage .= "<tr><td align='left' class='polltext'>$line</td><td width='50%' align='left'><input type='radio' name='answer' value='$line_num'></td></tr>";

												};
											$form = ereg_replace('<f>', $frage, $form);
											$form = ereg_replace('%resultsurl%', $resultsurl, $form);
											$form = ereg_replace('%scripturl%', $scripturl, $form);
											$fp = fopen('$inputform', 'w+');

											if($fp)
												{
													flock($fp,2);
													fputs ($fp, '$form');
													flock($fp,3);
													fclose ($fp);}
								
													echo "Ihre Umfrage wurde erfolgreich installiert.";
													readfile($inputform);
												};
									#};
						#};

										
					echo "</td>
					</tr>
				</table>
			</td>
		</tr>
</table>";
#};				#};
							
					
?>

Der Fehler, den ich immer bekomme:

Parse error: parse error, unexpected T_STRING in /home/www/web55/html/pollinc.php on line 9

Wäre toll, falls einer von Euch eine Lösung hat.
 
Wäre toll, wenn du auch noch die pollinc.php dazu posten würdest.
Denn in der ist der Fehler und ich glaube kaum, dass du eine Datei in sich selber per require lädst..
 
Original geschrieben von KristophS
PHP:
 echo "<table width='100%' height='100%'

Sollte man nicht ' etc. escapen?

Nein, wenn er ="100%" gemacht hätte müsste er escapen.

PHP:
if(!$sent==1)

Ist das nicht irgendwie falsch?
 
PHP:
if(!$sent==1)
Das ist nicht zwingend falsch, erfüllt aber unter umständen nicht den Zweck der erwünscht ist.
Durch das ! vor $sent wird ja der der Wahrheitswert von $sent umgedreht (aus 0/FALSE wird 1/TRUE und umgekehrt). Schöner wäre dann natürlich zu schreiben if($sent==0) oder einfach if(!$sent).
Vermutlich (wenn man das ganze Script betrachtet) ist aber schon if($sent==1) erwünscht.
if($sent) reicht in dem Fall nicht, da $sent ja später noch auf den Wert 2 überprüft wird (daher auch die Vermutung, dass if($sent==1) erwünscht ist).
 
Hallo ersteinmal :)


Naja ich bin gestern nach drei Stunden Debuggen schon ganz bekloppt gewesen :) naja ich habe da übersehen, dass es diesmal in der pollinc.php ist und nicht in der poll-admin.php wo der Fehler vorher immer war. Naja ich schaue mal und melde mich dann wieder.

Bis dann.
 
Zurück