Toon posts:

[newbie] hulp bij tutorial

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb de php/mysql tutorial van http://hotwired.lycos.com...page4.html?tw=programming gevolgd.

Ik heb pws 4 en php 4.3.0 geinstalleerd, waarbij in PWS alle directories alle rechten hebben.

Dit ging goed totdat er een script stond waarmee data via een form in een database wordt gezet.

Script ziet er zo uit:
<html>
<body>

<?php

if ($submit) {

// process form

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

$sql = "INSERT INTO employees (first,last,address,position) VALUES ('$first','$last','$address','$position')";

$result = mysql_query($sql);

echo "Thank you! Information entered.\n";

} else{

// display form

?>

<form method="post" action="<?php echo $PHP_SELF?>">
First name:<input type="Text" name="first"><br>
Last name:<input type="Text" name="last"><br>
Address:<input type="Text" name="address"><br>
Position:<input type="Text" name="position"><br>
<input type="Submit" name="submit" value="Enter information">
</form>

<?php
} // end if


?>

</body>

</html>

Als ik dit zo uitvoer krijg ik een http 405 error.
Volgens mij is er wat met php_self maar wat?

  • HunterPro
  • Registratie: Juni 2001
  • Niet online
draai je ook wel een mySQL? :)

Verwijderd

Topicstarter
Yup.

In de url in de explorer balk komt dat dit te staan:
http://server/<?php%20echo%20$PHP_SELF?>

[ Voor 95% gewijzigd door Verwijderd op 08-02-2003 21:14 ]


Verwijderd

Aan die url te zien lijkt php niet te werken?
Probeer het eens zo:
code:
1
<form method="post" action="<? echo $PHP_SELF ?>">

Hmmm, en een 405 is "Method Not Allowed", wat zou dat hier te betekenen hebben :?

[ Voor 86% gewijzigd door Verwijderd op 08-02-2003 21:20 ]


Verwijderd

Topicstarter
Gewonen simpele dingen voert hij wel uit.
Zal eens in de documentatie kijken.

  • Nibble
  • Registratie: Juli 2001
  • Laatst online: 16-08 02:25
PWS service een keer herstarten ?

T is for TANK, and T is for TERROR ... and K is the K for KILLING in error.


  • HunterPro
  • Registratie: Juni 2001
  • Niet online
onder welk OS werk je? In ieder geval kan het geen kwaad om Apache met PHP te gaan draaien onder windows; dan weet ik bijna zeker dat je dit soort problemen (die liggen aan de combo van PWS, wat op zich al een brakke server is, met PHP) kunt voorkomen. Er zijn hele goeie kant-en-klare oplossingen hiervoor verkijgbaar, google bijvoorbeeld eens naar 'phptriad', een pakket met apache, php en mysql, speciaal voor beginnende ontwikkelaars als jij.

succes! :)

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Als je Register Globals (te vinden in %windir%/phpini) uit hebt staan (AAN TE RADEN) dan zul je sowieso de variabele $_SERVER["PHP_SELF"] moeten gebruiken, ipv $PHP_SELF

En hoe bedoel je precies dat "http://server/<?php%20echo%20$PHP_SELF?>" in de explorer-balk komt te staan? Dat dat stukkie PHP dus niet geparsed wordt?

Ik ben sowieso al een voorstander om alles in PHP te doen en niet te kloten met meerdere keren <?php en ?>, maar gewoon ook je HTML outputten met echo...

De [php]-tag is ook aan te raden btw:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

if ($submit) {

// process form

$db = mysql_connect("localhost", "root");

mysql_select_db("mydb",$db);

$sql = "INSERT INTO `employees` (`first`, `last`, `address`, `position`) VALUES ('".$_POST["first"]."', '"._POST["$last"]."', '".$_POST["address"].'', '".$_POST["position"]."')";

$result = mysql_query($sql);

echo "Thank you! Information entered.\n";

} else{

// display form

echo "<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">";
echo "First name:<input type=\"Text\" name=\"first\"><br>";
echo "Last name:<input type=\"Text\" name=\"last\"><br>";
echo "Address:<input type=\"Text\" name=\"address\"><br>";
echo "Position:<input type=\"Text\" name=\"position\"><br>";
echo "<input type=\"Submit\" name=\"submit\" value=\"Enter information\">";
echo "</form>";

} // end if


?>


Probeer die eens? Onder het motto: Watch and learn :P (mits het werkt uiteraard...)

edit:
Zo werkt het op Apache iig wel, PWS heb ik geen idee van eigenlijk :$

[ Voor 43% gewijzigd door Osiris op 08-02-2003 21:26 . Reden: MySQL-Query netter gemaakt (IMO) (2e keer) ]


Verwijderd

Ik ben sowieso al een voorstander om alles in PHP te doen en niet te kloten met meerdere keren <?php en ?>, maar gewoon ook je HTML outputten met echo...
Hulde _/-\o_
ik nl ook
Dat is ook veel handiger, kun je bijv. op elk gewenst moment header() doen.
Zo werkt het op Apache iig wel, PWS heb ik geen idee van eigenlijk :$
Maar php blijft toch gewoon php...lijkt me :?

[ Voor 19% gewijzigd door Verwijderd op 08-02-2003 21:31 ]


  • Osiris
  • Registratie: Januari 2000
  • Niet online
Verwijderd schreef op 08 februari 2003 @ 21:30:
[...]

Maar php blijft toch gewoon php...lijkt me :?
Ik heb de binaire distributie versie blabla van PHP voor Win32, maar je hebt ook modules voor Apache etc... Voor 't zelfde geld kan 't allemaal verschillen, dus daarom zeg ik voor de zekerheid maar dat ik t niet zeker weet :)

offtopic:
Je hoeft de ' in je alerts in je polls niet te escapen, of je moet ff een stripslashes toevoegen aan je PHP ;)

[ Voor 16% gewijzigd door Osiris op 08-02-2003 21:36 ]


  • SuperRembo
  • Registratie: Juni 2000
  • Laatst online: 20-08-2025
<offtopic>
Osiris schreef op 08 February 2003 @ 21:22:
PHP:
1
echo "<form method=\"post\" action=\"".$_SERVER["PHP_SELF"]."\">";
Waarom gebruikt iedereen toch altijd " quotes als het ook met ' kan en je dan die " html-quites niet hoeft te escapen?
PHP:
1
echo '<form method="post" action="'.$_SERVER['PHP_SELF'].'">';

Is toch veel duidelijker?
</offtopic>

| Toen / Nu


Verwijderd

Ieder zijn eigen manier zou ik zeggen...ik vind dubbele quotes veel stoerder staan :+
Pagina: 1