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

Formular

Status
Für weitere Antworten geschlossen.

Mars@Gera

Mitglied
Habe nen Formular und da will ich ne Auswahl haben, was man sich aussuchen kann. Habe das Also Radio-Buttons, will das aber als nen Ausklappbare Auswahl haben (Verstanden wie)

Habe wie schon gesagt nur den PHP Scrip, wie muss ich den Umbauen?

PHP:
<?php
if (isset($_POST["ergebnis"])) {
    // Aktuelle Sperre 1 Minute
    // 30 Tage Sperre time()+60*60*24*30
    setcookie("abgestimmt","ja",time()+60);
}
$thema = "Statistik";
$homepage = array("Deutschland","Österreich","Schweiz","England","Frankreich","Polen","Luxenburg","Dänemark");
$verein = array("ja","nein");
$anzahl1 = count($homepage);
$anzahl2 = count($verein);
?>

und das als ausgabe:

PHP:
<?php foreach ($homepage as $key=>$eintrag){
     echo "<input type='radio' name='ergebnis' value='$key'> $eintrag<br>\n";
} ?>
 
Also erstmal solltest du lernen, dass die Attributewerte in " gehören und nicht in '

Dann zum PHP Script

PHP:
<?php 
echo '<select name="ergebnis">';
foreach ($homepage as $key=>$eintrag) {
     echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";
} 
echo '</select>';
?>
 
wie wäre es mit einer auswahlliste:
Code:
<select name="" size="">
   <option>eins</option>
   <option>zwei</option>
   <option>drei</option>
   <option>vier</option>
   <option>fuenf</option>
</select>
 
Danke Frank, so langsam komme ich dahin wo ich will *gg*

Wie kann ich das machen, das ich alle ausgewählten sachen (Das Formular, sind mehrere Sachen die ich frage, also auch mehrere Antworten) alle an eine andere Datei schicke? Also in dem Beispiel oben
PHP:
$homepage
$verein

dies möchte ich beides zu einer anderen Homepage schicken!
 
was für einen sinn sollte es machen Formuardaten aufzusplitten und an verschiedene Seiten zu schicken.
Ubrigens: an eine Homepage kann man garnichts schicken höchstens an ein Script.
 
Sorry muss nochmal nerven, aba ich bekomm nen knall, will nicht unso!

Statistik.php
PHP:
<?php
if (isset($_POST["ergebnis"])) {
    // Aktuelle Sperre 1 Minute
    // 30 Tage Sperre time()+60*60*24*30
    setcookie("abgestimmt","ja",time()+60);
}
$thema = "Statistik";
$homepage = array("Deutschland","Österreich","Schweiz","England","Frankreich","Polen","Luxenburg","Dänemark");
$verein = array("ja","nein");
$anzahl1 = count($homepage);
$anzahl2 = count($verein);
?><html>
<head>
<title>Statistik</title>
<meta name="author" content="...">
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<table width="100%" border="0">
<tr>
<td width="18%" bgcolor="#EAEAEA"><p align="center">Aus welchem Land sind Sie?</p></td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">Spielen Sie selber in einem Verein Tischtenis?</td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">Frage 3</td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">Frage 4</td>
<td width="2%"></td>
<td width="18$" bgcolor="#EAEAEA">Frage 5</td>
</tr>
<tr>
<td align="center" width="18%" bgcolor="#EAEAEA"><?php
echo '<select name="ergebnis">';
foreach ($homepage as $key=>$eintrag) {
     echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";
}
echo '</select>';
?> </td>
<td width="2%"></td>
<td align="center" width="18%" bgcolor="#EAEAEA"><?php
echo '<select name="ergebnis">';
foreach ($verein as $key=>$eintrag) {
     echo '<option value="'.$key.'">'.$eintrag.'<br>'."\n";
}
echo '</select>';
?> </td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">test3</td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">test4</td>
<td width="2%"></td>
<td width="18%" bgcolor="#EAEAEA">test5</td>
</tr>
</table>
<?php
if (empty($_COOKIE["abgestimmt"]) && !isset($_POST["ergebnis"])) {
// Submit nur zeigen, wenn Formular noch nicht abgeschickt wurde
echo "<input type='submit' value='Daten senden'>";
} else {
echo "<p>Danke für die Übermittlung der Daten!</p>\n";
// Formular abgeschickt? Aber bisher noch nicht abgestimmt?
if (empty($_COOKIE["abgestimmt"]) && isset($_POST["ergebnis"])) {
// Dateiname in Variable speichern
$datei="statistik.txt";
// Datei vorhanden?
if (file_exists($datei)) {
    $fp=fopen($datei,"r+");
} else {
    $fp=fopen($datei,"w");
}
// Datei einlesen
$stimmen=fread($fp,filesize($datei));
// String aus Datei in Array zerlegen
$stimmen=explode(",",$stimmen);
// Der gewählte Punkt wird um 1 erhöht!
$stimmen[$_POST["ergebnis"]]++;
// Stimmen in einem String zusammensetzen
for ($i=0;$i<$anzahl;$i++) {
    $total .= $stimmen[$i] .",";
}
// Neuen String in Datei schreiben
rewind($fp);
fputs($fp,$total);
fclose($fp);
}
}
?>
</body>
</html>

