Scoutnet vzw

We connect scouts!
Het is momenteel 27 Apr 2024 18:38

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 5 berichten ] 
Auteur Bericht
BerichtGeplaatst: 30 Dec 2006 23:34 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
We willen met de scouts een wedstrijd opzetten, mensen krijgen een papiertje met een code op, een tiental codes zou winst moeten opleveren, momenteel lukt het met met volgende code om 10 mensen die code 123 invoeren te laten weten dat ze gewonnen zijn. Dit is echter de bedoeling niet, ik zou enkel codes uit een tabel codes willen vergelijken met de ingegeven code, het lukt me echter niet om gebruik te maken van een php array waarin ik de verschillende codes uit die tabel steek mbv een lus, zou iemand ons hiermee verder kunnen helpen?

Alvast bedankt

Jan

$codeFrm is de code die ingegeven wordt mbv een formulier

Code:
$aantal = mysql_query("SELECT * FROM codes");
$aantal = mysql_num_rows($aantal);

if ($aantal > '0'){

   $codeDb ='123';

   $query = "SELECT codeId FROM codes WHERE Code = '$codeFrm'";
   $codeId = mysql_query($query);
   while ($row = mysql_fetch_array($codeId)) { $codeIdDb = $row['codeId']; }

   if ($codeFrm == $codeDb){
      $message = " <br> Proficiat! U hebt gewonnen";
      $query = "DELETE FROM codes WHERE codeId = '$codeIdDb'";
      mysql_query($query);
   }
   } else {
   $message = " <br> Jammer, volgende keer beter.";
   }
   echo $message;
   echo "<br><a>Keer terug</a>";
}

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 31 Dec 2006 0:58 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
Wil je dan zoiets zoals het Start!-spel op Start 100 jaar scouting? Die werkte zo:
  1. Met behulp van een scriptje werden 400 verschillende randomcode's aangemaakt en in een tabel gestoken. Daarna werden ze op een papiertje afgedrukt.
  2. Deze papiertjes werden uitgedeeld op de Start!-markt.
  3. Nadien kon je op http://www.spinternet.be/win/ kijken of je gewonnen had. Het scriptje keek na of hij jouw code in de tabel kon vinden én of de "winstatus" 0 (= niet gewonnen), 1 (= T-shirt gewonnen) of 2 (= hosting gewonnen) was. Als je won, kreeg je meteen een formuliertje om je gegevens in te vullen waarna het Scoutnet Team per mail verwittigd werd dat een winnaar bekend was.
Laat iets weten als je die code graag eens ziet.

To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 31 Dec 2006 10:28 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
Zoiets zou het inderdaad moeten worden! Alleen krijgen de mensen geen hosting aangeboden :) maar daar vinden we wel nog iets op.. Je zou ons alvast enorm vooruit helpen.

Jan

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 31 Dec 2006 12:34 
Offline
Site Admin
Site Admin
Gebruikers-avatar

Geregistreerd: 17 Jul 2002 23:00
Berichten: 1522
Woonplaats: Wetteren
Ok, ziehier het stappenplan:

Tabel aanmaken

