Umfragen machen Spaß! Sie können dazu beitragen, die Leser Ihrer Website einzubinden und Ihnen und dem Umfrageteilnehmer wertvolle Informationen zu liefern. Lassen Sie uns Schritt für Schritt eine Umfrage von Grund auf neu erstellen. Von der Photoshop-Gestaltung bis hin zu den PHP/MySQL, die sie antreiben. Hier ist, was wir bauen werden

Die Live-Demo ist nicht mehr online, aber Sie können ein .zip aller Dateien dieser Demo herunterladen.
1. Hintergrund in Photoshop gestalten
Erstellen Sie ein brandneues Photoshop-Dokument. In meinem Fall habe ich den Hintergrund mit einem Dunkelblau (#233743) gefüllt und es auf eine Größe von 700x700 Pixel eingestellt.

Erstellen Sie dann eine brandneue Ebene (drücken Sie das kleine Seiten-Symbol im Ebenen-Bedienfeld) über Ihrer Hintergrundebene. Wählen Sie das Verlaufswerkzeug (Unterwerkzeug des Füllwerkzeugs). Stellen Sie sicher, dass das Verlaufswerkzeug auf Vordergrund zu Transparent, radial und volle Deckkraft wie hier eingestellt ist
![]()
In meinem Fall habe ich eine etwas hellere blaue Farbe (#364c5a) verwendet und einen Verlauf von fast oben in der Mitte herausgezogen. Der Verlauf kann "außerhalb" des oberen Randes gehen, aber stellen Sie sicher, dass er nicht an den Seiten oder unten herausragt. Die Idee ist, dass wir dies über einem Hintergrund mit einem passenden Blau zentrieren werden, daher wollen wir nicht, dass der Verlauf abrupt endet. Der Grund, warum wir dies auf einer eigenen Ebene erstellen, ist, dass wir es verschieben können, ohne es neu machen zu müssen.

Fügen wir nun den lustigen "POLL!"-Text oben hinzu. Hier habe ich die Schriftart Agenda Black (einer meiner neuen Favoriten) in einem noch helleren Blauton (#e3f1fa) verwendet. Ich habe sie frei transformiert (Command-T), um sie leicht zu drehen und ihr dann einen leichten Schatten in den Ebenenstilen gegeben.

Nun ist die Grafik bereit zum Speichern. Sie können "Für Web und Geräte speichern" aus dem Menü Datei auswählen. Verwenden Sie eine hochqualitative JPG-Einstellung (am besten für größere Bilder mit Verläufen). Benennen Sie die Datei "page-bg.jpg" und speichern Sie sie in einem "images"-Ordner innerhalb eines Verzeichnisses, das Sie für dieses Projekt verwenden werden.

2. Seitenstruktur aufbauen
Eine Umfrage ist in unserem Fall nur ein wirklich einfaches Formular. Im Grunde eine Reihe von Radio-Button-Eingaben und ein Senden-Button. Hier ist das gesamte HTML-Markup:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Poll</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<fieldset>
<legend>What is your JavaScript library of choice?</legend>
<form action="<?php echo $editFormAction; ?>" id="form1" name="form1" method="POST">
<label>
<input type="radio" name="Poll" value="mootools" id="Poll_0" />
Mootools
</label>
<label>
<input type="radio" name="Poll" value="prototype" id="Poll_1" />
Prototype
</label>
<label>
<input type="radio" name="Poll" value="jquery" id="Poll_2" />
jQuery
</label>
<label>
<input type="radio" name="Poll" value="spry" id="Poll_3" />
Spry
</label>
<label>
<input type="radio" name="Poll" value="other" id="Poll_4" />
Other
</label>
<input type="submit" name="submit" id="submit" value="Vote" />
<input type="hidden" name="id" value="form1" />
<input type="hidden" name="MM_insert" value="form1" />
</form>
</fieldset>
</body>
</html>
Einige Punkte, die hier im Markup zu beachten sind. Ich habe mein Formular in ein fieldset gesetzt. Nichts Funktionales damit verbunden, ich mag einfach, wie die fieldset/legend-Kombination aussieht und uns einen Ansatzpunkt für einige CSS-Stile bietet. Beachten Sie auch, wie die Eingaben innerhalb der label-Elemente liegen. Dies ermöglicht es Benutzern, auf die Wörter und auf den Radio-Button zu klicken, um ihn auszuwählen, was gut ist. Beachten Sie auch das kleine bisschen PHP in der Aktion für das Formular, das wir später behandeln werden.
Hier ist das CSS
* {
margin: 0;
padding: 0;
}
body {
font-size: 62.5%;
font-family: Georgia, serif;
background: url(images/page-bg.jpg) top center no-repeat #233743;
}
h6 {
font-size: 1.4em;
margin-bottom: 15px;
}
a { color: white; }
label, li {
display: block;
padding: 5px;
font-size: 1.4em;
color: #e3f1fa;
}
fieldset {
margin: 115px auto;
width: 400px;
padding: 8px 15px 15px 15px;
border: 1px solid white;
display: block; /* IE 7 Requires This */
}
legend {
padding: 4px 6px 4px 6px;
border: 1px solid white;
font-size: 2.0em;
color: #e3f1fa;
font-style: italic;
}
ul { list-style: none; margin-bottom: 15px;}
.results-bar {
padding: 10px;
color: white;
background: url(images/result-bar-bg.png) left center;
white-space: nowrap;
}
span.total-votes {
font-size: 2.6em;
}
Beachten Sie die dort unten stehenden Stile für Dinge, die noch nicht in unserem Markup vorhanden sind. Diese sind für die Ergebnisseite, zu der wir später kommen werden.
3. Eine Datenbank zum Speichern von Ergebnissen erstellen
Die meisten Hosting-Pakete erlauben es Ihnen, Datenbanken auf Ihrem Server zu erstellen. Wenn Sie noch nicht wissen, wie das geht, müssen Sie sich möglicherweise an Ihren Hoster wenden oder in dessen Hilfe-Bereichen nachsehen, wie Sie eine neue hinzufügen.
CSS-Tricks läuft auf Media Temple, daher gibt es ein praktisches kleines Werkzeug direkt im Domain-Admin-Bereich zur Erstellung neuer Datenbanken.

Stellen Sie sicher, dass es sich um eine MySQL-Datenbank handelt. Die vier Dinge, die Sie wissen müssen, sind der Hostname, der Datenbankbenutzername, das Datenbankpasswort und der Name der Datenbank.
Nun müssen Sie eine neue Datei im Verzeichnis erstellen, das Sie für dieses Projekt begonnen haben, namens "conn_vote.php". Ich habe meine in einem Unterordner namens "Connections" platziert. Hier ist das PHP:
<?php
# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_conn_vote = "localhost";
$database_conn_vote = "your-database-name";
$username_conn_vote = "your-database-username";
$password_conn_vote = "your-database-password";
//$conn_vote = mysql_pconnect($hostname_conn_vote, $username_conn_vote, $password_conn_vote) or trigger_error(mysql_error(),E_USER_ERROR);
$conn_vote = mysql_connect($hostname_conn_vote, $username_conn_vote, $password_conn_vote) or die('Can\'t create connection: '.mysql_error());
mysql_select_db($database_conn_vote, $conn_vote) or die('Can\'t access specified db: '.mysql_error());
?>
Beachten Sie die vier fett gedruckten Zeilen oben, das sind die vier Variablen für die vier Dinge, die Sie wissen müssen. Die Wahrscheinlichkeit ist groß, dass Ihr Host localhost ist, aber nicht immer. Im Fall von Media Temple wie bei mir ist es etwas wie: internal-db.s12345.gridserver.com
Ihre brandneue leere Datenbank benötigt eine Tabellenstruktur und einige gefälschte Daten, um loszulegen. Hier ist etwas SQL, das Sie ausführen können, um das zu erledigen:
--
-- Table structure for table `poll`
--
CREATE TABLE `poll` (
`id` int(3) NOT NULL auto_increment,
`question` varchar(200) default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=43 ;
--
-- Dumping fake data for table `poll`
--
INSERT INTO `poll` VALUES (42, 'jquery');
INSERT INTO `poll` VALUES (41, 'mootools');
INSERT INTO `poll` VALUES (40, 'other');
INSERT INTO `poll` VALUES (39, 'mootools');
INSERT INTO `poll` VALUES (38, 'jquery');
INSERT INTO `poll` VALUES (37, 'mootools');
INSERT INTO `poll` VALUES (36, 'spry');
INSERT INTO `poll` VALUES (35, 'jquery');
INSERT INTO `poll` VALUES (21, 'mootools');
INSERT INTO `poll` VALUES (22, 'other');
INSERT INTO `poll` VALUES (23, 'mootools');
INSERT INTO `poll` VALUES (24, 'mootools');
INSERT INTO `poll` VALUES (25, 'prototype');
INSERT INTO `poll` VALUES (26, 'other');
INSERT INTO `poll` VALUES (27, 'mootools');
INSERT INTO `poll` VALUES (28, 'spry');
INSERT INTO `poll` VALUES (29, 'jquery');
INSERT INTO `poll` VALUES (30, 'mootools');
INSERT INTO `poll` VALUES (31, 'prototype');
INSERT INTO `poll` VALUES (32, 'mootools');
INSERT INTO `poll` VALUES (33, 'mootools');
INSERT INTO `poll` VALUES (34, 'mootools');
Die meisten Hoster bieten auch Zugriff auf phpMyAdmin zum Ausführen solcher Dinge. **Stellen Sie sicher**, dass Sie sich in Ihrer neuen Datenbank befinden und dann können Sie dieses SQL einfügen und ausführen.

4. Mit PHP zum Laufen bringen
Jetzt sind wir bereit für etwas PHP-Coding-Magie, um das alles zum Laufen zu bringen. Ich kann nicht vorgeben, das alles zu verstehen, aber der Kern ist, dass es Ihre ausgewählte Option nimmt, sie in einen schön lesbaren und sicheren Zeichenkettenwert umwandelt und als neuen Eintrag in der Tabelle unserer DB speichert.
Vielen Dank an Jonathan Fean für das PHP, das diese Sache antreibt, und an David Walsh für die Hilfe bei der Lösung einiger Probleme und die Inbetriebnahme auf meinem Server.
Fügen Sie diesen PHP-Code am Anfang (noch vor dem DOCTYPE) Ihrer poll.php-Datei ein.
<?php require_once('Connections/conn_vote.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
$insertSQL = sprintf("INSERT INTO poll (id, question) VALUES (%s, %s)",
GetSQLValueString($_POST['id'], "int"),
GetSQLValueString($_POST['Poll'], "text"));
mysql_select_db($database_conn_vote, $conn_vote);
$Result1 = mysql_query($insertSQL, $conn_vote) or die(mysql_error());
$insertGoTo = "results.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}
$colname_rs_vote = "-1";
if (isset($_GET['recordID'])) {
$colname_rs_vote = $_GET['recordID'];
}
mysql_select_db($database_conn_vote, $conn_vote);
$query_rs_vote = sprintf("SELECT * FROM poll WHERE id = %s", GetSQLValueString($colname_rs_vote, "int"));
$rs_vote = mysql_query($query_rs_vote, $conn_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);
?>
Und dieses PHP ganz am Ende der poll.php-Datei (sogar nach dem <html>).
<?php
mysql_free_result($rs_vote);
?>
5. Eine Ergebnisseite erstellen
Unsere Umfrage funktioniert und sammelt erfolgreich Stimmen, aber die Ergebnisseite ist die eigentliche Belohnung! Dies ist nicht nur der spaßige Teil, sondern unsere PHP-Funktion leitet nach dem Drücken des Abstimmungsbuttons automatisch zu einer "results.php"-Seite weiter, also müssen wir sowieso eine bauen =)
Dieses Mal gebe ich Ihnen das gesamte Markup und das PHP zusammen in einem großen Klumpen.
<?php require_once('Connections/conn_vote.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
}
return $theValue;
}
}
mysql_select_db($database_conn_vote, $conn_vote);
$query_rs_vote = "SELECT * FROM poll";
$rs_vote = mysql_query($query_rs_vote, $conn_vote) or die(mysql_error());
$row_rs_vote = mysql_fetch_assoc($rs_vote);
$totalRows_rs_vote = mysql_num_rows($rs_vote);
$resultQuestion1 = mysql_query("SELECT * FROM poll WHERE question='mootools'");
$num_rowsQuestion1 = mysql_num_rows($resultQuestion1);
$resultQuestion2 = mysql_query("SELECT * FROM poll WHERE question='prototype'");
$num_rowsQuestion2 = mysql_num_rows($resultQuestion2);
$resultQuestion3 = mysql_query("SELECT * FROM poll WHERE question='jquery'");
$num_rowsQuestion3 = mysql_num_rows($resultQuestion3);
$resultQuestion4 = mysql_query("SELECT * FROM poll WHERE question='spry'");
$num_rowsQuestion4 = mysql_num_rows($resultQuestion4);
$resultQuestion5 = mysql_query("SELECT * FROM poll WHERE question='other'");
$num_rowsQuestion5 = mysql_num_rows($resultQuestion5);
$percentQuestion1 = ($num_rowsQuestion1 / $totalRows_rs_vote)*100;
$percentQuestion2 = ($num_rowsQuestion2 / $totalRows_rs_vote)*100;
$percentQuestion3 = ($num_rowsQuestion3 / $totalRows_rs_vote)*100;
$percentQuestion4 = ($num_rowsQuestion4 / $totalRows_rs_vote)*100;
$percentQuestion5 = ($num_rowsQuestion5 / $totalRows_rs_vote)*100;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Results</title>
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<fieldset>
<legend>Results</legend>
<ul>
<li>
<?php echo $num_rowsQuestion1 ?> Mootools
<br />
<div class="results-bar" style="width: <?php echo round($percentQuestion1,2); ?>%;">
<?php echo round($percentQuestion1,2); ?>%
</div>
</li>
<li>
<?php echo $num_rowsQuestion2 ?> Prototype
<div class="results-bar" style="width: <?php echo round($percentQuestion2,2); ?>%;">
<?php echo round($percentQuestion2,2); ?>%
</div>
</li>
<li>
<?php echo $num_rowsQuestion3 ?> jQuery
<div class="results-bar" style="width: <?php echo round($percentQuestion3,2); ?>%;">
<?php echo round($percentQuestion3,2); ?>%
</div>
</li>
<li>
<?php echo $num_rowsQuestion4 ?> Spry
<div class="results-bar" style="width: <?php echo round($percentQuestion4,2); ?>%;">
<?php echo round($percentQuestion4,2); ?>%
</div>
</li>
<li>
<?php echo $num_rowsQuestion5 ?> Other
<div class="results-bar" style="width: <?php echo round($percentQuestion5,2); ?>%;">
<?php echo round($percentQuestion5,2); ?>%
</div>
</li>
</ul>
<h6>Total votes: <?php echo $totalRows_rs_vote ?></h6>
Back to Voting
</fieldset>
</body>
</html>
<?php
mysql_free_result($rs_vote);
?>
Beachten Sie, dass im PHP ein wenig Mathematik betrieben wird, die den Prozentsatz der Gesamtstimmen für jede Umfrageoption berechnet. Das sind nicht nur gute Informationen, sondern wir können diesen Prozentsatz verwenden, um die Breite eines Balkens festzulegen, um unseren Ergebnissen etwas visuellen Flair zu verleihen. Jede Umfrageoption hat ihr eigenes Listenelement, in dem die Gesamtzahl der Stimmen für diesen Artikel zusammen mit einem "results-bar" angezeigt wird, dessen Breite durch Setzen eines Inline-Breitenwerts auf den berechneten Prozentsatz bestimmt wird. Zurück in unserem CSS haben wir dieses Div bereits mit einem dezenten Muster-Hintergrundbild gestaltet.
Die Live-Demo ist nicht mehr online, aber Sie können ein .zip aller Dateien dieser Demo herunterladen.
(Denken Sie daran: Dies erfordert einen Server, der PHP und eine MySQL-Datenbank ausführt, daher müssen Sie die obigen Schritte befolgen, damit es auf Ihrem eigenen Server funktioniert. Photoshop-Datei enthalten.)
Sehr genial. Das würde auch auf den Hosts von Leuten funktionieren, die nur eine Datenbank erlaubt haben, indem man einfach die Tabelleninformationen hinzufügt, oder? Würde das auch für mehrere Umfragen funktionieren? Wenn ich das übersehen habe, entschuldige ich mich. :) Ich <3 PHP so sehr!
Hallo,
Ist das nicht übertrieben?
So etwas wie hier
“SELECT * FROM poll”… und das 5 Mal!!
Ich denke, etwas wie das ist besser
$fragen = [‘frage1,‘frage2’, ‘frage3’];
mysql_query(‘SELECT poll.field1, poll.field2… FROM poll WHERE poll.question IN (‘.implode(‘, ‘, $fragen).’);’);
:)
@Lindsey: Klar, du könntest die Tabelle zu einer bestehenden DB hinzufügen, wenn du möchtest. Ich wollte nur nicht dazu raten, mit bereits bestehenden und wichtigen Datenbanken herumzuspielen =). Ich selbst würde es sicher nicht auf meiner WordPress-Datenbank ausprobieren!
Und ja, ich denke, das würde für mehrere Umfragen funktionieren, solange die Antworten alle unterschiedlich sind. Ich habe das PHP dafür nicht gemacht, also bin ich nicht sehr vertraut damit, aber es sieht so aus, als ob die Antworten wörtlich als Zeichenkette des Antwortwerts in der Tabelle gespeichert werden, nicht als etwas Einzigartiges wie eine ID#.
Hervorragende Arbeit, ich habe solche Umfragen bereits für andere Websites gemacht.
Und ich kann sagen, dass dieser Code sehr gut ist.
Sehr professionell.
Vielleicht ist der nächste kleine Schritt, eine AJAX-Funktion aufzurufen, um sie (result.php) auf derselben Seite anzuzeigen, das ist sehr einfach...
Gute Arbeit.
Tschüss, Laurent.
Das ist ein großartiger Anfang und ich liebe das Styling (d.h. die Klarheit, wie es angezeigt wird und funktioniert). Für mich wäre der nächste Schritt, die Daten vom Quellcode zu entkoppeln. Ich würde es bevorzugen, wenn die Umfrageantworten/-fragen aus der Datenbank kommen und ein Zählfeld für Stimmen in der Datenbank geführt wird. So wie es jetzt ist, wird bei jeder Abstimmung ein neuer Eintrag in die Datenbank aufgenommen, sodass Sie bei 10.000 Stimmen 10.000 Einträge oder Zeilen in der Datenbanktabelle haben könnten.
Andererseits ist dies einfach, was gut ist. Danke, dass Sie das zur Verfügung gestellt haben.
@Laurent: Gute Idee, die Ergebnisseite per AJAX zu laden. Ich denke, ich werde daran arbeiten und etwas posten, wenn ich es fertig habe.
@Donna: Du hast Recht, es wäre wahrscheinlich am besten, für eine einfache Umfrage wie diese die Gesamtzahl in der DB zu speichern und zu erhöhen, anstatt jeden einzelnen Eintrag. Auf diese Weise könnten Sie jedoch etwas wie "Name" oder "E-Mail" hinzufügen und so könnte die Umfrage auch Informationen für Sie sammeln. Dann müssten Sie jeden Eintrag separat speichern...
Guter Punkt, Chris. Du hast Recht, dass es nützlich sein könnte, weitere Informationen in der Umfrage zu sammeln.
Vielen Dank nochmals für Ihre Arbeit an dieser großartigen Seite. Dies ist meine Lieblingsseite, die ich jeden Tag besuche - ich lerne immer etwas Neues und Nützliches!
Wow, toller Beitrag, Chris! Sie haben die Datenbank und das PHP großartig erklärt, es war sehr einfach. Danke!
Das ist ein sehr schönes Tutorial, da es viele Bereiche abdeckt. Ich habe jedoch eine Frage: Was ist, wenn Sie es "editierbar" machen möchten? D.h. Sie möchten den Leuten erlauben, ihre eigenen Umfragen zu erstellen. Gibt es ein editPoll-Skript/eine PHP-Seite als Ergänzung dazu? Der Grund, warum ich frage, ist, dass Umfragen nett sind, aber sie sind am besten, wenn andere einfach klicken und Variablen eingeben und an alle senden können.
Ich bin wirklich super neu in dieser ganzen Welt von PHP/Coding und so weiter (etwas, das ich tue, während ich mit Krebs kämpfe), also entschuldige ich mich, wenn meine Fragen dumm sind. Ich versuche nur, die Dinge herauszufinden, damit ich meiner Freundin etwas hinterlassen kann, falls meine Gesundheit schnell sehr schlecht wird.
Danke für jede Hilfe oder Anleitung – und nochmals, ich mag Ihr Tutorial – es ist sehr schick und ich glaube, ich habe viel gelernt :)
-Chez
Hallo nochmal
Nun äh.... Beim Scrollen stelle ich jetzt fest, dass ich einen von Donnas sehr aufschlussreichen Kommentaren verpasst habe. Ich stimme ihr zu, wenn sie sagt: „*Ich würde es bevorzugen, wenn die Umfrageantworten/-fragen aus der Datenbank kommen und ein Zählfeld für Stimmen in der Datenbank geführt wird. So wie es jetzt ist, wird bei jeder Abstimmung ein neuer Eintrag in die Datenbank aufgenommen, sodass Sie bei 10.000 Stimmen 10.000 Einträge oder Zeilen in der Datenbanktabelle haben könnten.*“
Obwohl für Leute wie mich, wenn ich 20 Stimmen bekommen würde, wäre ich glücklich und ich denke, so funktionieren die meisten Umfragen, wenn sie eingesetzt werden – Yahoo Groups bietet Umfragen an und so tun es auch viele andere Boards und ähnliches und ich denke, wenn sie berücksichtigt werden, ihre albernen Umfragen (die so albern sind wie meine, also spreche ich nicht schlecht über sie, wenn ich das sage). Mir gefällt die Idee, dass die Datenbank alles enthält und die Daten verwaltet – mir gefällt auch die Idee, dass sie Informationen für Sie sammelt, wie IPs, damit jemand nur einmal abstimmen kann, damit die Informationen nicht verzerrt werden. Auch das Sammeln von E-Mails und anderen Dingen ist ziemlich cool.
Gibt es Gedanken, Hinweise oder Vorschläge?
Ist das auch wie ein täglicher Blog, auf den ich gestoßen bin, ohne es zu merken?
Danke für das großartige Umfragebeispiel!
Umarmungen
-Chez
Erstens, ich weiß nicht, ob dieser Code fertig ist, da ich keine Kompetenz mit PHP habe.
Zweitens, ich werde ihn für meine eigene Website testen, um mehr Informationen zu einem speziellen Thema zu erhalten.
Vielen Dank für Ihre Arbeit.
Ralph
Danke, das hat mir sehr geholfen, jetzt sieht meine Umfrage besser aus.
Tolles Tutorial… Was ist mit einer Verbesserung, die zeigt, wie man verhindert, dass Wähler mehr als einmal abstimmen? Danke nochmal!
Sehr nettes Tutorial. Ich hoffe, nächste Woche etwas online zu haben. TY Chris für diesen Beitrag, damit Leute wie ich es verstehen können.
Gibt es eine Möglichkeit, Leute davon abzuhalten, mehr als einmal bei diesen Umfragen abzustimmen?
“CREATE TABLE
poll(idint( 3 ) NOT NULL AUTO_INCREMENT ,questionvarchar( 200 ) default NULL ,PRIMARY KEY (
id)) TYPE : MYISAM AUTO_INCREMENT :43;
MySQL sagt: Dokumentation
#1064 – Sie haben einen Fehler in Ihrer SQL-Syntax; überprüfen Sie das Handbuch, das Ihrer MySQL-Serverversion entspricht, um die richtige Syntax für die Verwendung von NEAR 'TYPE:MyISAM AUTO_INCREMENT:43' in Zeile 5 zu finden."
Bitte helfen Sie mir, dieses Problem zu korrigieren…..
Ein Leser sagte mir kürzlich, ich solle die letzte Zeile aktualisieren zu
Hallo, schöne Umfrage hier :D
aber ich möchte etwas wie das erstellen
„Benutzer sollte sich anmelden (sollte mit Session sein), dann die Umfrage für Kandidaten auswählen, dann ausloggen und ein anderer Benutzer sich wieder anmelden usw.“
Benutzer -> einloggen -> abstimmen -> ausloggen -> und so weiter.
Können Sie mir mit einem Tutorial helfen? :)