ergebnis.php
PHP:
<?php
$thema = "Homepage Umfrage";
$homepage = array("Super","Sehr Gut","Gut","Naja","Schlecht");
$verein = array("ja","nein");
$farben = array("9999FF","8888FF","7777FF","6666FF","5555FF");
$anzahl = count($homepage);
?>
<html>
<head>
<title>Statistik - Ergebnis</title>
<link rel="stylesheet" type="text/css" href="css/umfrage.css">
</head>
<body>
<h3><?php echo $thema; ?> - Ergebnisse</h3>
<?php
$datei="statistik.txt";
@$fp=fopen($datei,"r");
@$stimmen=fread($fp,filesize($datei));
@fclose($fp);
// String zerlegen, Array entsteht
$stimmen=explode(",",$stimmen);
for ($i=0;$i<$anzahl;$i++) {
    $gesamt += $stimmen[$i];
}
if ($gesamt>0) {
// Höchstlänge der Balken angeben
$laenge=400;
for ($i=0;$i<$anzahl;$i++) {
// Anteil der Balken
$blaenge=$stimmen[$i]*$laenge/$gesamt;
// Werte auf ganze Zahlen runden
$blaenge= round($blaenge);
// Prozentwert ermitteln und ausgaben
$prozent = sprintf('%1.1f', 100*$stimmen[$i]/$gesamt);
echo "<table border='0'><tr><td width='100'>$homepage[$i]</td><td>&nbsp;</td><td width='$blaenge' bgcolor='$farben[$i]'>&nbsp;</td>\
<td>&nbsp;<i>$prozent% ($stimmen[$i])</i></td></tr></table>";
}
echo "<p>Anzahl der Stimmen: <b>$gesamt</b></p>";
} else {
echo "<p>Bisher wurden noch keine Stimmen abgegeben!</p>";
}
?>
</body>
</html>

hoffe ihr fühlt euch nciht genervt und helft mir bitte!
 
@mars, wenn noch einmal einer deiner beiträge so patzig geschrieben werden sollte (keine korrekte fehlerbeschreibung, keinen code, näheres nur durch nachfrage), werd' ich deine nächsten themen grundlos schließen.

Nils aka XraYSoLo
 
rofl (sorry für) aba da war nichts böses oder patziges drin oder geschweige denn so gemeint!
Aba okay! Sorry gruenspan wenn ich dich VIELLEICHT bissl doof kam oder so!

Naja back zum thema!

Und wegen Fehlerbeschreibung unso is okay, versuche das nächste mal dran zu denken!
 
schmeiss die (@) vor deinen Funktionen raus, setze ganz am Anfang deiner Scripte:
PHP:
<?
error_reporting(E_ALL);
?>
und poste eventuelle Fehlermeldungen hier!
 
in der statistik.php kam diese Fehlermeldungen!

HTML:
Warning: fopen(statistik.txt) [function.fopen]: failed to open stream: No such file or directory in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 21
 
Warning: filesize() [function.filesize]: stat failed for statistik.txt in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 22
 
Warning: fread(): supplied argument is not a valid stream resource in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 22
 
Warning: fclose(): supplied argument is not a valid stream resource in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 23
 
Notice: Undefined variable: gesamt in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 28
 
Notice: Undefined offset: 1 in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 28
 
Notice: Undefined offset: 2 in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 28
 
Notice: Undefined offset: 3 in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 28
 
Notice: Undefined offset: 4 in C:\Programme\xampp\htdocs\Homepage\Statistik\ergebnis.php on line 28

Vielleicht hat es ja damit zu tun, das es mehrere Antworten sind die er zu übermitteln hat und diese noch nciht definiert sind, welche in die Statistik.txt nehmen soll!

Kann sein weiss es nciht!

Will unbedingt das das Funktioniert!

Zusammengeführt (Frank)
Langsam reicht es mit deinen Regelverstößen
 
Zuletzt bearbeitet von einem Moderator:
Status
Für weitere Antworten geschlossen.
Zurück
Oben