/ Forside/ Teknologi / Udvikling / PHP / Spørgsmål
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
Gæstebog. Hvorfor kan jeg ikke se indlæg~
Fra : DJfrakja
Vist : 514 gange
100 point
Dato : 19-03-03 02:00

Hvad går der lige galt her :

<HTMl>
<HEAD><TITLE>Min gæstebog</TITLE></HEAD>
<BODY>
<?
$db=mysql_connect("localhost", "brugernavn", "adgangskode");
mysql_select_db("fabtech",$db);
if ($skriv){
$besked=str_replace("\n","<BR>",$besked);
$dato_array=getdate();
$dato=$dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn,email,dato,besked)VALUES('$navn','$email','$dato','$besked')");
}
?>
<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<INPUT TYPE=hidden NAME=skriv VALUE=1>
navn:<INPUT TYPE=text NAME=navn><BR>
email:<INPUT TYPE=text NAME=email><BR><TEXTAREA NAME=besked COLS=30 ROWS=5></TEXTAREA><BR>
<INPUT TYPE=submit VALUE="send">
</FORM>
<BR><BR>
<TABLE>

<?
$foresp=mysql_query("SELECT navn,email,dato,besked FROM bog ORDER BY nr DESC");
while($data=mysql_fetch_row($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "fra:<A HREF=\"mailto:$data[1]\">$data[0]</A>";
echo "<BR>$data[2]";
echo "</TD><TD VALIGN=TOP>$data[3]</TD></TR>";
}
?>
</TABLE>
</CENTER>
</BODY>
</HTML>

Jeg kan fint skrive et indlæg, og trykke på send, men så bliver alle felter bare nulstillet, og der sker ikke mere...HVORFOR?

Jeg har selvfølgelig ændre brugernavn og adgangskode i dette indlæg)


 
 
Kommentar
Fra : labuni


Dato : 19-03-03 16:25

Hej

Jeg har ikke forstand på PHP programering, så jeg ved ikke om der er fejl i din programering.
Men har du sørget for at mappen / databasefilen ikke er skrivebeskyttet for alle. CHMOD skal være 777.

Mvh. Lars

Kommentar
Fra : closecut


Dato : 25-03-03 14:06

When you fetch variables from a form using "post" as method, it is good practice to use $_POST, or in some cases $HTTP_POST_VARS to fetch the values .. i would rewrite your code to look like this instead:

-- <snip> --
<HTML>
<HEAD><TITLE>Min gæstebog</TITLE></HEAD>
<BODY>
<?
$db=mysql_connect("localhost", "brugernavn", "adgangskode");
mysql_select_db("fabtech",$db);
if ($_POST["skriv"]){ /*
$besked=str_replace("\n","<BR>",$_POST["besked"]);
$navn = $_POST["navn"];
$email = $_POST["email"];
$dato_array=getdate();
$dato=$dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn,email,dato,besked)VALUES('$navn','$email','$dato','$besked')");
}
?>
<CENTER>
<FORM METHOD=POST ACTION=<? echo $PHP_SELF;?>>
<INPUT TYPE=hidden NAME=skriv VALUE=1>
navn:<INPUT TYPE=text NAME=navn><BR>
email:<INPUT TYPE=text NAME=email><BR><TEXTAREA NAME=besked COLS=30 ROWS=5></TEXTAREA><BR>
<INPUT TYPE=submit VALUE="send">
</FORM>
<BR><BR>
<TABLE>

<?
$foresp=mysql_query("SELECT navn,email,dato,besked FROM bog ORDER BY nr DESC");
while($data=mysql_fetch_row($foresp)){
echo "<TR><TD VALIGN=TOP>";
echo "fra:<A HREF=\"mailto:$data[1]\">$data[0]</A>";
echo "<BR>$data[2]";
echo "</TD><TD VALIGN=TOP>$data[3]</TD></TR>";
}
?>
</TABLE>
</CENTER>
</BODY>
</HTML>
-- </snip> --

I hope this makes some sense, try it :)


Accepteret svar
Fra : shady

Modtaget 100 point
Dato : 04-04-03 15:10

Hvis din udbyder eller du selv har register_globals=Off, så skal du, som closecut skriver, tilføje dine variabler $_GET, $_POST og så videre...

din indstætningsfunktion...
<?
$db=mysql_connect("localhost", "brugernavn", "adgangskode");
mysql_select_db("fabtech",$db);
if (isset($POST_[skriv]) && $_POST[skriv] == 1){
$besked=str_replace("\n","<BR>",$_POST[besked]);
$dato_array=getdate();
$dato=$dato_array["mday"]."/".$dato_array["mon"]."-".$dato_array["year"];
mysql_query("INSERT INTO bog (navn,email,dato,besked)VALUES('$_POST[navn]','$_POST[email]','$dato','$besked')");
}
?>

ellers er din kode egentlig rigtig nok...

Godkendelse af svar
Fra : DJfrakja


Dato : 07-04-03 01:41

Tak for svaret shady.
                        

Du har følgende muligheder
Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.

Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste