Avatar billede michaeltryl Seniormester
14. juni 2006 - 22:13 Der er 13 kommentarer og
1 løsning

hjælp til at validere af php fil

nu har jeg siddet og knoklet med dette et par timer og kan ikke få det til at virke.
jeg har denne side som ikke validere se her.
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.magiske-michael.dk%2Fgaestebog.php

er der en som kan hjælpe med at validere den
her er koden til filen (uden <head> og doctype)
<body>
<script type="text/javascript">
function validering()
  {
  error = 0;
  if((document.forms[0].navn.value=='') && (error==0)) 
  {
    alert('Du skal skrive dit navn!');
    document.forms[0].navn.focus();
    error = 1;
  }

if((document.forms[0].hilsen.value=='') && (error==0)) 
  {
    alert('Du skal skrive en hilsen!');
    document.forms[0].hilsen.focus();
    error = 1;
  }
 
  if(error == 0)
  document.forms[0].submit();
  }

// Slut -->
</script>

<table class="hoved">
    <tr>
        <td>

<table class="top">
    <tr>
        <td>
        .</td>
    </tr>
</table>

        <table class="menu">
            <tr>
                <td>
                    <?
                    include "menu/menu.php"
                    ?>
                </td>
            </tr>
</table>
        <table class="indhold">
            <tr>
                <td><FORM name="gaestebog" method="POST" onsubmit="validering();return false;" ACTION="gaestebog.php">
                    <h1>Gæstebog</h1>
                    <h2>Her kan du læse alle hilsner i tryllekunstner, Magiske Michael's gæstebog.<br>
                    Du er også velkommen til selv at skriv en hilsen.</h2>
                    <h3>
        *Navn: <input class="inputfelt" name="navn" size="30" maxlength="255"> <br>
        Email: <input class="inputfelt" name="email" size="30" maxlength="255"> <br>
        Web side: <input class="inputfelt" name="webside" size="30" maxlength="255"> <br>
        *Hilsen:<br><textarea rows="5" cols="40" name="hilsen"></textarea><br>
        <input class="inputknap" type="submit" value="Send">
        <input class="inputknap" type="reset" value="Nulstil">
        <br><br>
      <?
//skab forbindelse til databasen
mysql_connect("****", "****", "****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());

        // tæller antal poster i databasen
$tael = mysql_query("SELECT COUNT(*) AS antal FROM gbog") or die(mysql_error());
$row = mysql_fetch_array($tael);
echo "Der er i øjeblikket ".$row[antal]." hilsner i gæstebogen"
?>
<?
//hent indhold fra formular
$navn = $_REQUEST["navn"];
$email = $_REQUEST["email"];
$webside = $_REQUEST["webside"];
$hilsen = $_REQUEST["hilsen"];

//skab forbindelse til databasen
mysql_connect("localhost", "michaelkni", "2303821875") or die(mysql_error());
mysql_select_db("michaelkni") or die(mysql_error());

//tjekker om der er noget i navn og hilsen
if(!empty($navn) && !empty($hilsen))
{
//indsæt data i databasen
    mysql_query("INSERT INTO gbog (gbogID, navn, email, webside, dato, hilsen)
    values(0, '$navn', '$email', '$webside', NOW(), '$hilsen')") or die(mysql_error());
    }

// Antal hilsner på hver side
$rowsToReturn = 10;

// Aktuel side
$offset = $_GET['offset'];
if ( $offset == "" ) {
    $offset = "0";
}

// Find ud af hvor mange hilsner der er i alt
$how_many = mysql_query("SELECT COUNT(*) AS totalRows FROM gbog") or die(mysql_error());
$how_many_d = mysql_query("SELECT COUNT(*) AS totalRows FROM gbog") or die(mysql_error());
$totalRows = mysql_result($how_many_d, 0);

// Hent en sides hilsner
$hilsner = mysql_query("SELECT * FROM gbog ORDER BY dato DESC LIMIT ".$offset.",".$rowsToReturn."") or die(mysql_error());

// Vis dem
$i = 0;
while ($array = mysql_fetch_array($how_many)) {
    // Tæller så vi ved, hvor mange billeder vi har vist
    $i++;
    // Vis dine hilsner her
    print "<table width=35%>";
    while ($row = mysql_fetch_array($hilsner))
    {
        print"<tr><td Valign=top><b>Navn:</b></td>
        <td Valign=top>".$row["navn"]."</td></tr><tr>
        <td Valign=top><b>email:</b></td>
        <td Valign=top>".$row["email"]."</td></tr>
        <tr><td Valign=top><b>webside:</b></td>
        <td Valign=top>".$row["webside"]."</td></tr>
        <tr><td Valign=top><b>dato:</td>
        <td Valign=top>".$row["dato"]."</td></tr>
        <tr><td valign=top><b>hilsen:</b></td>
        <td Valign=top>".$row["hilsen"]."<hr /></td></tr>
        <tr><td></td></tr>";
    }
  print"</table>";
}

// Lav relevante links
if ($offset > 0)
    echo "<a href='gaestebog.php?offset=".($offset - $rowsToReturn)."'>Forrige</a>&nbsp;";
if ($offset + $i < $totalRows)
    echo "<a href='gaestebog.php?offset=".($offset + $rowsToReturn)."'>Næste</a>";
?>
</form>
</td>
    </tr>
</table>       
<table class="menu">
            <tr>
                <td>
                </td>
            </tr>
        </table>

<?
//tjekker om der er noget i navn og hilsen og sender mail
if(!empty($navn) && !empty($hilsen))
{
mail("webmaster@magiske-michael.dk", "skrevet i gæstebogen", "$navn har skrevet \n -$hilsen- \n i min gæstebog \n http://tryllekunstner.magiske-michael.dk/tryllekunstner-gaestebog.php");
}
?>


</body>

</html>
Avatar billede nielle Nybegynder
14. juni 2006 - 22:29 #1
Starte med dette her:

// Vis dem
$i = 0;
while ($array = mysql_fetch_array($how_many))
{
    // Tæller så vi ved, hvor mange billeder vi har vist
    $i++;
    // Vis dine hilsner her
    print "<table width='35%'>";
    while ($row = mysql_fetch_array($hilsner))
    {
        print "<tr><td Valign='top'><b>Navn:</b></td>
        <td Valign='top'>" . $row["navn"] . "</td></tr><tr>
        <td Valign='top'><b>email:</b></td>
        <td Valign='top'>" . $row["email"] . "</td></tr>
        <tr><td Valign='top'><b>webside:</b></td>
        <td Valign='top'>" . $row["webside"] . "</td></tr>
        <tr><td Valign=top><b>dato:</b></td>
        <td Valign='top'>" . $row["dato"] . "</td></tr>
        <tr><td valign='top'><b>hilsen:</b></td>
        <td Valign='top'>" . $row["hilsen"] . "<hr /></td></tr>
        <tr><td></td></tr>";
    }
    print "</table>";
}
Avatar billede michaeltryl Seniormester
14. juni 2006 - 22:45 #2
det hjalp rigtig meget, nu er der kun 3 fejl tilbage, som jeg egentlig synes lyder lidt mærkelig.
så håber du kan hjælpe her også
Avatar billede nielle Nybegynder
14. juni 2006 - 22:50 #3
Du kan starte med at tage dig af den som går på <h3>.

Hvis du kigger din kode igennem, kan du se at du har en <h3> men at du ikke har afsluttet den med en </h3>. Den skal du have sat ind på et passende sted.
Avatar billede michaeltryl Seniormester
14. juni 2006 - 22:59 #4
nå ja det troede jeg egentlig jeg havde, jeg kigger på det imorgen forløbig tak for hjælpen
Avatar billede michaeltryl Seniormester
15. juni 2006 - 08:13 #5
så er <h3> løst, men kan du hjælpe med resten evt. give et hint til hvordan det løses
Avatar billede nielle Nybegynder
15. juni 2006 - 21:32 #6
Når toppen af din kode har du dette:

<table class="hoved">
    <tr>
        <td>

Hvor slutter den tabel henne?
Avatar billede michaeltryl Seniormester
15. juni 2006 - 22:24 #7
ja den var ikke afsluttet, men det hjælper ikke på fejlen
her er hele min kode, jeg kigger også lige selv på det imorgen, det kan være det er nemmere at starte forfra og kopiere php koderne

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
  "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>
<TITLE>tryllekunstner gæstebog</TITLE>
<META name="description" content="skriv en hilsen i min gæstebog">
<META name="Keywords" content="kontakt tryllekunstner, trylleshow, underholdning til fest">
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<META NAME="Revisit-after" CONTENT="30">
<META name="Robots" content="all">
<meta http-equiv="pragma" content="no-cache">
<link rel="stylesheet" href="http://www.magiske-michael.dk/styles/generelt-style.css" type="text/css">
<link rel="stylesheet" href="http://www.magiske-michael.dk/styles/link-style.css" type="text/css">
<link rel="stylesheet" href="http://www.magiske-michael.dk/styles/tabel-style.css" type="text/css">
<link rel="stylesheet" href="http://www.magiske-michael.dk/styles/tekst-style.css" type="text/css">
</head>

<body>
<script type="text/javascript">
function validering()
  {
  error = 0;
  if((document.forms[0].navn.value=='') && (error==0)) 
  {
    alert('Du skal skrive dit navn!');
    document.forms[0].navn.focus();
    error = 1;
  }

if((document.forms[0].hilsen.value=='') && (error==0)) 
  {
    alert('Du skal skrive en hilsen!');
    document.forms[0].hilsen.focus();
    error = 1;
  }
 
  if(error == 0)
  document.forms[0].submit();
  }

// Slut -->
</script>

<table class="hoved">
    <tr>
        <td>

<table class="top">
    <tr>
        <td>
        .</td>
    </tr>
</table>

        <table class="menu">
            <tr>
                <td>
                    <?
                    include "menu/menu.php"
                    ?>
                </td>
            </tr>
</table>
        <table class="indhold">
            <tr>
                <td><FORM name="gaestebog" method="POST" onsubmit="validering();return false;" ACTION="gaestebog.php">
                    <h1>Gæstebog</h1>
                    <h2>Her kan du læse alle hilsner i tryllekunstner, Magiske Michael's gæstebog.<br>
                    Du er også velkommen til selv at skriv en hilsen.</h2>
                    <h3>
        *Navn: <input class="inputfelt" name="navn" size="30" maxlength="255"> <br>
        Email: <input class="inputfelt" name="email" size="30" maxlength="255"> <br>
        Web side: <input class="inputfelt" name="webside" size="30" maxlength="255"> <br>
        *Hilsen:<br><textarea rows="5" cols="40" name="hilsen"></textarea><br>
        <input class="inputknap" type="submit" value="Send">
        <input class="inputknap" type="reset" value="Nulstil">
        <br><br>
      <?
//skab forbindelse til databasen
mysql_connect("****", "****", "****") or die(mysql_error());
mysql_select_db("****") or die(mysql_error());

        // tæller antal poster i databasen
$tael = mysql_query("SELECT COUNT(*) AS antal FROM gbog") or die(mysql_error());
$row = mysql_fetch_array($tael);
echo "Der er i øjeblikket ".$row[antal]." hilsner i gæstebogen"
?>
<?
//hent indhold fra formular
$navn = $_REQUEST["navn"];
$email = $_REQUEST["email"];
$webside = $_REQUEST["webside"];
$hilsen = $_REQUEST["hilsen"];

//skab forbindelse til databasen
mysql_connect("localhost", "michaelkni", "2303821875") or die(mysql_error());
mysql_select_db("michaelkni") or die(mysql_error());

//tjekker om der er noget i navn og hilsen
if(!empty($navn) && !empty($hilsen))
{
//indsæt data i databasen
    mysql_query("INSERT INTO gbog (gbogID, navn, email, webside, dato, hilsen)
    values(0, '$navn', '$email', '$webside', NOW(), '$hilsen')") or die(mysql_error());
    }

// Antal hilsner på hver side
$rowsToReturn = 10;

// Aktuel side
$offset = $_GET['offset'];
if ( $offset == "" ) {
    $offset = "0";
}

// Find ud af hvor mange hilsner der er i alt
$how_many = mysql_query("SELECT COUNT(*) AS totalRows FROM gbog") or die(mysql_error());
$how_many_d = mysql_query("SELECT COUNT(*) AS totalRows FROM gbog") or die(mysql_error());
$totalRows = mysql_result($how_many_d, 0);

// Hent en sides hilsner
$hilsner = mysql_query("SELECT * FROM gbog ORDER BY dato DESC LIMIT ".$offset.",".$rowsToReturn."") or die(mysql_error());

// Vis dem
$i = 0;
while ($array = mysql_fetch_array($how_many))
{
    // Tæller så vi ved, hvor mange billeder vi har vist
    $i++;
    // Vis dine hilsner her
  print "<table width='35%'>";
    while ($row = mysql_fetch_array($hilsner))
    {
        print "<tr><td Valign='top'><b>Navn:</b></td>
        <td Valign='top'>" . $row["navn"] . "</td></tr><tr>
        <td Valign='top'><b>email:</b></td>
        <td Valign='top'>" . $row["email"] . "</td></tr>
        <tr><td Valign='top'><b>webside:</b></td>
        <td Valign='top'>" . $row["webside"] . "</td></tr>
        <tr><td Valign=top><b>dato:</b></td>
        <td Valign='top'>" . $row["dato"] . "</td></tr>
        <tr><td valign='top'><b>hilsen:</b></td>
        <td Valign='top'>" . $row["hilsen"] . "<hr /></td></tr>
        <tr><td></td></tr>";
    }
    print "</table>";
}

// Lav relevante links
if ($offset > 0)
    echo "<a href='gaestebog.php?offset=".($offset - $rowsToReturn)."'>Forrige</a>&nbsp;";
if ($offset + $i < $totalRows)
    echo "<a href='gaestebog.php?offset=".($offset + $rowsToReturn)."'>Næste</a>";
?>
</h3></form>
</td>
    </tr>
</table>       
<table class="menu">
            <tr>
                <td>
                </td>
            </tr>
        </table>
       
</td>
    </tr>
</table>

<?
//tjekker om der er noget i navn og hilsen og sender mail
if(!empty($navn) && !empty($hilsen))
{
mail("webmaster@magiske-michael.dk", "skrevet i gæstebogen", "$navn har skrevet \n -$hilsen- \n i min gæstebog \n http://tryllekunstner.magiske-michael.dk/tryllekunstner-gaestebog.php");
}
?>

</body>

</html>
Avatar billede nielle Nybegynder
15. juni 2006 - 22:41 #8
Hjalp ikke? Det fjernede da en af fejlene, og nu er der kun en enkelt en tilbage. :^)
Avatar billede nielle Nybegynder
15. juni 2006 - 22:51 #9
Fejlen skyldes at den tabel, som der fejler, er placeret indenfor i et <h3>...</h3> par. Det må den ikke.

Du bliver nødt til at flytte din sidste </h3> længere op på side ... op i nærkeden af den <h3> den høre sammen med. Det er den </h3> som står nede ved dit Næste-link.
Avatar billede michaeltryl Seniormester
16. juni 2006 - 09:13 #10
så lykkeds det og mange tak for hjælpen.
jeg har et lille problem mere som jeg håber du vl hjælpe med.
hver gang jeg indsætter f.eks target="_blank" i et link så fejler den
se f.eks her
http://validator.w3.org/check?uri=http%3A%2F%2Fhjemmeside-ting.magiske-michael.dk%2F
Avatar billede nielle Nybegynder
16. juni 2006 - 09:21 #11
Det skyldes at "target" ikke er lovligt sammen med den strict-DOCTYPE du har valgt at bruge.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

I stedet anbefaler de at du bruger loose:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
Avatar billede michaeltryl Seniormester
16. juni 2006 - 09:27 #12
aha det vil jeg prøve
Avatar billede michaeltryl Seniormester
16. juni 2006 - 09:29 #13
jep det virkede smid et svar så får du point
Avatar billede nielle Nybegynder
16. juni 2006 - 09:31 #14
Svar :^)
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