De bijhorende tabel ziet er ongeveer zo uit (waardes anders natuurlijk, maar eigenlijk moet je hier alleen de tabelstructuur kopiëren, niet de waardes... merk op dat je dan AUTO_INCREMENT=1 moet gebruiken in plaats van AUTO_INCREMENT=8):
Code:
CREATE TABLE `win` (
  `win_id` int(11) NOT NULL auto_increment,
  `code` varchar(8) NOT NULL default '',
  `checked` int(11) NOT NULL default '0',
  `datum` datetime NOT NULL default '0000-00-00 00:00:00',
  `winstatus` tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (`win_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

INSERT INTO `win` (`win_id`, `code`, `checked`, `datum`, `winstatus`) VALUES
(1, '3GX6622K', 2, '2006-09-03 14:53:25', 0),
(2, 'K16GKTG7', 1, '2006-09-01 12:43:43', 0),
(3, 'XQUH4HCQ', 1, '2006-08-27 18:43:42', 0),
(4, 'PA2DMAJK', 0, '0000-00-00 00:00:00', 0),
(5, '3S5HRBKD', 0, '0000-00-00 00:00:00', 0),
(6, 'ZG7EF44Y', 1, '2006-08-30 21:38:03', 1),
(7, 'EHFMTG1B', 1, '2006-08-27 19:10:04', 2);


De codes aanmaken

De code om 400 random-codes te maken en op te slaan in de tabel:
Code:
<?php

      // +++++++++++++++++++++++++++++ RANDOM CODE AANMAKEN +++++++++++++++++++++++++++++ //
     
      function random_char($string) {
        $length = strlen($string);
        $position = mt_rand(0, $length - 1);
        return($string[$position]);
      }
     
      function random_string ($charset_string, $length) {
        $return_string = random_char($charset_string);
        for ($x = 1; $x < $length; $x++)
          $return_string .= random_char($charset_string);
        return($return_string);
      }
     
      mt_srand((double)microtime() * 1000000);
      $charset = "ABCDEFGHJKMNPQRSTXYZ123456789";

echo ("    <ul>");

include("../bestanden/connect.php");

$tabel = "win";

for ($i=1;$i<=400;$i++) {
  $bestaat_al = true;
 
  while ($bestaat_al) {
    $code = random_string($charset, 8);
   
    $select = "SELECT code FROM $tabel WHERE code='$code'";
    $zoek = mysql_query($select)or die(mysql_error());
    $aantal_gevonden = mysql_num_rows($zoek);
    if ($aantal_gevonden == 0) {
      $bestaat_al = false;
    }
  }

  echo ("\n      <li>Jouw persoonlijke code: <strong>$code</strong></li>");
 
  $insert = "INSERT INTO $tabel (code) VALUES ('$code')" or die("Ongeldige query - 3");
  $query = mysql_query($insert);

}
echo ("\n    </ul>");
echo ("\n");

?>


De codes afdrukken

Om alles netjes op A4-papieren af te drukken, gebruikten we:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="nl" lang="nl">

<head>
 
  <title>Spinternet vzw &bull; Start!-spel</title>
 
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- -                         BELANGRIJK                        - -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
  <!-- -    Niets van deze code mag gebruikt of gereproduceerd     - -->
  <!-- -  worden zonder voorafgaande schriftelijke toelating van   - -->
  <!-- -        Scoutnet vzw. Voor info over deze website,         - -->
  <!-- -             contacteer ons: web@scoutnet.be.              - -->
  <!-- -          Lees de disclaimer voor meer informatie.         - -->
  <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <meta name="keywords" content="Scoutnet, Scoutsnet, scouting, guiding, scouts, gidsen, hosting" />
  <meta name="description" content="Scoutnet - We connect scouts!" />
  <meta name="author" content="web@scoutnet.be" />
 
  <link rel="shortcut icon" href="http://www.scoutnet.be/favicon.ico" />

<style>
body {
   background-color: #FFFFFF;
   font-family: Trebuchet MS, Verdana, Geneva, Arial, Helvetica, sans-serif;
   font-size: 12pt;
   text-align: justify;
   color: #000000;
   margin: 0px 0px 0px 0px;
   padding: 0px 0px 0px 0px;
   line-height: 170%;
   font-weight: bold;
}
</style>
 
</head>

<body>
   
<?php

include("../bestanden/connect.php");

$tabel = "win";

$select = "SELECT code FROM $tabel";
$zoek = mysql_query($select)or die(mysql_error());

$teller = 0;
$teller2 = 0;

echo ("  <table border=0>");
echo ("    </tr>");
echo ("    <td colspan=\"4\" height=\"115\"></td>");
echo ("    <tr>");
echo ("    <tr>");

while($lijst = mysql_fetch_object($zoek)){
  if ($teller == 4) {
    echo ("    </tr>");
    if ($teller2 == 20) {
      echo ("    <td colspan=\"4\" height=\"115\"></td>");
      $teller2 = 0;
    } else {
      echo ("    <td colspan=\"4\" height=\"117\"></td>");
    }
    echo ("    <tr>");
    $teller = 0;
  }
  echo ("\n      <td width=\"270\" align=\"center\">$lijst->code</td>");
  $teller++;
  $teller2++;
}

echo ("    </tr>");
echo ("  </table>");

?>
   
</body>

</html>


Het script om te kijken of je gewonnen hebt
Dat zag er zo uit:

Code:
<?php

$pagina_id = "17";
include("../bestanden/header.php");

?>
   
<?php

if (isset($_POST['code'])) {

  $code = addslashes($_POST['code']);
  $tabel = "win";

  include("../bestanden/connect.php");
 
  $select = "SELECT code FROM $tabel WHERE code='$code' LIMIT 1";
  $zoek = mysql_query($select)or die(mysql_error());
  $aantal_gevonden = mysql_num_rows($zoek);
 
  if ($aantal_gevonden == 1) {
    $select = "SELECT winstatus,checked FROM $tabel WHERE code='$code' LIMIT 1";
    $zoek = mysql_query($select)or die(mysql_error());
    while($lijst = mysql_fetch_object($zoek)){
      $winstatus = $lijst->winstatus;
      $checked = $lijst->checked;
    }
   
    if ($winstatus <> 0) {
      $wat = "";
      if ($winstatus == 1) {
        $wat = "Scoutnet-T-shirt";
      } elseif ($winstatus == 2) {
        $wat = "<a href=\"../hosting/pro/\">Pro-hostingpakket</a> ter waarde van 50 euro";
      }

      $datum = date("Y\-m\-d H\:i\:s");
      $checked++;
     
      $update = "UPDATE $tabel SET datum='$datum' WHERE code='$code'";
      $querie = mysql_query($update)or die(mysql_error());
      $update = "UPDATE $tabel SET checked='$checked' WHERE code='$code'";
      $querie = mysql_query($update)or die(mysql_error());
     
?>
    <h2>Gewonnen!</h2>
   
    <p>Proficiat, jij bent een van de twee winnaars van ons spel en hebt een <strong><?php echo ("$wat"); ?></strong> gewonnen! Vul hieronder je gegevens in. We contacteren je dan zo snel mogelijk om verder af te spreken.</p>
   
    <form action="./" method="post">
      <table class="formulier">
        <tr>
          <td class="rechts">Je voornaam:</td>
          <td class="links"><label title="Je voornaam" for="voornaam"><input type="text" name="voornaam" id="voornaam" size="30" class="input" value="" /></label></td>
        </tr>
        <tr>
          <td class="rechts">Je achternaam:</td>
          <td class="links"><label title="Je achternaam" for="achternaam"><input type="text" name="achternaam" id="achternaam" size="30" class="input" value="" /></label></td>
        </tr>
        <tr>
          <td class="rechts">Je e-mailadres:</td>
          <td class="links"><label title="Je e-mailadres" for="email"><input type="text" name="email" id="email" size="30" class="input" value="" /></label></td>
        </tr>
        <tr>
          <td class="rechts">Herhaal jouw persoonlijke code:</td>
          <td class="links"><label title="Jouw persoonlijke code" for="codecheck"><input type="text" name="codecheck" id="codecheck" size="10" maxlength="8" class="input" value="" /></label></td>
        </tr>
        <tr>
          <td class="midden" colspan="2"><label title="Verzend mijn gegevens" for="verzenden"><input type="submit" name="verzenden" id="verzenden" value="Verzend mijn gegevens" class="button" /></label></td>
        </tr>
      </table>
    </form>
   
    <p></p>
   
<?php
    } else {
      $datum = date("Y\-m\-d H\:i\:s");
      $checked++;
     
      $update = "UPDATE $tabel SET datum='$datum' WHERE code='$code'";
      $querie = mysql_query($update)or die(mysql_error());
      $update = "UPDATE $tabel SET checked='$checked' WHERE code='$code'";
      $querie = mysql_query($update)or die(mysql_error());
?>
    <h2>Jammer, niks gewonnen...</h2>
   
    <p>... maar gelukkig ook niks verloren. Misschien kan je even een kijkje nemen op de pagina's met onze <a href="../hosting/">Hosting-diensten</a>? Een basic-account is voor alle verenigingen gratis en voor een paar euro's krijg je van ons een pakket met alles erop en eraan.</p>
   
    <p>Tot op Herfstontmoeting/Saamdagen 2007 of ergens onderweg!</p>
   
    <p>Het Spinternet Team</p>
   
<?php
    }
 
  } else {
?>
    <h2>Foutje</h2>
   
    <p>De code die je hebt ingevoerd (<strong><?php echo ("$code"); ?></strong>), is ongeldig. Kijk na of je toevallig geen typfout maakte, en <a href="./">ga terug</a> om opnieuw te proberen.</p>
   
<?php
  }

} elseif (isset($_POST['codecheck'])) {
 
  $code = addslashes($_POST['codecheck']);
 
  if (isset($_POST['voornaam'])) {
    $voornaam = $_POST['voornaam'];
  } else {
    $voornaam = "";
  }
  if (isset($_POST['achternaam'])) {
    $achternaam = $_POST['achternaam'];
  } else {
    $achternaam = "";
  }
  if (isset($_POST['email'])) {
    $email = $_POST['email'];
  } else {
    $email = "";
  }
 
  $email2 = ereg_replace("@","",$email);
  $email3 = ereg_replace("\.","",$email);
 
  if (($voornaam == "") || ($achternaam == "") || ($email == "")  || ($code == "") || ($email == $email2) || ($email == $email3)) {
?>
    <h2>Foutje</h2>
   
    <p>Je heb niet alle velden (correct) ingevuld. <a href="./">Ga terug</a> om opnieuw te proberen.</p>
   
<?php   
  } else {
    $tabel = "win";
   
    include("../bestanden/connect.php");
   
    $select = "SELECT winstatus,checked FROM $tabel WHERE code='$code' LIMIT 1";
    $zoek = mysql_query($select)or die(mysql_error());
    while($lijst = mysql_fetch_object($zoek)){
      $winstatus = $lijst->winstatus;
      $checked = $lijst->checked;
    }
    $wat = "";
    if ($winstatus == 1) {
      $wat = "een Scoutnet-T-shirt";
    } elseif ($winstatus == 2) {
      $wat = "een Pro-hostingpakket";
    }
 
    $afzender = "Spinternet";
    $email_afzender = "web@spinternet.be";
    $ontvanger = "Info Spinternet";
    $email_ontvanger = "info@spinternet.be";
   
    $onderwerp = "Winnaar Start-wedstrijd bekend";
   
    $mail_plaintext = "Hallo,";
    $mail_plaintext .= "\n";
    $mail_plaintext .= "\nVia de Spinternet-site heeft een winnaar van de Start-wedstrijd zich bekend gemaakt. Hieronder vind je de gegevens.";
    $mail_plaintext .= "\n";
    $mail_plaintext .= "\n-----------";
    $mail_plaintext .= "\n:: Naam: $voornaam $achternaam";
    $mail_plaintext .= "\n:: E-mailadres: $email";
    $mail_plaintext .= "\n:: Winnende code: $code";
    $mail_plaintext .= "\n:: Hij/zij wint: $wat";
    $mail_plaintext .= "\n-----------";
    $mail_plaintext .= "\n";
    $mail_plaintext .= "\nJoris, kan jij met deze persoon contact opnemen om verder af te spreken? Merci!";
   
    $mail_html = "    Hallo,";
    $mail_html .= "\n    <br />";
    $mail_html .= "\n    <br />Via de <a class=\"spinternet\" href=\"http://www.spinternet.be\">Spinternet-site</a> heeft een winnaar van de Start-wedstrijd zich bekend gemaakt. Hieronder vind je de gegevens.";
    $mail_html .= "\n  </div>";
    $mail_html .= "\n  ";
    $mail_html .= "\n  <div class=\"tekst\">";
    $mail_html .= "\n    :: <strong>Naam</strong>: $voornaam $achternaam";
    $mail_html .= "\n    <br />:: <strong>E-mailadres</strong>: <a class=\"spinternet\" href=\"mailto:$email\">$email</a>";
    $mail_html .= "\n    <br />:: <strong>Winnende code</strong>: $code";
    $mail_html .= "\n    <br />:: <strong>Hij/zij wint</strong>: $wat";
    $mail_html .= "\n  </div>";
    $mail_html .= "\n  ";
    $mail_html .= "\n  <div class=\"tekst\">";
    $mail_html .= "\n    Joris, kan jij met deze persoon contact opnemen om verder af te spreken? Merci!";
   
    $type = "1NL";
   
    include ("../bestanden/email.php");
   
?>
    <h2>Bedankt</h2>
   
    <p>We hebben je gegevens goed ontvangen en nemen zo snel mogelijk met je contact op. Tot binnenkort!</p>
   
    <p>Het Spinternet Team</p>
   
<?php
  }
} else {

?>
   
    <p>Heb ook jij een code gekregen op <a class="extern" href="http://www.scouting2007.be" title="Bezoek de website van Scouting 2007">Start 100 jaar Scouting</a>? Kijk dan gauw of je gewonnen hebt. Vul hieronder de code in en klik op &quot;Heb ik gewonnen?&quot;. Misschien behoor jij wel tot de gelukkige deelnemers die van ons een Scoutnet-T-shirt of zelfs <a href="../hosting/pro/">Pro-hostingpakket</a> ter waarde van 50 euro cadeau krijgt!</p>
   
    <form action="./" method="post">
      <table class="formulier">
        <tr>
          <td class="rechts">Jouw persoonlijke code:</td>
          <td class="links"><label title="Jouw persoonlijke code" for="code"><input type="text" name="code" id="code" size="10" maxlength="8" class="input" value="" /></label></td>
        </tr>
        <tr>
          <td class="midden" colspan="2"><label title="Heb ik gewonnen?" for="verzenden"><input type="submit" name="verzenden" id="verzenden" value="Heb ik gewonnen?" class="button" /></label></td>
        </tr>
      </table>
    </form>
   
    <p></p>
   
<?php

}

include("../bestanden/footer.php");

?>


Veel plezier ermee!

To


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 02 Jan 2007 15:37 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 15 Mei 2006 9:46
Berichten: 64
Woonplaats: Humbeek
Bedankt, het werkt perfect!
http://www.scoutsnieuwenrode.be/Vedettweekend/Wedstrijd

_________________
Longboarding to Heaven °~


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 5 berichten ] 

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 35 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.