Avatar billede th1 Nybegynder
20. marts 2005 - 16:52 Der er 16 kommentarer og
2 løsninger

Post kun hvis det er udfyldt

Hejsa eksperter jeg har en gæstebog som ser sådan ud som en form:


<table width="356" border="0">
<tr>
  <td width="45">Navn:     </td>
  <td width="301"><input type="text" name="navn"> </td></tr>
<tr>
  <td width="45">E-mail:     </td>
  <td width="301"><input type="text" name="email"> </td>
</tr>
<tr><td width="45">www:     </td><td width="301"><input type="text" value="http://"  name="www"> </td></tr>
<tr>
  <td colspan="2">Besked:     <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<textarea cols="35" rows="4" name="besked"></textarea> 



Så er det at jeg gerne vil lave 2 ting.

1. Hvis der ikke bliver udfyldt noget i "E-mail" og "www" skal de ikke postes ud.  Jeg har lavet gæstebogen i php hvor den bruger en MySql database.

2.At man skal udfylde "Navn" og "Besked"

håber nogen kan hjælpe mig, på forhånd tak

m.v.h. th1
Avatar billede bromer Nybegynder
20. marts 2005 - 16:55 #1
Du kan lave et javascript check på din form. For det første mangler du et form tag såsom
<script type='javascript'>
function form_check() {
  if (document.getElementById('something').value == '') {
    alert('Du skal udfylde something');
    document.getElementById('something').focus();
    error = 1;
  }

  // check flere felter her
  return (error == 0);
   
}
</script>
<form action='action_url.php' method='post' onsubmit='return form_check();'>
  <form id='something' name='something' />
</form>
Avatar billede th1 Nybegynder
20. marts 2005 - 17:10 #2
ja hehe jeg har prøvet at lave det sådan som du siger der med java scriptet men jeg kan ikke få det til at virke  kan du komme med et lille eksempel videre der fra? :$
Avatar billede bromer Nybegynder
20. marts 2005 - 17:12 #3
Jeg synes jeg har givet dig et fint eksempel, kan du ikke arbejde ud fra det?
Avatar billede th1 Nybegynder
20. marts 2005 - 17:14 #4
det har jeg prøver :$ men jeg kan vel prøve et par gange self om jeg har gjort ;)
Avatar billede th1 Nybegynder
20. marts 2005 - 17:20 #5
sådan ser min kode ud efter jeg har prøvet:


<html>
<head><script type='javascript'>
function form_check() {
  if (document.getElementById('navn').value == '') {
    alert('Du skal udfylde Navn');
    document.getElementById('navn').focus();
    error = 1;
  }

  // check flere felter her
 
  function form_check() {
  if (document.getElementById('besked').value == '') {
    alert('Du skal udfylde Besked');
    document.getElementById('besked').focus();
    error = 1;
  }
 
  return (error == 0);
 
}
</script>
</head>
<body>
<form name="form1" method="post" action="index.php?side=ok" onsubmit='return form_check();'>
<br>
<table width="356" border="0">
<tr>
  <td width="45">Navn:</td>
  <td width="301"><input type="text" name="navn" id="navn"> </td></tr>
<tr>
  <td width="45">E-mail:    </td>
  <td width="301"><input type="text" name="email"> </td>
</tr>
<tr><td width="45">www:     </td><td width="301"><input type="text" value="http://"  name="www"> </td></tr>
<tr>
  <td colspan="2">Besked:     <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<textarea cols="35" rows="4" name="besked" id="navn"></textarea><br><br>
<input type="submit" value="Send">
</form>     
</body>
</html>
Avatar billede detox Nybegynder
20. marts 2005 - 18:08 #6
Prøv at lave det i den her stil:

<script type="text/javascript" language="JavaScript">
<!--
function form_check() {
    if (document.getElementById('navn').value == '') {
        alert('Du skal udfylde Navn');
        document.getElementById('navn').focus();
        return false;
    }
    if (document.getElementById('email').value == '') {
        alert('Du skal udfylde E-mail');
        document.getElementById('email').focus();
        return false;
    }
    // Tjek flere her
return true;
}
-->
</script>
Avatar billede detox Nybegynder
20. marts 2005 - 18:09 #7
PS: Det er dog den forkerte kategori, da der ikke er noget php.
Avatar billede th1 Nybegynder
20. marts 2005 - 19:12 #8
jeg vil nu mene at det er php hvis du læser Punkt 1.
Avatar billede detox Nybegynder
20. marts 2005 - 19:16 #9
Jamen, så kan du vel tjekke for 'navn' og 'besked' med javascriptet og så kun poste de indlæg ud hvor 'www' og 'email' er sat i din php fil.
Avatar billede th1 Nybegynder
20. marts 2005 - 19:19 #10
det jeg mener er at hvis du nu kun skriver dit navn og en besked  så udskriver den kun det  og ikke for eksempel:

Navn: detox
E-mail:
www:
Besked: Hej

men jeg vil gerne have det til at være sådan her hvis du kun skriver i Navn og Besked:

Navn: detox
Besked: Hej igen
Avatar billede detox Nybegynder
20. marts 2005 - 19:21 #11
Ok, det kan du osse lave i index.php.
Avatar billede th1 Nybegynder
20. marts 2005 - 19:22 #12
ja men jeg kan ikke finde ud af at lave sådan en function derfor spørger jeg her  ;)
Avatar billede detox Nybegynder
20. marts 2005 - 19:23 #13
Hvordan ser 'index.php' ud?
Avatar billede th1 Nybegynder
20. marts 2005 - 19:27 #14
<div align="left"><form name="form1" method="post" action="index.php?side=ok">
Skriv en besked
<br>
<table width="356" border="0">
<tr>
  <td width="45">Navn:</td>
  <td width="301"><input type="text" name="navn"> </td></tr>
<tr>
  <td width="45">E-mail:    </td>
  <td width="301"><input type="text" name="email"> </td>
</tr>
<tr><td width="45">www:     </td><td width="301"><input type="text" value="http://"  name="www"> </td></tr>
<tr>
  <td colspan="2">Besked:     <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<textarea cols="35" rows="4" name="besked"></textarea>     

    <p>&nbsp;
    <a href="#" onclick="insertText(form1.besked,':D',true);return false;">
            <img src="smilie/icon_biggrin.gif" height="15" width="15" border="0"></a>
            <a href="#" onclick="insertText(form1.besked,':O',true);return false;">
            <img src="smilie/icon_surprised.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':tw',true);return false;">
            <img src="smilie/icon_twisted.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':)',true);return false;">
            <img src="smilie/icon_smile.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':(',true);return false;">
            <img src="smilie/icon_sad.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,';)',true);return false;">
            <img src="smilie/icon_wink.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':f',true);return false;">
            <img src="smilie/icon_redface.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':r',true);return false;">
            <img src="smilie/icon_razz.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,'?',true);return false;">
            <img src="smilie/icon_question.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':[',true);return false;">
            <img src="smilie/icon_mad.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':S',true);return false;">
            <img src="smilie/icon_confused.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':8',true);return false;">
            <img src="smilie/icon_cool.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':i',true);return false;">
            <img src="smilie/icon_idea.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,'!',true);return false;">
            <img src="smilie/icon_exclaim.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':e',true);return false;">
            <img src="smilie/icon_evil.gif" height="15" width="15" border="0">
           
            <a href="#" onclick="insertText(form1.besked,':¨',true);return false;">
            <img src="smilie/icon_eek.gif" height="15" width="15" border="0"></a>
           
            <a href="#" onclick="insertText(form1.besked,':cr',true);return false;">
            <img src="smilie/icon_cry.gif" height="15" width="15" border="0"></a>
           
            </p>
    <p align="center"><br><input type="submit" value="Send">&nbsp;     

</td></tr>
</table>

<br>
<br>
<?php

$db = mysql_connect("minhost", "minbruger", "mitpassword");

mysql_select_db("mindb",$db);

/* Antallet af poster vi ønsker vist på hver side */
$pr_side = 5;

$antal = mysql_result(mysql_query("SELECT COUNT(*) FROM indlaeg"),0) or die(mysql_error());

/* Hvis visfra-variablen ikke findes i URL-feltet og den ikke er et nummer og den er større end antallet i databasen, så sættes den til 0, ellers sættes den til værdien fra URL feltet */
$vis_fra = (isset($_GET["visfra"]) && is_numeric($_GET["visfra"]) && $_GET["visfra"] < $antal) ? $_GET["visfra"] : 0;
/* Vi laver et database udtræk med limit, så den kun hiver det rigtige antal ud fra tabellen, husk at ændre &#8216;table&#8217; til dit eget tabelnavn */

$query = mysql_query ("SELECT * FROM indlaeg ORDER BY id DESC limit $vis_fra, $pr_side" ,$db) or die(mysql_error());

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

?>

Navn: <? echo $myrow[1] ?>
<br>
<? echo "E-mail: <A HREF=\"mailto:$myrow[2]\">$myrow[2]</A>"; ?>
<br>
<? echo "WWW: <a href=\"$myrow[3]\" target=\"_Blank\">$myrow[3]</a>"; ?>
<br>
Besked: <? {
$besked = $myrow['4'];

$besked = str_replace(":D", "<img src=\"smilie/icon_biggrin.gif\">", $besked);

$besked = str_replace(":S", "<img src=\"smilie/icon_confused.gif\">", $besked);

$besked = str_replace(":8", "<img src=\"smilie/icon_cool.gif\">", $besked);

$besked = str_replace(":cr", "<img src=\"smilie/icon_cry.gif\">", $besked);

$besked = str_replace(":¨", "<img src=\"smilie/icon_eek.gif\">", $besked);

$besked = str_replace(":e", "<img src=\"smilie/icon_evil.gif\">", $besked);

$besked = str_replace("!", "<img src=\"smilie/icon_exclaim.gif\">", $besked);

$besked = str_replace(":i", "<img src=\"smilie/icon_idea.gif\">", $besked);

$besked = str_replace(":l", "<img src=\"smilie/icon_lol.gif\">", $besked);

$besked = str_replace(":[", "<img src=\"smilie/icon_mad.gif\">", $besked);

$besked = str_replace(":|", "<img src=\"smilie/icon_neutral.gif\">", $besked);

$besked = str_replace("?", "<img src=\"smilie/icon_question.gif\">", $besked);

$besked = str_replace(":r", "<img src=\"smilie/icon_razz.gif\">", $besked);

$besked = str_replace(":f", "<img src=\"smilie/icon_redface.gif\">", $besked);

$besked = str_replace(":re", "<img src=\"smilie/icon_rolleyes.gif\">", $besked);

$besked = str_replace(":(", "<img src=\"smilie/icon_sad.gif\">", $besked);

$besked = str_replace(":)", "<img src=\"smilie/icon_smile.gif\">", $besked);

$besked = str_replace(":O", "<img src=\"smilie/icon_surprised.gif\">", $besked);

$besked = str_replace(":tw", "<img src=\"smilie/icon_twisted.gif\">", $besked);

$besked = str_replace(";)", "<img src=\"smilie/icon_wink.gif\">", $besked);
echo $besked;

}
?>

<br>
<hr>
<?
}
?>

<?

/* Der undersøges om der skal udskrives et &#8221;forrige side&#8221;-link, er dette tilfældet udskrives linket */
if ($vis_fra > 0) {
$back= $vis_fra - $pr_side;
echo "<a href='$_SERVER[PHP_SELF]?side=GB&visfra=$back'>Forrige</a> ";
}
$page = 1;

/* Alle siderne udskrives så man med et klik kan få resultaterne fra fx 90-100 */
for ($start = 0; $antal > $start; $start = $start + $pr_side) {
if($vis_fra != $page * $pr_side - $pr_side) {
echo "<a href='$_SERVER[PHP_SELF]?side=GB&visfra=$start'>$page</a> ";
} else {
echo $page." ";
}
$page++;
}

/* Der undersøges om der skal udskrives et &#8221;næste side&#8221;-link, er dette tilfældet udskrives linket */
if ($vis_fra < $antal - $pr_side) {
$next = $vis_fra + $pr_side;
echo " <a href='$_SERVER[PHP_SELF]?side=GB&visfra=$next'>Næste</a>";
}
?>

</div>


Der skal lige siges at der har jeg ikke tilføjet så at man SKAL udflylde navn og besked ;)
Avatar billede detox Nybegynder
20. marts 2005 - 19:36 #15
Du kan ændre denne stump:

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

?>

Navn: <? echo $myrow[1] ?>
<br>
<? echo "E-mail: <A HREF=\"mailto:$myrow[2]\">$myrow[2]</A>"; ?>
<br>
<? echo "WWW: <a href=\"$myrow[3]\" target=\"_Blank\">$myrow[3]</a>"; ?>
<br>
Besked: <? {


til:

while ($myrow = mysql_fetch_row($query)) {
echo "Navn: $myrow[1]<br />";
if ($myrow[2] != '') {
    echo "E-mail: <A HREF=\"mailto:$myrow[2]\">$myrow[2]</A><br />";
}
if ($myrow[3] != '') {
    echo "WWW: <a href=\"$myrow[3]\" target=\"_Blank\">$myrow[3]</a><br />";
}
?>
Besked: <? {
Avatar billede th1 Nybegynder
20. marts 2005 - 20:01 #16
takker detox  det virker men angående JavaScriptet så var det "Bromer" som kom med indledning så vil gerne også give ham point som dig så i deler  så hvis i vil lægge et svar så kan få jeres Point  :)
Avatar billede bromer Nybegynder
20. marts 2005 - 20:03 #17
takker
Avatar billede detox Nybegynder
20. marts 2005 - 20:20 #18
Velbekommen herfra :)
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