PHP Rekenmachine

Status
Niet open voor verdere reacties.

87122270student

Gebruiker
Lid geworden
29 jan 2007
Berichten
175
Hoi

ik wil graag een rekenmachine bouwen net als:
http://tafels.jdmedia.nl/home.php

Wij moeten de eerste pagina ik HTML maken en daarna een pagina met de tafel in PHP laten openen.

ik heb me HTML bestand al:

HTML:
<head>
<title>Test</title>
</head>

<body bgcolor="red"><p>

 <FORM action="tafel.php" method="post">
    <P>
    <LABEL for="tafel">Welke tafel wil je zien?</LABEL>
              <INPUT type="text" id="tafel"><BR>
    <BR>
    <INPUT type="submit" value="Reken uit">
    <INPUT type="reset" value="Oeps foutje!">
    </P>
 </FORM>

</body>

zue ook de bijlage
 

Bijlagen

Je moet de input box wel even een name="" geven, in onderstaand ben ik van name="tafel" uitgegaan.

PHP:
$tafel = $_POST['tafel'];
for($i=1;$i < 11;$i++)
{
  $product = $i*$tafel;
  echo "$i x $tafel = $product <br />";
}
Geeft resultaat:
Code:
1 x 10 = 10
2 x 10 = 20
3 x 10 = 30
4 x 10 = 40
5 x 10 = 50
6 x 10 = 60
7 x 10 = 70
8 x 10 = 80
9 x 10 = 90
10 x 10 = 100


Zelfde manier als je voorbeeld (Moet je dus een extra input maken met name="einde")
PHP:
$tafel = $_POST['tafel'];
$einde = $_POST['einde'];
for($i=1;$i < $einde+1;$i++)
{
  $product = $i*$tafel;
  echo "$i x $tafel = $product <br />";
}

edit: toch maar getest
 
Laatst bewerkt:
JE ZEG:
Je moet de input box wel even een name="" geven, in onderstaand ben ik van name="tafel" uitgegaan

Deze snap ik even niet
 
HTML:
<head>
<title>Test</title>
</head>

<body bgcolor="red"><p>

 <FORM action="tafel.php" method="post">
    <P>
    <LABEL for="tafel">Welke tafel wil je zien?</LABEL>
              <INPUT type="text" id="tafel"><BR>
    <BR>
    <INPUT type="submit" value="Reken uit">
    <INPUT type="reset" value="Oeps foutje!">
    </P>
 </FORM>

</body>

Dit heb je, zeg je

maar je kunt nu onmogelijk de inhoud van <INPUT type="text" id="tafel"> opvragen omdat je geen name="" hebt...
Zo moet hij dus zijn:
Zonder tafel tot ...
HTML:
<head>
<title>Test</title>
</head>
<body bgcolor="red"><p>
 <FORM action="tafel.php" method="post">
    <P>
    <LABEL for="tafel">Welke tafel wil je zien?</LABEL>
              <INPUT type="text" name="tafel" /><BR />
    <BR />
    <INPUT type="submit" value="Reken uit" />
    <INPUT type="reset" value="Oeps foutje!" />
    </P>
 </FORM>
</body>
Met tafel tot...
HTML:
<head>
<title>Test</title>
</head>
<body bgcolor="red"><p>
 <FORM action="tafel.php" method="post">
    <P>
    <LABEL for="tafel">Welke tafel wil je zien?</LABEL>
              <INPUT type="text" name="tafel" /><BR />
              <INPUT type="text" name="einde" /><BR />
    <BR />
    <INPUT type="submit" value="Reken uit" />
    <INPUT type="reset" value="Oeps foutje!" />
    </P>
 </FORM>
</body>

Als je nu de code die ik je gaf er aan verbind moet hij het doen.
 
Nee, een id heeft met CSS te maken.

Dit is een snel in elkaar geflanst werkend script, kijk maar of je het begrijpt en ik neem aan dat je zelf hem wel kan wijzigen naar believen?

test.php (Noem je hem anders moet je dat bij <FORM action="{hier de naam van de pagina}" ook doen)
PHP:
<head>
  <title>Test</title>
</head>
<body bgcolor="red">
<FORM action="test.php" method="post">
	Ik wil de tafel van <INPUT type="text" name="tafel" size="2"/> zien van 1 tot <INPUT type="text" name="einde" size="2" /><BR />
	<BR />
	<INPUT type="submit" value="Reken uit" name="submit" />
	<INPUT type="reset" value="Oeps foutje!" />
</FORM>
</body>
<?
if($_POST['submit'])
{
	if($_POST['einde'] == "")
	{
		$einde = 10;
	}
	else
	{
		$einde = $_POST['einde'];
	}
	$tafel = $_POST['tafel'];
	for($i=1;$i < $einde+1;$i++)
	{
  	$product = $i*$tafel;
  	echo "$i x $tafel = $product <br />";
	}
}
?>

Deze doet het precies zo als je voorbeeld ;)
 
Oke gelukt
nu wil ik de php pagina centreren maar dan tussen html gezet dus:

<html>
<head>
<title></title>
</head>
<body>
<center>

