[PHP | MySQL] Hilfe beim Erstellen einer Umfrage

Claas M

Erfahrenes Mitglied
Hi. Ich bin gerade dabei eine Umfrage für meine Homepage zu erstellen wobei ich aber einige Probleme habe.

Ziel ist es, dass ich einem Feld die Frage eingebe und in einem anderen die Anzahl der Antworten. Dann werden per for()-Schleife inputs erstellt, in die nun die antworten eingetragen werden sollen.

Dafür ersteinmal der Code ( Bitte wundert euch nicht, dass da "sinnloser Müll" dazwischen ist, das ist Absicht)
PHP:
<?php
include ("mysql.php");
include ("schutz.php");
include("settings.php");
if($rang==2 && $schritt==0)
	{
?>
		<form action='index.php?action=createpoll' method='POST'>
			<input type='text'  name='frage' value='Gib bitte die Frage ein' onFocus="if (this.value == 'Gib bitte die Frage ein') this.value=''" class='forms'><br>
			<input type='text' name='anzahl' value='Anzahl der Antworten' onFocus="if (this.value == 'Anzahl der Antworten') this.value=''" maxlength="2" class='forms'><br>
			<input type='hidden' name='schritt' id="schritt" value='1'>
			<input type='submit' class='login' value='weiter > ' name='login'>
		</form>
<?php
		}
if($rang==2 && $schritt==1)
	{
?>
			<form action='index.php?action=createpoll' method='POST'>
				<table width="400" border="0" cellspacing="0" cellpadding="0">
					<tr>
						<td colspan="2"><b><?php echo $frage; ?></b></td>
					</tr>
<?php
		for($x=1;$x<=$anzahl;$x++)
			{
				$y = $x-1;
				$antw[$y] = "$antwort$x";
?>
					<tr>
						<td> Antwort <?php echo $x; ?></td>
						<td><input type='text'  name='antwort<?php echo $x; ?>' maxlength="30"></td>
						<td><?php echo "$antw[$y]"; ?></td>
					</tr>
<?php
			}
?>
					<tr>
						<td colspan="2">
							<input type='hidden' name='schritt' id="schritt" value='2'>
							<input type='submit' class='login' value='weiter >> ' name='login'>
						</td>
					</tr>
				</table>
			</form>
<?php
	}
if($rang==2 && $schritt==2)
	{
		/*for($x=1;$x<=$anzahl;$x++)
			{
			}*/
		for($y=0;$y<=($anzahl-1);$y++);
			{
				echo "$antw[$y]";
			}
	};	
?>

So ich habe versucht die Werte der Eingabefenster in ein Array zu schreiben, welches nacher in die Datenbank eingetragen wird.

Naja wäre toll, wenn Ihr (sofern ich mich verständlcih ausgedrückt habe) mir helfen könntet.
 
Schreibe statt
Code:
<input type="text"name='antwort<?php echo $x; ?>' maxlength="30">
.....
Code:
<input type="text"name="antwort[]" maxlength="30">
...da erhältst du einen Array mit den Antworten ($_POST['antwort']), auf welchen du auf die übliche Weise zugreifen kannst(falls das deine Frage war)
 
Original geschrieben von fatalus
falls das deine Frage war

versuche ich mal und wenns klappt war sie es zum Teil :D
Dank schon mal im Voraus.

[edit]
Wenn ich aber
PHP:
$blubb = $_POST['antwort']
		echo "$blubb";

eingeb kommt folgender Fehler:

Parse error: parse error, unexpected T_ECHO in /home/www/web55/html/pollerstellen.php on line 51

In Zeile 51 steht das da oben.
[/edit]
 
Zuletzt bearbeitet:
Da fehlt wohl ein Semikolon in Zeile 51:
$blubb = $_POST['antwort'] ;

...abgesehen davon bringt dir das echo nicht viel, wenn du damit einen Array ausgibst.....probier mal print_r($_POST['antwort'])
 
Original geschrieben von fatalus
print_r($_POST['antwort'])

was ist denn an print_r() anders als an echo ""; ?

Ich bin relativ neu und kenne solche Unterchiede noch nicht.

[edit] Sorry, aber anstatt dass die Werte des Arrays ausgegeben werden, steht da nur Array[/edit]
[edit 2] Ok nun weiß ich den Unterschied[/ edit 2]
[edit 3]

PHP:
<?php
	}
if($rang==2 && $schritt==2)
	{
		$summe = count($antwort);
		#$blubb = $_POST['antwort'];
		#echo "$blubb";
		#print_r($_POST['antwort']);
		for($x=0;$x<=$summe-1;$x++)
			{
?>
				<?php echo $antwort[$x]; ?>
<?php
			}
	};	
?>
So damit klappt es nun so, wie ich es mir vorgestellt hatte. Danke dennoch an Dich.[/edit 3]
 
Zuletzt bearbeitet:
Zurück