/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Hjælp til afstemnings kode script ?
Fra : Jesper Poulsen


Dato : 22-08-05 20:18

Hej
Jeg har fået en udemærket afstemnings guide, men har et problem.
Guiden ligger her:

http://www.udvikleren.dk/article.php?aid=115&techid=6

Først åbner jeg min database og tilføjer 'Tables' til MySQL. Det
fungere. Der efter skal jeg oprette en fil som hedder:

pollfunctions.php

Det gør jeg. I den fil kopier jeg ALLE koderne ind i, som skrevet
i artiklen. Uden at rette yderliger. Den gemmer jeg som:

pollfunctions.php

.. og uploader den til min hjemmeside.

Derefter åbner jeg index.html til at redigere i. Jeg tilføjer:

<?

// Der SKAL være en åben MySQL forbindelse allerede her

include("pollfunctions.php");

?>

.. der hvor jeg vil ha' min afstemningsboks og kopiere det andet
ind. Det er jeg lidt i tvivl om hvor skal smides ind henne. Det
er denne kode:

$pid = 1; // $pid kan som sagt hentes ud af databasen, eller den
kan bare sættes manuelt som her

if(HaveVoted($pid) == true) {

   echo ShowResults($pid);

} else {

   echo ShowPoll($pid);

}

Jeg har prøvet at sætte den ind før, hvor jeg har skrevet:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

.. og efter det. Jeg kan ikke få det til at virke. Hvor skal den
skrives henne ?

Og tænkte på, den fil man kalder pollfunctions.php, skal den ikke
ha' <% til at starter med og %> til at slutte med ?

Håber nogen kan hjælpe og forstår mit spørgsmål. På forhånd tak!

Mvh Jesper Poulsen
http://p0ulsen.frac.dk

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jesper Poulsen (22-08-2005)
Kommentar
Fra : Jesper Poulsen


Dato : 22-08-05 20:23

+ Når man endelig for den til at køre, hvor skal Spørgsmålene så
skrives?!

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin (22-08-2005)
Kommentar
Fra : Martin


Dato : 22-08-05 23:13

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jesper Poulsen wrote:
> + Når man endelig for den til at køre, hvor skal Spørgsmålene så
> skrives?!
>

Du kan jo lave et admin modul til scriptet, eller du kan jo hardcode det
ind i dine mysql tabeller.

Mon ikk du ville få meget mere udbytte af at tage en masse tutorials?

www.webcafe.dk <-- et ok sted at starte
www.udvikleren.dk <-- mange gode tutorials
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)

iD8DBQFDCk3dAxDV/8Li8MYRAjb6AJ9FP9W/lc4rUMlSE/q8CWSfWJn6kQCeLIjL
SEOT5l0uibfacKX22dm1sXM=
=aPvg
-----END PGP SIGNATURE-----

Martin (22-08-2005)
Kommentar
Fra : Martin


Dato : 22-08-05 23:11

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jesper Poulsen wrote:
> Hej
> Jeg har fået en udemærket afstemnings guide, men har et problem.
> Guiden ligger her:
>
> http://www.udvikleren.dk/article.php?aid=115&techid=6
>
> Først åbner jeg min database og tilføjer 'Tables' til MySQL. Det
> fungere. Der efter skal jeg oprette en fil som hedder:
>
> pollfunctions.php
>
> Det gør jeg. I den fil kopier jeg ALLE koderne ind i, som skrevet
> i artiklen. Uden at rette yderliger. Den gemmer jeg som:
>
> pollfunctions.php
>
> . og uploader den til min hjemmeside.
>
> Derefter åbner jeg index.html til at redigere i. Jeg tilføjer:

index.HTML <-- kan du se fejlen?
en HTML side kan jo selvfølgelig IKKE vise PHP

>
> <?
>
> // Der SKAL være en åben MySQL forbindelse allerede her

Har du åbnet en mysql forbindelse?

>
> include("pollfunctions.php");
>
> ?>
>
> . der hvor jeg vil ha' min afstemningsboks og kopiere det andet
> ind. Det er jeg lidt i tvivl om hvor skal smides ind henne. Det
> er denne kode:
>
> $pid = 1; // $pid kan som sagt hentes ud af databasen, eller den
> kan bare sættes manuelt som her

Ja $pid kan hentes ud fra databasen, hvis du altså har åbnet en mysql
forbindelse

>
> if(HaveVoted($pid) == true) {
>
>    echo ShowResults($pid);
>
> } else {
>
>    echo ShowPoll($pid);
>
> }
>
> Jeg har prøvet at sætte den ind før, hvor jeg har skrevet:
>
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
> "http://www.w3.org/TR/html4/strict.dtd">
>
> . og efter det. Jeg kan ikke få det til at virke. Hvor skal den
> skrives henne ?

det skal stå imellem <body> og </body>


>
> Og tænkte på, den fil man kalder pollfunctions.php, skal den ikke
> ha' <% til at starter med og %> til at slutte med ?

<% er ASP start tags!
brug hellere <?php som er den korrekte syntax.
Og jo - selvfølgelig skal pollfunctions.php indeholde
<?php allerførst uden nogen som helst mellemrum eller tegn ovenonver
og tilsidst ?>

>
> Håber nogen kan hjælpe og forstår mit spørgsmål. På forhånd tak!
>
> Mvh Jesper Poulsen
> http://p0ulsen.frac.dk
>
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)

iD8DBQFDCk2BAxDV/8Li8MYRAhYQAJwOpGpieFtMyvPXob0NQHqDs+vVCQCdHsi9
44ETUZNnldT3zkwhQXcvHUA=
=BMd/
-----END PGP SIGNATURE-----

Jesper Poulsen (23-08-2005)
Kommentar
Fra : Jesper Poulsen


Dato : 23-08-05 14:48

> index.HTML <-- kan du se fejlen?
> en HTML side kan jo selvfølgelig IKKE vise PHP

Ja, det var en noget grim fejl. Den er rettet!

> > <?
&gt; >

> Har du åbnet en mysql forbindelse?

Hvordan tjekker jeg det ?



> det skal stå imellem <body> og </body>

Okay. Tak.

Mvh Jesper Poulsen
http://p0ulsen.frac.dk

PS.

Nu når man vælger en svar mulighed for jeg denne fejl :

http://p0ulsen.frac.dk/?1=1&submit=Stem%21

.. og jeg forstod stadig ikke helt hvordan jeg skulle oprette
spørgsmålene.. Kan nogen forklare ? Gerne 'skåret ud i pap'!



--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Martin (23-08-2005)
Kommentar
Fra : Martin


Dato : 23-08-05 15:08

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jesper Poulsen wrote:
>Har du åbnet en mysql forbindelse?
>
>
> Hvordan tjekker jeg det ?

Der hvor du laver din mysql forbindelse.
Fx

mysql_connect(HOST,USER,PASS);

Der smider du en OR DIE indefter sådan her.

mysql_connect(HOST,USER,PASS)
OR DIE (mysql_error());

Og det samme der hvor du vælger databasen

mysql_select_db(database)
OR DIE (mysql_error());

og ved en query gør du også det samme fx.

mysql_query("SELECT ......")
OR DIE (mysql_error());

Så får du hele tiden mysql_error() frem hvis der skulle gå noget galt.

>
> PS.
>
> Nu når man vælger en svar mulighed for jeg denne fejl :
>
> http://p0ulsen.frac.dk/?1=1&submit=Stem%21

1: en fejl i din side hvor functions står
2: du har ikke lavet en include til functions.php (eller hvad den hedder)
3: Istedet for include så brug require eller require_once så får du en
fejlmeddelse hvis filen ikke kunne hentes.

>
> . og jeg forstod stadig ikke helt hvordan jeg skulle oprette
> spørgsmålene.. Kan nogen forklare ? Gerne 'skåret ud i pap'!

Det er svært at forklare men du har jo allerede den første afstemning
inde, så brug phpmyadmin og se hvordan det er opbygget, og ellers kan du
jo bare rette til hvad der står.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (MingW32)

iD8DBQFDCy24AxDV/8Li8MYRAiwcAJ9LPdy4fnXle4Dtzv8wmiha6lfjWACfZO7A
NPFFRaCdPGfaVPm+CuhQtzE=
=Xeye
-----END PGP SIGNATURE-----

Jesper Poulsen (23-08-2005)
Kommentar
Fra : Jesper Poulsen


Dato : 23-08-05 17:06

Hej igen. Jeg har fået rettet tingene til, men får endnu en fejl nu. Den
er her:

http://p0ulsen.frac.dk/

fejlen i tekst:

Parse error: parse error, unexpected T_STRING in
/web/www/frac/users/p0ulsen/pollfunctions.php on line 65

Hvad betyder det ?

Håber nogen kan hjælpe! På forhånd tak..

Mvh Jesper Poulsen

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (23-08-2005)
Kommentar
Fra : Per Riber


Dato : 23-08-05 19:08

23 Aug 2005 16:06:18 GMT skrev Jesper Poulsen
<Jepperp14@hotmail.com>:

>Hej igen. Jeg har fået rettet tingene til, men får endnu en fejl nu. Den
>er her:
>
>http://p0ulsen.frac.dk/

Jeg har nu stemt på alle mulighederne - får ingen
fejlmeldinger, men den vender blot tilbage til forsiden -
uden at vise nogen resultater.

>fejlen i tekst:
>
>Parse error: parse error, unexpected T_STRING in
>/web/www/frac/users/p0ulsen/pollfunctions.php on line 65

Den fejlmelding kæmpede jeg også med i går - der er en
syntaksfejl i din pollfunctions.php. Kan du ikke lægge den
op på http://pastebin.priber.dk, så vi andre også kan se
den..? Post URL, som du får, her i gruppen.

mvh Per

Jesper Poulsen (24-08-2005)
Kommentar
Fra : Jesper Poulsen


Dato : 24-08-05 19:08

> Jeg har nu stemt på alle mulighederne - får ingen
> fejlmeldinger, men den vender blot tilbage til forsiden -
> uden at vise nogen resultater.

Ja, det er mit problem. Jeg ved ikke hvordan jeg får den til at vise
resulatet ?

> Den fejlmelding kæmpede jeg også med i går - der er en
> syntaksfejl i din pollfunctions.php. Kan du ikke lægge den
> op på http://pastebin.priber.dk, så vi andre også kan se
> den..? Post URL, som du får, her i gruppen.

Ja, har rettet den. Her er den færdige pollfunctions.php :

<?php

$dbtable_polls = "polls";

$dbtable_pollvotes = "pollvotes";

$cookieprefix = "mypoll";

$redirectto = "http://skrivdinhjemmesideher.dk";

if($_POST[do_vote] and $_POST[pid] and $_POST[vid]) {

   CastVote($_POST[pid], $_POST[vid]);

}

function HaveVoted($pid) {

   global $cookieprefix;

   if(($_COOKIE[$cookieprefix."vote".$pid]) AND
($_COOKIE[$cookieprefix."poll".$pid] == $pid)) {

      return true;

   } else {

      return false;

   }

}

function CastVote($pid, $vote) {

   global $dbtable_pollvotes; global $cookieprefix; global $redirectto;

   if(HaveVoted($pid) != true) {   

      $addvote = mysql_query("insert into $dbtable_pollvotes (pollid, vote)
values ('$pid','$vote')");

      setcookie($cookieprefix."vote".$pid, $vote, time()+999999999);

      setcookie($cookieprefix."poll".$pid, $pid, time()+999999999);   

      header("location: $redirectto");

   }

}

function ShowPoll($pid) {

   global $dbtable_polls;

   $query = mysql_query("select * from $dbtable_polls where id='$pid'");

   if(mysql_num_rows($query) > 0)

   {

      $q = stripslashes(mysql_result($query, 0, "question"));

      $num = mysql_result($query, 0, "numofanswers");

      $kode .= "<div class=\"pollquestion\">$q</div>";

      $kode .= "<form action=\"$_SERVER[PHP_SELF]\" method=\"post\">";

      $i = 1;

      while($i != $num+1) {

         $a = stripslashes(mysql_result($query, 0, "answer".$i));

         $kode .= "<div class=\"pollanswer\"><input type=\"radio\" name=\"vid\"
value=\"$i\" />$a</div>";
         $i++;

      }

      $kode .= "<input type=\"hidden\" name=\"pid\" value=\"$pid\" />";

      $kode .= "<br /><input type=\"submit\" name=\"do_vote\" value=" - Stem - "
class=\"button\" />";

      $kode .= "</form>";

   }

return $kode;      

}

function ShowResults($pid) {

   global $dbtable_polls;   global $dbtable_pollvotes;

   $query = mysql_query("select * from $dbtable_polls where id='$pid'");

      $q = stripslashes(mysql_result($query, 0, "question"));

      $num = mysql_result($query, 0, "numofanswers");

      $kode .= "<div class=\"pollquestion\">$q</div>";

         $votesquery = mysql_query("select count(id) from $dbtable_pollvotes where
pollid='$pid'");

         $totalvotes = mysql_result($votesquery, 0, 0);

      $i = 1;

      $kode .= "<table style=\"width: 95%;\" class=\"text\">";

      while($i != $num+1) {

         $a = stripslashes(mysql_result($query, 0, "answer".$i));

         $resultquery = mysql_query("select count(id) from $dbtable_pollvotes

where pollid='$pid' and vote='$i'");

            $votes = mysql_result($resultquery, 0, 0);

            if($votes > 0) {

               $average = round(100 * $votes / $totalvotes, 2);

            } else {

               $average = "0";

            }

         $kode .= "<tr>";

         $kode .= "<td colspan=\"2\"><div class=\"pollanswer\">$a:</div></td>";   

         $kode .= "</tr><tr>";      

         $kode .= "<td style=\"width: 75%;\"><span class=\"pollbar\"
style=\"width: $average%;\"></td>";

         $kode .= "<td></span> <span style=\"text-align: right; font-weight:
bold;\">$average%</span></td>";

         $kode .= "</tr>";         

         $i++;

      }

      $kode .= "</table>";

      $kode .= "<br /><div style=\"text-align: center;\">Stemmer i alt:<br
/><b>$totalvotes</b></div>";

return $kode;

}
?>


--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Per Riber (24-08-2005)
Kommentar
Fra : Per Riber


Dato : 24-08-05 22:08

24 Aug 2005 18:07:39 GMT skrev Jesper Poulsen
<jepperp14@hotmail.com>:

>> Jeg har nu stemt på alle mulighederne - får ingen
>> fejlmeldinger, men den vender blot tilbage til forsiden -
>> uden at vise nogen resultater.
>
>Ja, det er mit problem. Jeg ved ikke hvordan jeg får den til at vise
>resulatet ?

Får du nogensinde startet dit php-script..? Tæller den
stemmerne op i din database?

Jeg tror, du mangler en <form method=post action=..... i din
HTML.

mvh Per

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste