Avatar billede zeuszan Nybegynder
25. september 2002 - 19:11 Der er 36 kommentarer og
2 løsninger

Simpel input form og MySQL

Jeg kan ikke få nedenstående script til at virke.

Får fejl om at siden ikke kan vises og samtidig
oprettes der ingen records i min MySQL DB.

Jeg er helt ny i SQL hensyn og har kæmpet i
flere dage med det l.... problem, derfor er
der sat 100 point på højkant.

<html>
<body>
<?
if(isset($password) && $password =="raz"){
echo "Succes";
mysql_connect("localhost", "****", "****") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
       
mysql_query("INSERT INTO news(navn , telefon) VALUES ('$navn', '$telefon')");
                        mysql_close();                   
} else {
?>
<form method="post" action="<? $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede abpdk Nybegynder
25. september 2002 - 19:14 #1
Skal det ikke være <?php ?
Avatar billede abpdk Nybegynder
25. september 2002 - 19:15 #2
Du mangler vist et echo i:
<?php echo $PHP_SELF; ?>
Avatar billede zeuszan Nybegynder
25. september 2002 - 19:20 #3
Hej abpdk.

Så vidt jeg har læst mig til, har det med PHP4 intet at sige,
om der står <? eller <?php

Jeg ved heller ikke om det har nogen funktion at der manglede 'echo'.

Jeg har forsøgt at tilføje begge dele, men problemet optræder stadig :0(
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:20 #4
du behøver ikke skrive <?php men ja der mangler et echo som abpdk siger.
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:22 #5
I if(isset($password) && $password =="raz"){ behøver du kun skrive
if($password =="raz"){
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:23 #6
Har du egen server? Hvis du har det er dine register_globals i php.ini så sat til on?
Avatar billede abpdk Nybegynder
25. september 2002 - 19:24 #7
Prøv evt. følgende:
brug <input type="submit" name="submit" value="Accept">

if ($submit) {

} else {

}
Avatar billede abpdk Nybegynder
25. september 2002 - 19:24 #8
Det burde ikke gøre nogen forskel, det er dog pænere (synes jeg)
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:25 #9
abpdk >>> det hjælper jo ikke så meget hvis han skal bruge det med password..
Avatar billede abpdk Nybegynder
25. september 2002 - 19:29 #10
Hvordan ser din database ud?
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:30 #11
prøv med det her en gang og se om det virker...
<html>
<body>
<?
if($_post[password] =="raz"){
echo "Succes";
mysql_connect("localhost", "****", "****") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
mysql_query("INSERT INTO news(navn , telefon) VALUES '$_post[navn]', '$_post[telefon]')");
mysql_close();                   
} else {
?>
<form method="post" action="<? $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:31 #12
hov.. en gang til.. *S*
<html>
<body>
<?
if($_post[password] =="raz"){
echo "Succes";
mysql_connect("localhost", "****", "****") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
mysql_query("INSERT INTO news(navn , telefon) VALUES '$_post[navn]', '$_post[telefon]')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action="<? $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede abpdk Nybegynder
25. september 2002 - 19:33 #13
Never mind. Nu har jeg lige prøvet din kode og den virker i hvert fald her.
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:34 #14
Sorry.. glemte echo.. skal vi ikke sige sidste gang så.. *S*
<html>
<body>
<?
if($_post[password] =="raz"){
echo "Succes";
mysql_connect("localhost", "****", "****") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
mysql_query("INSERT INTO news(navn , telefon) VALUES '$_post[navn]', '$_post[telefon]')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:41 #15
Arrrgh.. er da helt blind.. der mangler startparantes i sqlen..

Nå men her er den hvis du har register globals on..
<html>
<body>
<?
if($password == "raz"){
echo "Succes";
mysql_connect("loclhost", "xxxxx", "xxxx") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
mysql_query("INSERT INTO news (navn, telefon) VALUES ('navn', 'telefon')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:42 #16
Ej.. gider ikke mere... det er snart spam det her.... Håber du kan bruge det.
<html>
<body>
<?
if($password == "raz"){
echo "Succes";
mysql_connect("80.196.143.74", "djsaw", "25kmeDepV") or die (mysql_error());
mysql_select_db("exp") or die (mysql_error());
mysql_query("INSERT INTO exp1 (navn, telefon) VALUES ('$navn', '$telefon')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede abpdk Nybegynder
25. september 2002 - 19:43 #17
Nu mangler der da dollartegn!
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:44 #18
Ja... har rettet det.. stopper også nu.. men det virker i hvert fald det sidste... www.cbox.dk/exp
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:45 #19
Og ja har ændret mit password på min mysql..
Avatar billede zeuszan Nybegynder
25. september 2002 - 19:48 #20
Jeg har ændret mit script ifølge jeres gode ideér og får nu fejlen:
Notice:
Undefined variable: _SESSION in c:\inetpub\wwwroot\saw.php on line 14

Mit nye script :
<html>
<body>
<?
if(isset($_POST )) extract($_POST); // Hvis PHP er nyere end v42

if(isset($password) && $password == "raz"){
echo "Succes";
mysql_connect("localhost", "****", "****") or die (mysql_error());
mysql_select_db("news") or die (mysql_error());
mysql_query("INSERT INTO news (navn , telefon) VALUES ('navn', 'telefon')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action=<? echo $_SESSION['HTTP_SELF'] or die(mysql_error()); ?>>
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:51 #21
Øhhh, hvad laver du? Det der er vist ikke min idé? *Ss*

Prøv det sidste jeg postede her..
For det første bruger man $_post til at hente en variabel fra en form. så der skal være [navnet på variablen her] før at det virker..
Du har også skrevet $_session[] men der er ingen sessions her på siden. du skal så bruge $_server[PHP_SELF] i stedet for..
Avatar billede zeuszan Nybegynder
25. september 2002 - 19:54 #22
dj saw =>
Når jeg kører filen/scriptet som du postede sidst, får
jeg fejlen :

Notice: Undefined variable:
password in c:\inetpub\wwwroot\saw2.php on line 4

Kan det have noget at gøre med den version af PHP jeg anvender??
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:55 #23
Er ikke helt sikker... Har du kigget i din php.ini?
Se lige om du har register_globals=on hvis du ikke har det så sæt den til det.. *S*
Avatar billede zeuszan Nybegynder
25. september 2002 - 19:57 #24
Den var ikke sat til on, men er det nu - og det virker
beklageligvis stadig ikke *GRRRRR*
Avatar billede abpdk Nybegynder
25. september 2002 - 19:58 #25
Prøv med:
<?php
  if($submit && $password="raz") {
    echo "Succes";
    mysql_connect("localhost", "****", "****") or die (mysql_error());
    mysql_select_db("news") or die (mysql_error());
    mysql_query("INSERT INTO news(navn , telefon) VALUES('$navn', '$telefon')");
    mysql_close();
  } else {
?>

<html>
  <body>
    <form method="post" action="<? $PHP_SELF; ?>">
    Kodeord:<br>                   
    <input type="password" name="password"><br>
    Navn:<br>
    <input type="text" name="navn"><br>
    Telefon:<br>
    <input type="text" name="telefon"><br>
    <input type="submit" value="Accept">
    </form>
  </body>
</html>
<?php   
}
?>
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 19:58 #26
Heller ikke med det sidste script jeg postede?
kig her en gang www.cbox.dk/exp her ligger den samme kode..
Hvad får du af fejl?
<html>
<body>
<?
if($password == "raz"){
echo "Succes";
mysql_connect("80.196.143.74", "djsaw", "25kmeDepV") or die (mysql_error());
mysql_select_db("exp") or die (mysql_error());
mysql_query("INSERT INTO exp1 (navn, telefon) VALUES ('$navn', '$telefon')") or die (mysql_error());
mysql_close();                   
} else {
?>
<form method="post" action="<? echo $PHP_SELF; ?>">
Kodeord:<br>                   
<input type="password" name="password"><br>
Navn:<br>
<input type="text" name="navn"><br>
Telefon:<br>
<input type="text" name="telefon"><br>
<input type="submit" value="Accept">
</form>
<?   
}
?>
</body>
</html>
Avatar billede abpdk Nybegynder
25. september 2002 - 19:59 #27
Sorry, der manglede lige den førnævnte "echo" i "<? echo $PHP_SELF; ?>"
Avatar billede zeuszan Nybegynder
25. september 2002 - 20:01 #28
Jeg har indsat følgende linie:

if(isset($password) && $password == "raz"){

- istedet for den simple if sætning du bruger for at
tjekke password. Nu får jeg at vide at der ikke er adgang
til serveren for min bruger. Scriptet må altså være rigtigt nu....
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 20:03 #29
Smider lige et svar. *S* Så kan du selv bestemme hvem som skal have pointene.
Avatar billede abpdk Nybegynder
25. september 2002 - 20:03 #30
Ikke nødvendigvis, det kan være at den bare ikke når længere end mysql_connect.
Avatar billede abpdk Nybegynder
25. september 2002 - 20:04 #31
Jeg vil lige være fræk nok til at gøre det samme :)
Avatar billede zeuszan Nybegynder
25. september 2002 - 20:05 #32
Nu virker l.... sgu'

Så hvis jeg lige får et svar, så får du,
dj_saw point'ene....
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 20:06 #33
jeg forstår ikke hvorfor du vil have if(isset($password) && $password == "raz"){
for hvis $password = "raz" så er $password så er det jo emegt logisk at den er isset ik
Avatar billede zeuszan Nybegynder
25. september 2002 - 20:06 #34
I fik point 80/20, det synes jeg var meget rimeligt ??
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 20:06 #35
Jeg takker mange gange... *S*
Avatar billede zeuszan Nybegynder
25. september 2002 - 20:07 #36
Det er simpelt hen kanon' jeg har kømpet i to dage og 52 min. på eksperten, så er problemet løst... *GG*
Avatar billede abpdk Nybegynder
25. september 2002 - 20:07 #37
Samme her
Avatar billede sylvesternielsen Nybegynder
25. september 2002 - 20:12 #38
*Ss* Tjaaa, vil ikke ødelægge din begejstring, men prøv at stille et spørgsmål i visual basic.. LOOOOL..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester