tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
219
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    headhunter007 headhunter007 ist offline Grünschnabel
    Registriert seit
    Oct 2005
    Beiträge
    2
    Hallo, ich habe folgendes funktionierendes php-Umfragescript (Datenbank), welches 4 Fragen bereitstellt und nach Eingabe eine grafische Auswertung der bisherigen Ergebnisse darstellt.

    Nun möchte ich noch am Ende der Umfrage einen Gewinn unter all den Teilnehmern auslosen. Hierzu müsste ich dieses Script (+Datenbank) jedoch auch um folgende Eingabefelder ergänzen:
    Anrede, Name, Vorname, Strasse, Nr, PLZ, Ort

    Wie und wo genau binde ich diese in das Script sowie in die Datenbank ein?

    Bitte um Eure Hilfe
    Headhunter007

    umfrage.php
    PHP-Code:
    <?php
    include_once('inc.php'); // include der Datenbank
    ?>
    <?php
    // Mitgeben an dieses Script:
    // Frage für DB, max. 15 Zeichen -> $frage
    // Die eigentliche Frage -> $fragestellung
    // Erklärung zur Frage -> $fragezusatz
    // Ausgangsbasis der Anzeigen
    $anzeigen_umfrage 'ja';
    $anzeigen_fehler 'nein';
    $anzeigen_fehler_ip 'nein';
    $anzeigen_antwort 'nein';
    $anzeigen_ergebnis 'nein';

    // Antwort senden
    if(isset($_POST['submit_umfrage'])) {
    $antwort_f strip_tags($_POST['antwort']);

    switch (
    $antwort_f) {
    case 
    '3':
    $antwort_z 'Jede Hautzone benötigt eine spezielle Reinigung und Pflege';
    $antwort '3';
    break;
    case 
    '2':
    $antwort_z 'Es ist egal, ein Wasch- und Pflegemittel reicht für den ganzen Körper aus';
    $antwort '2';
    break;
    case 
    '1':
    $antwort_z 'Auch der Intimbereich braucht eine besondere Reinigung und Pflege';
    $antwort '1';
    break;
    case 
    '0':
    $antwort_z 'Waschen mit Wasser in der Intimzone ist genug';
    $antwort '0';
    break;
    default:
    $antwort_z '';
    $antwort '';
    break;
    }
    $ip_umfrage substr(strip_tags($_POST['ip_umfrage']), 015);
    $frage substr(strip_tags($_POST['frage']), 015);
    $unix_time time();

    if ( 
    $antwort == '' ) {
    $anzeigen_fehler 'ja';
    }
    else {
    $unix_time_min $unix_time // 7200Anzahl Sekunden für neue Abstimmung -> 2 Std.
    $query_umfrage "SELECT * FROM umfrage
    WHERE frage = '"
    .$frage."'
    AND ip_umfrage = '"
    .$ip_umfrage."'
    AND unix_time > '"
    .$unix_time_min."'
    "
    ;
    $result_umfrage mysql_query($query_umfrage);
    $num_umfrage mysql_num_rows($result_umfrage);

    if ( 
    $num_umfrage == ) {
    $anzeigen_umfrage 'nein';
    $anzeigen_antwort 'ja';
    $anzeigen_ergebnis 'ja';
    // eintragen in DB
    $query_umfrage_e "INSERT INTO umfrage (frage, antwort, ip_umfrage, unix_time)
    VALUES('
    $frage','$antwort','$ip_umfrage','$unix_ti me')";
    mysql_query($query_umfrage_e$conn);
    }
    else {
    $anzeigen_fehler_ip 'ja';
    $anzeigen_umfrage 'nein';
    $anzeigen_ergebnis 'ja';
    }
    }
    }
    ?>

    <div id="poll"><center>
    <h6><font face="Verdana, Arial, Helvetica, sans-serif" size="2"><b>Aktuelle Umfrage: Körperpflege</b></font></h6></center>

    <?php
    echo '
    <p class="tooltipp" onmouseover="return overlib(''.$fragezusatz.'', CELLPAD, 5, 5, TEXTSIZE, '
    10pt' );"
    onmouseout="return nd();">'
    .$fragestellung.'</p>
    '
    ;

    if ( 
    $anzeigen_fehler == 'ja' ) {
    echo 
    '<center><font color="#FF0000"><p class="center rot"><strong>>>Keine Auswahl!<<</strong></p></center>';
    }
    if ( 
    $anzeigen_fehler_ip == 'ja' ) {
    echo 
    '<center><font color="#FF0000"><p class="center rot"><strong>>>Tut uns leid, Sie haben bereits Abgestimmt!<<</strong></p></font></center>';
    }
    if ( 
    $anzeigen_umfrage == 'ja' ) {
    echo 
    '
    <form method="post" action="'
    .htmlspecialchars($_SERVER['PHP_SELF']).'" name="umfrage" id="umfrage" >
    <fieldset>Ich bin der Meinung dass:
    <p><input type="radio" name="antwort" value="3" /> jede Hautzone eine spezielle Reinigung und Pflege<br>      ben& ouml;tigt</p>
    <p><input type="radio" name="antwort" value="2" /> es egal ist, ein Wasch- und Pflegemittel reicht für den<br>
          ganzen Körper aus</p>
    <p><input type="radio" name="antwort" value="1" /> auch der Intimbereich eine besondere Reinigung und<br>
          Pflege braucht</p>
    <p><input type="radio" name="antwort" value="0" /> Waschen mit Wasser in der Intimzone genug ist</p>
    <p class="center"><input type="submit" class="kl" name="submit_umfrage" value="senden" /></p>
    </fieldset>
    <input type="hidden" name="ip_umfrage" value="'
    .$_SERVER['REMOTE_ADDR'].'" />
    <input type="hidden" name="frage" value="'
    .$frage.'" />
    </form>
    '
    ;
    }
    if ( 
    $anzeigen_antwort == 'ja' ) {
    echo 
    '
    <font color="#FF0000"><p class="center"><strong><u>Ihre Antwort:</u><br /><span class="rot">'
    .$antwort_z.'</span></strong></p></font>
    '
    ;
    }
    if ( 
    $anzeigen_ergebnis == 'ja' ) {
    echo 
    '
    <p class="left"><font size="2"><strong>Hier das bisherige Ergebnis:</strong></font></p>
    '
    ;
    $query_erg_3 "SELECT COUNT(antwort) AS ant_3 FROM umfrage WHERE frage = '".$frage."'
    AND antwort = '3' "
    ;
    $result_erg_3 mysql_query($query_erg_3);
    $ant_3 mysql_result($result_erg_3,0,'ant_3');
    if (
    $ant_3 == '' ) { $ant_3 ; }

    $query_erg_2 "SELECT COUNT(antwort) AS ant_2 FROM umfrage WHERE frage = '".$frage."'
    AND antwort = '2' "
    ;
    $result_erg_2 mysql_query($query_erg_2);
    $ant_2 mysql_result($result_erg_2,0,'ant_2');
    if (
    $ant_2 == '' ) { $ant_2 ; }

    $query_erg_1 "SELECT COUNT(antwort) AS ant_1 FROM umfrage WHERE frage = '".$frage."'
    AND antwort = '1' "
    ;
    $result_erg_1 mysql_query($query_erg_1);
    $ant_1 mysql_result($result_erg_1,0,'ant_1');
    if (
    $ant_1 == '' ) { $ant_1 ; }

    $query_erg_0 "SELECT COUNT(antwort) AS ant_0 FROM umfrage WHERE frage = '".$frage."'
    AND antwort = '0' "
    ;
    $result_erg_0 mysql_query($query_erg_0);
    $ant_0 mysql_result($result_erg_0,0,'ant_0');
    if (
    $ant_0 == '' ) { $ant_0 ; }

    $ant_tot $ant_3 $ant_2 $ant_1 $ant_0;
    $ant_mit = ($ant_3 $ant_2 $ant_1) / $ant_tot // Mittelwert
    $ant_ste $ant_mit // Anzahl Sterne
    $stern_breite round($ant_ste 15); // Anzahl Sterne mal deren Breite

    $proz_3 round(100 $ant_tot $ant_30);
    $proz_2 round(100 $ant_tot $ant_20);
    $proz_1 round(100 $ant_tot $ant_10);
    $proz_0 round(100 $ant_tot $ant_00);

    echo 
    '
    <hr>
    <strong><font face="verdana, Arial" size="1">Jede Hautzone benötigt eine spezielle Reinigung und Pflege</font></strong><br>
    <img src="gruen.gif" width="'
    .$proz_3.'" height="12" alt="Anteil: ... bei denen jede Hautzone eine spezielle Reinigung und Pflege benötigt" title="Anteil: ... bei denen jede Hautzone eine spezielle Reinigung und Pflege benötigt" /> <span class="proz">'.$proz_3.'%</span><br><hr>


    <strong><font face="verdana, Arial" size="1">Ist egal, ein Wasch- und Pflegemittel reicht für den ganzen Körper aus</font></strong><br>
    <img src="gruen.gif" width="'
    .$proz_2.'" height="12" alt="Anteil: ... bei denen es egal ist, ein Wasch- und Pflegemittel reicht für den ganzen Körper aus" title="Anteil: ... bei denen es egal ist, ein Wasch- und Pflegemittel reicht für den ganzen Körper aus" /> <span class="proz">'.$proz_2.'%</span><br><hr>


    <strong><font face="verdana, Arial" size="1">Auch der Intimbereich braucht eine besondere Reinigung und Pflege</font></strong><br>
    <img src="gruen.gif" width="'
    .$proz_1.'" height="12" alt="Anteil: ... bei denen auch der Intimbereich eine besondere Reinigung und Pflege braucht" title="Anteil: ... bei denen auch der Intimbereich eine besondere Reinigung und Pflege braucht" /> <span class="proz">'.$proz_1.'%</span><br><hr>


    <strong><font face="verdana, Arial" size="1">Waschen mit Wasser in der Intimzone ist genug</font></strong><br>
    <img src="gruen.gif" width="'
    .$proz_0.'" height="12" alt="Anteil: ... bei denen Waschen mit Wasser in der Intimzone genug ist" title="Anteil: ... bei denen Waschen mit Wasser in der Intimzone genug ist" /> <span class="proz">'.$proz_0.'%</span><br><hr>

    <p><center>Insgesamt haben bereits '
    .$ant_tot.' Teilnehmer teilgenommen</center></p>
    '
    ;
    }
    ?>
    </div>
    MySQL
    CREATE TABLE `umfrage` (
    `id_umfrage` int(11) NOT NULL AUTO_INCREMENT,
    `frage` varchar(15) NOT NULL DEFAULT '',
    `antwort` char(1) NOT NULL DEFAULT '',
    `ip_umfrage` varchar(15) NOT NULL DEFAULT '',
    `unix_time` int(11) NOT NULL DEFAULT '0',
    PRIMARY KEY (`id_umfrage`),
    KEY `frage` (`frage`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
    Geändert von headhunter007 (06.09.07 um 14:11 Uhr) Grund: Änderung
     

  2. #2
    Registriert seit
    Aug 2007
    Beiträge
    137
    Das ist das Umfrageformular
    HTML-Code:
    <form method="post" action="'.htmlspecialchars($_SERVER['PHP_SELF']).'" name="umfrage" id="umfrage" >
    <fieldset>Ich bin der Meinung dass:
    <p><input type="radio" name="antwort" value="3" /> jede Hautzone eine spezielle Reinigung und Pflege<br> ben& ouml;tigt</p>
    <p><input type="radio" name="antwort" value="2" /> es egal ist, ein Wasch- und Pflegemittel reicht für den<br>
    ganzen Körper aus</p>
    <p><input type="radio" name="antwort" value="1" /> auch der Intimbereich eine besondere Reinigung und<br>
    Pflege braucht</p>
    <p><input type="radio" name="antwort" value="0" /> Waschen mit Wasser in der Intimzone genug ist</p>
    <p class="center"><input type="submit" class="kl" name="submit_umfrage" value="senden" /></p>
    </fieldset>
    <input type="hidden" name="ip_umfrage" value="'.$_SERVER['REMOTE_ADDR'].'" />
    <input type="hidden" name="frage" value="'.$frage.'" />
    </form>
    Unter dieser Zeile
    HTML-Code:
    <p><input type="radio" name="antwort" value="0" /> Waschen mit Wasser in der Intimzone genug ist</p>
    fügst du folgendes ein:
    HTML-Code:
    <p>Anrede <input type="text" name="anrede" /></p>
    Diesen Schritt wiederholst du nun für name, vorname, strasse, nr, plz, ort und ersetzt einfach "anrede" mit den anderes Begriffen. Achte darauf, dass du diese alle genau so schreibst (klein und ohne zusätzliche zeichen oder so).


    Nun suchst du nach folgendem in dem Code:
    PHP-Code:
    $query_umfrage_e "INSERT INTO umfrage (frage, antwort, ip_umfrage, unix_time)
    VALUES('
    $frage','$antwort','$ip_umfrage','$unix_time')"
    und fügst nach
    PHP-Code:
    '$unix_time' 
    folgendes ein:

    PHP-Code:
    ,'$anrede','$name','$vorname','$strasse','$nr','$plz','$ort' 
    Dann probierst du es mal...

    ..kann gut sein, dass Fehler drin sind, hoffe nicht, sonst schreibst du nochmal...




    Anstatt ein Zitat zu machen kannst du übrigens spezielle Tags verwenden:
    [ CODE ]*Inhalt*[ /CODE ] => allgemein für Code
    [ HTML ]*Inhalt*[ /HTML ] => für HTML Code
    [ PHP ]*Inhalt*[ /PHP ] => für PHP Code
     

  3. #3
    Avatar von boykottke
    boykottke boykottke ist offline Mitglied Silber
    Registriert seit
    Sep 2007
    Ort
    Leipzig
    Beiträge
    75
    Ich glaube, bei deiner Korrektur fehlt tatsächlich noch etwas.

    Um genau zu sein: Ich vermisse noch die übergabe der $_POST-Variablen an die von die für die MySQL-Zeile verwendeten Variablen.

    Dabei ist natürlich noch das Löschen von jedem Code aus den entsprechenden Feldern zu beachten. In etwa so:

    PHP-Code:
    $anredestrip_tags(addslashes($_POST["anrede"])); 
    Anschließend darf beim Wiederaufruf der Inhalte aus der Datenbank in diesem Falle natürlich das stripslashes() nicht vergessen werden.

    Dann sollte das Script allerdings klappen.
     

  4. #4
    Registriert seit
    Aug 2007
    Beiträge
    137
    Danke für deine Ergänzungen
     

Ähnliche Themen

  1. UVW Mapping auf kurviger Strasse
    Von mike_kk im Forum Cinema 4D
    Antworten: 5
    Letzter Beitrag: 25.02.10, 17:42
  2. Unsere Strasse
    Von swantjer im Forum Fotografie
    Antworten: 0
    Letzter Beitrag: 18.07.05, 10:35
  3. Strasse in Landschaftsfoto einfügen ?
    Von blass im Forum Photoshop
    Antworten: 9
    Letzter Beitrag: 06.01.04, 22:53
  4. Strasse an Gelände anpassen
    Von mitiaz im Forum 3D Studio Max
    Antworten: 13
    Letzter Beitrag: 12.06.02, 15:05
  5. Strasse mit Häuser
    Von Aperia Sansul im Forum Cinema 4D
    Antworten: 1
    Letzter Beitrag: 17.05.02, 09:22