Avatar billede udvikler Nybegynder
23. april 2005 - 21:20 Der er 35 kommentarer og
1 løsning

Hvorfor for jeg disse meget mærkelige fejl når jeg åbner min gæst

Hejsa..

Når jeg åbn er min gæstebog for jeg meget mærkelige fejl som ikke burde være der..
Jeg har oprettet en tabel der hedder besked og sat den til text

Her er min fil:

<?php
include ('menu.htm');
?>

<?php
$host = "localhost";
$user = "brugernavn";
$pass = "kode";
$db = "brugernavn";   
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(empty($_POST['add']))
    {
    echo "<div style="text-align: center;">

        <br><br><br><br>
        <form action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">
        <textarea rows=\"10\" cols=\"50\" name=\"besked\"></textarea>
        <p>
        <input type=\"submit\" name=\"add\" value=\"send\">
        </form>
        </div>       
        <div style="text-align: center;">";
    }
else
    {   
    //Indsætter i´databasen
    mysql_query("INSERT INTO gaestebog
                (besked)
                VALUES
                ('$_POST[besked]')
                ");
    header("location: ". $_SERVER['HTTP_REFERER']);
    exit();
    }

$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
while ($gaestebog = mysql_fetch_array($query)) {

print $gaestebog['besked'];
    print "<hr>";   
    print "<br>";
  }

?>
Avatar billede busschou Praktikant
23. april 2005 - 21:24 #1
Det ville nok hjælpe hvis du sagde hvad fejl beskeden var ;o)
Avatar billede hyberpreprocessor Nybegynder
23. april 2005 - 21:24 #2
og hvad er fejlen ?-)
Avatar billede udvikler Nybegynder
23. april 2005 - 21:29 #3
Jamen der kommer mystiske fejl.. som et textarea som kommer frem forkert og diverse ting.. det er ikke ting som jeg kan vise her.. Der kommer nemlig mystiske fejl.. :)

Så hvis i har lyst til at hjælpe mig, så må i nok hellere gemme filen og åbne den :)
Avatar billede udvikler Nybegynder
23. april 2005 - 21:30 #4
^^edit

Og forresten har jeg lavet filen en lille bitte smule om:

<?php
$host = "localhost";
$user = "brugernavn";
$pass = "kode";
$db = "brugernavn";   
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(empty($_POST['add']))
    {
    echo "<div style="text-align: center;">

        <br><br><br><br>
        <form action="". $_SERVER["PHP_SELF"] ."" method="post">
        <textarea name="besked" rows="10" cols="60"></textarea>
        <p>
        <input type="submit" name="add" value="send">
        </form>
        </div>       
        <div style="text-align: center;">";
    }
else
    {   
    //Indsætter i´databasen
    mysql_query("INSERT INTO gaestebog
                (besked)
                VALUES
                ('$_POST[besked]')
                ");
    header("location: ". $_SERVER['HTTP_REFERER']);
    exit();
    }

$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
while ($gaestebog = mysql_fetch_array($query)) {

print $gaestebog['besked'];
    print "<hr>";   
    print "<br>";
  }

?>
Avatar billede busschou Praktikant
23. april 2005 - 21:30 #5
KAn vi jo ikke fordi det er din database den kører med men du kan give et link
Avatar billede udvikler Nybegynder
23. april 2005 - 21:32 #6
Nårh joh.. ;)

www.adeee.frac.dk
Avatar billede busschou Praktikant
23. april 2005 - 21:33 #7
når du bruger " i et echo så skal du escape det med \"
Avatar billede busschou Praktikant
23. april 2005 - 21:34 #8
<?php
include ('menu.htm');
?>

<?php
$host = "localhost";
$user = "brugernavn";
$pass = "kode";
$db = "brugernavn"; 
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(empty($_POST['add']))
    {
    echo "<div style="text-align: center;">

        <br><br><br><br>
        <form action=\"". $_SERVER["PHP_SELF"] ."\" method=\"post\">
        <textarea rows=\"10\" cols=\"50\" name=\"besked\"></textarea>
        <p>
        <input type=\"submit\" name=\"add\" value=\"send\">
        </form>
        </div>     
        <div style=\"text-align: center;\">";
    }
else
    { 
    //Indsætter i´databasen
    mysql_query("INSERT INTO gaestebog
                (besked)
                VALUES
                ('$_POST[besked]')
                ");
    header("location: ". $_SERVER['HTTP_REFERER']);
    exit();
    }

$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
while ($gaestebog = mysql_fetch_array($query)) {

print $gaestebog['besked'];
    print "<hr>"; 
    print "<br>";
  }

?>
Avatar billede udvikler Nybegynder
23. april 2005 - 21:34 #9
Kan jeg så ikke bare bruge et ' i alle echo ? forstår nemlig ikke hvad du mener.. men kan man ikke bare bruge ' istedet ?
Avatar billede busschou Praktikant
23. april 2005 - 21:35 #10
jo istedet for " skal du enten bruge \" eller '
Avatar billede udvikler Nybegynder
23. april 2005 - 21:35 #11
Nårh okay tak.. sådan var filen ellers også først.. hehe.. men troede ikk det var nødvendigt :o) hehe
Avatar billede busschou Praktikant
23. april 2005 - 21:35 #12
jeg kan se at jeg ikke engang fangede dem alle ;o)
Avatar billede udvikler Nybegynder
23. april 2005 - 21:35 #13
men nu til sagen igen:

Hvad kan jeg gøre for at få rettet på fejlene ?
Avatar billede busschou Praktikant
23. april 2005 - 21:37 #14
Jamen det er lige netop sagen!!!!
Sådan her:
<?php
include ('menu.htm');
?>

<?php
$host = "localhost";
$user = "brugernavn";
$pass = "kode";
$db = "brugernavn";
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(empty($_POST['add']))
    {
    echo "<div style=\"text-align: center;\">

        <br><br><br><br>
        <form action=\"$_SERVER["PHP_SELF"]\" method=\"post\">
        <textarea rows=\"10\" cols=\"50\" name=\"besked\"></textarea>
        <p>
        <input type=\"submit\" name=\"add\" value=\"send\">
        </form>
        </div>   
        <div style=\"text-align: center;\">";
    }
else
    {
    //Indsætter i´databasen
    mysql_query("INSERT INTO gaestebog
                (besked)
                VALUES
                ('$_POST[besked]')
                ");
    header("location: ". $_SERVER['HTTP_REFERER']);
    exit();
    }

$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
while ($gaestebog = mysql_fetch_array($query)) {

print $gaestebog['besked'];
    print "<hr>";
    print "<br>";
  }

?>
Avatar billede udvikler Nybegynder
23. april 2005 - 21:37 #15
Jamen det har jeg ændret..!!!! :)

Men jeg for stadig alle de samme fejl!
Avatar billede busschou Praktikant
23. april 2005 - 21:38 #16
hvordan ser din fil ud nu...har du rettet dem alle!?
Avatar billede udvikler Nybegynder
23. april 2005 - 21:39 #17
har kun den fil..

det virkede engang.. så ville jeg bare "updatere" det hele.. og uploadede alle filerne igen og nu virker det ikk.. :(
Avatar billede busschou Praktikant
23. april 2005 - 21:41 #18
du må have rette noget.. hvis du vil være sikker på ikke at kokse i \" og " og ' så sæt html uden for php koden
<?php
include ('menu.htm');
?>

<?php
$host = "localhost";
$user = "brugernavn";
$pass = "kode";
$db = "brugernavn";
$connect = mysql_connect($host, $user, $pass);
mysql_select_db($db);

if(empty($_POST['add']))
    { ?>
        <div style=text-align: center;">

        <br><br><br><br>
        <form action="<?=$_SERVER["PHP_SELF"]?>" method="post">
        <textarea rows="10" cols="50" name="besked"></textarea>
        <p>
        <input type="submit" name="add" value="send">
        </form>
        </div> 
        <div style="text-align: center;">
  <?php }
else
    {
    //Indsætter i´databasen
    mysql_query("INSERT INTO gaestebog
                (besked)
                VALUES
                ('$_POST[besked]')
                ");
    header("location: ". $_SERVER['HTTP_REFERER']);
    exit();
    }

$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
while ($gaestebog = mysql_fetch_array($query)) {

print $gaestebog['besked'];
    print "<hr>";
    print "<br>";
  }

?>
Avatar billede busschou Praktikant
23. april 2005 - 21:44 #19
har du gemt det som en *.PHP fil ???
For man kan se koden i "vis kode" i browseren...det tyder på du har gemt den som en html fil?
Avatar billede udvikler Nybegynder
23. april 2005 - 21:44 #20
Nu begynder det at ligne noget.. ;)

Sådan så mit script faktisk også ud før.. men så spurgte jeg en herinde fra om han/hun ikke kunne gør det mere "proffesionelt"/flot også skete dét der.. :(
Men nu har jeg fået bevidst at det er meget godt at stole på sine egne evner :)

Tusinde tak..

Prøv evt. at kigge på siden igen: www.adeee.frac.dk det er en kode som er undsluppet og bliver vist som tekst..
Avatar billede udvikler Nybegynder
23. april 2005 - 21:45 #21
Nej, jeg har skam gemt det som en php fil...
Avatar billede busschou Praktikant
23. april 2005 - 21:45 #22
Ja men du har ikke gemt det som en PHP fil...det kan du ikke have
FOr jeg kan se din kode og dit brugernavn i kilden!
Avatar billede udvikler Nybegynder
23. april 2005 - 21:48 #23
Jep.. Filen er php, men efter at have uploadet den ændrede jeg filen til index.html hehe.. Det er fordi ellers kan man ikke gå ind i gæstebogen.. :(

selvom man går ind i www.adeee.frac.dk/navnpågæstebog.php
Avatar billede busschou Praktikant
23. april 2005 - 21:49 #24
du kan bare kalde den for index.php
Det er også bedre end at kalde den for gæstebogen.php
For det er ikke altid lige godt med æ,ø,å i navne...
Avatar billede udvikler Nybegynder
23. april 2005 - 21:51 #25
Jep.. fik jeg også gjort..

Har lig ændret lidt på det, og næsten fået det ordnet..

Her er en eneste fejl jeg nu for:
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /web/www/frac/users/adeee/index.php on line 35

Dette er linie 35:
while ($gaestebog = mysql_fetch_array($query)) {
Avatar billede busschou Praktikant
23. april 2005 - 21:52 #26
det er så fordi der er en fejl i din $query
Ret denne
$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
til denne
$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20") or die(mysql_error());
Avatar billede busschou Praktikant
23. april 2005 - 21:53 #27
Er der noget i din tabel i databasen...eller er den tom?
For du er nød til at putte noget i (før der er noget i kan man ikke hente noget ;o))
Avatar billede busschou Praktikant
23. april 2005 - 21:55 #28
Så lige din side
Den siger den ikke kender kollonen "id"
Er du sikker på den ikke hedder ID med stort ...eller andet?
Avatar billede udvikler Nybegynder
23. april 2005 - 21:55 #29
Sådan når jeg ændre det og sætter or die sætningen bagved for jeg denne simple fejl:
Unknown column 'id' in 'order clause'

Hva skal jeg da putte i tabbellen ? :0)
Avatar billede busschou Praktikant
23. april 2005 - 21:56 #30
Put noget "basis" i tabellen...bare en enkelt række er nok
Men først skal du lige finde ud af hvad din kollonne hedder når den ikke hedder id
Avatar billede udvikler Nybegynder
23. april 2005 - 21:57 #31
Har da slet ikke oprettet noget ID.. gør den ikke det selv.. ? hehe.. gjorde den da engang.. eller hvad.. Hmm.. hehe

Skal jeg så lave en til tabel der hedder

ID = int (11)
Avatar billede udvikler Nybegynder
23. april 2005 - 22:02 #32
Der virker nu... sad og prøvede nogle idéer af.. og til sidst virkede det..

læg et svar så du kan få point ;)

Forresten.. hvordan gør jeg sådan så den sidst skrevne besked bliver vist øverst og ikke nederst ?
Avatar billede busschou Praktikant
23. april 2005 - 22:02 #33
Du skal til at starte med finde et sted hvor du kan læse om PHP og HTML på lavt niveau!
Start fx på www.w3schools.com
Den linje du har her:
$query = mysql_query("SELECT * FROM gaestebog ORDER BY id desc LIMIT 20");
Betyder følgende ord for ord
Select = VÆLG
* = ALLE POSTER
FROM = FRA
gaestebog = Tabellen gaestebog i din database
ORDER BY id = SORTER UDFRA feltet id i tebellen
desc = omvendt alfabetisk rækkefølge
LIMIT 20 = BEGRÆNS TIL 20 POSTEr
---------------------------
Det vil sige du skal i din database lave en tabel som hedder "gaestebog" hvis ikke den allerede er der
Og nej..intet kommer af sig selv..hverken i databaser eller det virkelige liv ;o)
Så tag et kig på www.w3schools.com .. der kan du lære små ting i html, php og sql...det er nemt
Avatar billede busschou Praktikant
23. april 2005 - 22:02 #34
Så vælger du ASC istedet for DESC :o)
Synes nu stadig du skulle læse lidt på tingene :o)
Avatar billede busschou Praktikant
23. april 2005 - 22:04 #35
Nå jo
Asc = ascending
Desc = descending
Længere rækker mit engelske ikke ;o) .. godt det virker
Avatar billede udvikler Nybegynder
23. april 2005 - 22:04 #36
Det synes jeg også at jeg skal ;)

Skulle bare have det her på plads ;)
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