Avatar billede natro Nybegynder
05. oktober 2003 - 12:12 Der er 12 kommentarer

PHP og MySQL begynderproblemer

Jeg prøver at få en primitiv gæstebog op at stå på friserverplads.dk, den består kun af to korte php sider(laes.php og opdater.php),
det virker tilsyneladende, bl.a sendes en mail til mig når der skrives et indlæg, men selve indlæggende er ikke synlige i selve gæstebogen. Kun kategorien: navn, email, besked. Hvorfor???
http://www.natro.friserverplads.dk/laes.php
Avatar billede jakobclausen Nybegynder
05. oktober 2003 - 12:15 #1
HVordan ser din kode ud der tager kontakt til databasen?
Avatar billede jakobclausen Nybegynder
05. oktober 2003 - 12:17 #2
Avatar billede natro Nybegynder
05. oktober 2003 - 12:25 #3
Som det fremgår af hele sidens kode, kontaktes mySQL som følger: xxxxx dækker over mit password. natro er både navnet på mit brugernavn hos friserverplads og på den database de har givet mig.
$db = mysql_connect("localhost", "natro", "xxxxx");




<html>
<title>Gæstebog</title>
<body bgcolor="#FFFFFF">
<form name="form1" method="get" action="opdater.php">

Læg venligst en besked:
<br>
Navn:
<input type="text" name="navn">
<br>
Email:
<input type="text" name="email">
<br>
<textarea name="besked" rows="8"></textarea>
<input type="submit" name="Submit" value="Indsend">

</form>

<hr>

Tak til de personer, som allerede har lagt en besked!

<hr>

<?php

$db = mysql_connect("localhost", "natro", "xxxxx");

mysql_select_db("natro",$db);

$result = mysql_query("SELECT * FROM indlaeg",$db);

while ($myrow = mysql_fetch_row($result)) {

?>

Navn: <? echo $myrow[1] ?>
<br>
Email: <? echo $myrow[2] ?>
<br>
Besked: <? echo $myrow[3] ?>
<br>

<hr>

<?
}
?>


</body>
</html>

Applicationens andet script(opdater) er her:

<?php

$db = mysql_connect("localhost", "natro", "xxxxx");

mysql_select_db("natro",$db);

$sql = "INSERT INTO indlaeg (navn, email, besked) VALUES ('$navn','$email','$besked')";

$result = mysql_query($sql);

mail("jesp_70@hotmail.com","Nyt indlæg i gæstebogen fra ".$navn,$besked,"From: ".$email);

?>
<html>
<title>Opdater</title>
<body bgcolor="#FFFFFF">

Tak for det. <a href="laes.php">Klik for at vende til bage til gæstebogen.</a>

</body>
</html>
Avatar billede jakobclausen Nybegynder
05. oktober 2003 - 12:33 #4
prøv at skrive dette:

while ($myrow = mysql_fetch_row($result))
{
echo ("Navn: echo $myrow[kolonne]<br>");
echo ("Email: echo $myrow[kolonne]<br>");
echo ("Besked: echo $myrow[kolonne]<br>");
print("<hr>");
}

istedet for:
while ($myrow = mysql_fetch_row($result)) {

?>

Navn: <? echo $myrow[1] ?>
<br>
Email: <? echo $myrow[2] ?>
<br>
Besked: <? echo $myrow[3] ?>
<br>

<hr>

<?
}
?>

Istedet for kolonne skal du skrive kolonnenavnet på de kolonnen hvor navn, email og besked står
Avatar billede natro Nybegynder
05. oktober 2003 - 13:10 #5
mener du med "kolonnenavnet" det MySQL kalder feltnavn? skal
while ($myrow = mysql_fetch_row($result))
{
echo ("Navn: echo $myrow[kolonne]<br>");
echo ("Email: echo $myrow[kolonne]<br>");
echo ("Besked: echo $myrow[kolonne]<br>");
print("<hr>");
}

erstatter det hele

while ($myrow = mysql_fetch_row($result)) {

?>

Navn: <? echo $myrow[1] ?>
<br>
Email: <? echo $myrow[2] ?>
<br>
Besked: <? echo $myrow[3] ?>
<br>

<hr>

<?
}
?> 

altså også ?tegnene, eller kun noget af det? det virker nemlig ikke umiddelbart, men det kan skyldes en tastefejl.
Avatar billede jakobclausen Nybegynder
05. oktober 2003 - 13:37 #6
Ja kolonne = felt navnet i mysql databasen
Avatar billede gizmo1234 Nybegynder
05. oktober 2003 - 16:28 #7
Æhh, friserverplads hoster vel ikke til localhost, gør de?
Avatar billede natro Nybegynder
05. oktober 2003 - 17:09 #8
jo det tror jeg nok, det står der da ihvertfald inde på min MySQL db hos dem. Jeg har ikke PHP eller MySQL installeret på min egen computer, Friserver har jo begge dele, men alligevel står der localhost(??)
Avatar billede gizmo1234 Nybegynder
05. oktober 2003 - 17:56 #9
Ok, så vidt jeg ved er localhost kun når man har noget liggende på sin egen comp, som andre folk ikke kan se fra nettet...
Kigger lige lidt på deres hp, for at se om jeg kan finde noget om det :)
Avatar billede gizmo1234 Nybegynder
05. oktober 2003 - 18:09 #10
Det kunne godt se ud som om det kører over localhost, det fatter jeg bare ikke en brik af :)

Men prøv med mysql.friserverplads.dk istedet for localhost...
Avatar billede egonspock Seniormester
05. oktober 2003 - 18:50 #11
Databasen kan da sagtens ligge på samme maskine som webserveren og derfor er det naturligt at den connecter til localhost!
Avatar billede weaponx Nybegynder
09. oktober 2003 - 00:01 #12
localhost er næsten altid det mest effektive at benytte og det virker på de fleste webhoteller. Hvis man ikke bruger localhost i sine forespøgsler ol. vil det blive nogle sløve sider ;/
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
Computerworld tilbyder specialiserede kurser i database-management

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