DAN HIER DE PHP

</center>
</html>

kan dat ook zonder de html??
 
Zonder HTML ga je het niet redden (CSS is namelijk ook onderdeel van HTML)

Met deze code moet hij gecentreerd zijn denk ik:
test.php
PHP:
<head>
  <title>Test</title>
</head>
<body bgcolor="red">
<center>
<FORM action="test.php" method="post">
    Ik wil de tafel van <INPUT type="text" name="tafel" size="2"/> zien van 1 tot <INPUT type="text" name="einde" size="2" /><BR />
    <BR />
    <INPUT type="submit" value="Reken uit" name="submit" />
    <INPUT type="reset" value="Oeps foutje!" />
</FORM>
<?
if($_POST['submit'])
{
    if($_POST['einde'] == "")
    {
        $einde = 10;
    }
    else
    {
        $einde = $_POST['einde'];
    }
    $tafel = $_POST['tafel'];
    for($i=1;$i < $einde+1;$i++)
    {
      $product = $i*$tafel;
      echo "$i x $tafel = $product <br />";
    }
}
?>
</center>
</body>
 
Hoi,

ik ben nu al zo ver dat ik op de 2e pagina html heb in mijn PHP (PuinHooP)

HTML:
<html>

<head>
<title>Ummmmmm.... Hoe ging die tafel ook al weer??</title>
</head>

<body bgcolor="red"><p>

<center> <h2> Ummmmmm.... Hoe ging die tafel ook al weer?? </h2> </center>

<center>
<img src="rekenen.jpg" alt="Gek plaatje hè?"
border="3" width="200" heigth="100">
<BR><BR>
</center>

<center>
 <FORM action="tafel.php" method="post">
    <P>
    <LABEL for="tafel">Welke tafel wil je zien?</LABEL>
              <INPUT type="text" name="tafel"><BR>
    <LABEL for="tafel">Tot hoeveel keer wil je dit getal uitrekenen?</LABEL>
              <INPUT type="text" name="einde"><BR>
    <BR>
    <INPUT type="submit" value="Reken uit">
    <INPUT type="reset" value="Oeps foutje!">
    </P>
 </FORM>
</center>

</body>

PHP:
<?php
  $tafel = $_POST['tafel'];
  $einde = $_POST['einde'];

  print "<html>\n";
  print "\n";
  print "  <head>\n";
  print "    <title>Dit is je gekozen tafel</title>\n";
  print "  </head>\n";
  print "\n";
  print "  <body bgcolor=\"red\"><p>\n";
  print "\n";
  print "    <center> <h2> Dit is je gekozen tafel </h2> </center>\n";
  print "\n";
  print "  <center>\n";
  print "    <img src=\"rekenen.jpg\" alt=\"Gek plaatje hè?\" border=\"3\" width=\"200\" heigth=\"100\">\n";
  print "    <BR><BR>\n";
  print "  </center>\n";
  print "\n";
  print "  <center>\n";

  for($i=1;$i < $einde+1;$i++)
  {
    $product = $i*$tafel;
    print "$i x $tafel = $product <br>\n";
  }


  print "   </center>\n";
  print "  </body>\n";
  print "</html>\n";
?>

Maar nu moet ik iets doen met DO en DO-WHILE ik kan hier niet uitkomen.
Ik heb al veel gezocht, en ben ook niet te beroerd om iets zelf op te zoeken maar ik kom er gewoon niet uit!
 
wat je kunt doen is
PHP:
while($einde > 0)
{
  $product = $i*$tafel; 
    print "$i x $tafel = $product <br>\n";
  $einde = $einde - 1;
}

Voor de DO heb ik zo gauw geen voorbeeld en heb er ook nog nooit mee gewerkt... Mocht je er echt wat over willen weten kan ik er wel even naar kijken.
 
Hier de DO-WHILE dan

PHP:
 // zet i op 1
  $i = 1;

  // doe het volgende
  do
  {
    // bereken het product
    $product = $i*$tafel;

        // druk een regel met gegevens af
    print "$i x $tafel = $product <br>\n";

        // hoog de waarde van i op
        $i++;
  }
  // zolang i kleine is dan de eindwaarde
  while($i <= $einde);

er zijn verschillen

de while kijk eerst de do while die doet het en ziet wel wat er gebeurt zeg maar

als je vraag loop zo dicht mogelijk naar een rafijn toe als je kan dan:

de while die zet stapje voor stapje een stap en kijk of hij verder kan
de do while die komt er pas achter als hij in het rafijn valt!

Ik heb bij de WHILE

PHP:
$i = 1;

  while ($i <= $einde)
  {
    // bereken het product
    $product = $i*$tafel;

        // druk een regel met gegevens af
    print "$i x $tafel = $product <br>\n";

        // hoog de waarde van i op
        $i++;
  }
 
Laatst bewerkt:
Hm ik was even vergeten dat $i uit de for lus kwam en dus niet meer gedefineerd staat, maar ik zie dat jij het wel hebt gevonden ;)

Eigenlijk is er dus niet echt een verschil in DO-WHILE en WHILE, ik blijf voorlopig maar bij de WHILE :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan