webForumDet fria alternativet

Vad är det för fel?

PHPur PHP

18 svar · 613 visningar · startad av septor

Medlem sedan nov. 2003208 inlägg
Frågan#1

Är det något som kan hjälpa mig med detta?

Kolla på denna länk: http://www.phpsidan.nu/?page=read&id=4849

Tack på förhand!

Medlem sedan mars 2003429 inlägg
#2

Varför inte bara vänta på svar på det forumet?

Medlem sedan juni 20006 032 inlägg
#3

Posta koden så kanske vi kan hjälpa dig.

Medlem sedan nov. 2002302 inlägg
#4

borde du inte action="index.php" i koden för formuläret?

Medlem sedan nov. 2003208 inlägg
#5

Detta är koden i index.php

<link href="style.css" rel="stylesheet" type="text/css">
<?
include("variablar.php");
$conn = mysql_connect("$server", "$user", "$pass");
mysql_select_db($databas);

if (isset($_GET['post'])) {
$tebaka = "<a href=\"javascript:history.back()\">Tillbaka</a>";
$datum = date("Y-m-d H:i");
if(empty($namn)) {
echo"<b>Var vänlig skriv i ditt namn.</b><br><br>$tebaka";
} elseif(empty($epost)) {
echo"<b>Var vänlig skriv din e-post adress.</b><br><br>$tebaka";
} elseif(empty($text)) {
echo"<b>Var vänlig skriv ett meddelande.</b><br><br>$tebaka";
} else {
mysql_query("INSERT INTO meddelande (datum,namn,epost,hemsida,text)
VALUES('$datum', '$namn', '$epost', '$hemsida', '$text')") or exit(mysql_error());
echo "Tack för meddelandet, invänta nu svar från webmastern!<br><a href=\"index.php\">Tillbaka</a>";
}
} else {
echo "Alla fält som är markerade med en <font color=\"red\">*</font> måste fyllas i!";
echo "<form name=\"mess\" action=\"./?post=now\" method=\"post\">";
echo "Namn: <font color=\"red\">*</font><br><input name=\"namn\" type=\"text\"><br>";
echo "Epost: <font color=\"red\">*</font><br><input name=\"epost\" type=\"text\"><br>";
echo "Hemsida:<br><input name=\"hemsida\" type=\"text\"><br>";
echo "Text: <font color=\"red\">*</font><br><textarea name=\"text\" rows=\"10\" cols=\"40\"></textarea><br>";
echo "<input type=\"submit\" value=\"Skicka\"></form>";
}
mysql_close($conn);
?>

Medlem sedan nov. 2003208 inlägg
#6

Har nu skrivit action="index.php"
Men det fungerar fortfarande inte.
Den går visserligen till en sida, men där står det "Skriv ditt Namn" och en länk tillbaka.

Medlem sedan juni 20001 521 inlägg
#7

Det är precis det som ska hända om du inte har skrivit i ditt namn. Har du register_globals satt till off?
Då får du lägga till följande kod i början av sidan

<?
$namn = $_POST['namn'];
$epost = $_POST["epost"];
$text = $_POST["text"];
$hemsida = $_POST["hemsida"];
?>
Medlem sedan nov. 2003208 inlägg
#8

Om register_globals satt till off, ingen aning!
Kör på 1go.dk.

Men ska prova att lägga till koden när jag kommer hem.

Medlem sedan juni 20006 032 inlägg
#9

septor skrev:

Om register_globals satt till off, ingen aning!

Skapa en ny fil med enbart koden

<?php
phpinfo();
?>

ladda upp den på servern och gå till den med din webbläsare. Då ser du all information om inställningarna på servern.
Leta upp Register_globals under Configuration, där ser du om det är On eller Off.

Medlem sedan nov. 2003208 inlägg
#10

Den var satt till off!

Medlem sedan juni 20006 032 inlägg
#11

Då måste du göra som Gislaved.net skrev.

Kom ihåg i andra skript som du skriver/laddar ner att variablarna måste vara $_GET['värde'] och $_POST['värde'] för att det ska fungera.

Medlem sedan nov. 2003208 inlägg
#12

La in:

<?
$namn = $_POST['namn'];
$epost = $_POST["epost"];
$text = $_POST["text"];
$hemsida = $_POST["hemsida"];
?>

Fick det att fungera hemma, men inte på 1go.dk.
Den går till en sida som säger "Skriv ditt Namn" och en länk tillbaka.

Medlem sedan juni 20006 032 inlägg
#13

Ser inget fel, men du kan ju testa att ändra

 if(empty($namn)) {

till

 if (empty($_POST['namn']))  {

o.s.v bara för att testa.

Medlem sedan dec. 1999757 inlägg
#14

[r]
Skippar ändringarna och skickar med hela istället.

Detta fungerar på min server

<?php
include("variablar.php"); 
$conn = mysql_connect("$server", "$user", "$pass"); 
mysql_select_db($databas);

if (isset($_POST['post']) AND $_POST['post'] == 'now') {
	$tebaka = "<a href=\"javascript:history.back()\">Tillbaka</a>";
	$datum = date("Y-m-d H:i");
	if (empty($_POST['namn'])) {
		echo "<b>Var vänlig skriv i ditt namn.</b><br><br>$tebaka";
	} elseif (empty($_POST['epost'])) {
		echo "<b>Var vänlig skriv din e-post adress.</b><br><br>$tebaka";
	} elseif (empty($_POST['text'])) {
		echo "<b>Var vänlig skriv ett meddelande.</b><br><br>$tebaka";
	} else {
		mysql_query("INSERT INTO meddelande 
				(datum,namn,epost,hemsida,text) 
				VALUES 
				('$datum','" . addslashes($_POST['namn']) . "','" . addslashes($_POST['epost']) . "','" . addslashes($_POST['hemsida']) . "','" . addslashes($_POST['text']) . "')") or exit(mysql_error());
		echo "Tack för meddelandet, invänta nu svar från webmastern!<br><a href=\"" . $_SERVER['PHP_SELF'] . "\">Tillbaka</a>";
	}
} else {
	echo "Alla fält som är markerade med en <font color=\"red\">*</font> måste fyllas i!";
	echo "<form name=\"mess\" action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\">";
	echo "<input name=\"post\" type=\"hidden\" value=\"now\">";
	echo "Namn: <font color=\"red\">*</font><br><input name=\"namn\" type=\"text\"><br>";
	echo "Epost: <font color=\"red\">*</font><br><input name=\"epost\" type=\"text\"><br>";
	echo "Hemsida:<br><input name=\"hemsida\" type=\"text\"><br>";
	echo "Text: <font color=\"red\">*</font><br><textarea name=\"text\" rows=\"10\" cols=\"40\"></textarea><br>";
	echo "<input type=\"submit\" value=\"Skicka\"></form>";
}
mysql_close($conn);
?>

Glöm inte tabort mellanslaget i javascript på raden

$tebaka = "<a href=\"javascript:history.back()\">Tillbaka</a>";
Medlem sedan nov. 2003208 inlägg
#15

kjell: Tack! Det fungerade perfekt.

Nu så återstår bara ett problem, när jag skickar formuläret så fungerar det inte i pagingen.

Vad ska jag skriva till?

Här så kommer koden på index.php i rooten:

<html>
<head>
<title>Testsida</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#CCCCCC" background="/bakgrund.gif">
<div align="center">
  <p><br>
  </p>
  <p>&nbsp;</p>
  <p>&nbsp; </p>
  </div>
<table width="645" border="1" align="center" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF">
  <!--DWLayoutTable-->
  <tr> 
    <td width="645" height="35" valign="top"><table width="645" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr> 
          <td height="73" colspan="2" valign="top"><a href="index.php"><img src="/mia/logo.gif" width="645" height="73" border="0"></a></td>
        </tr>
        <tr bordercolor="#CCCCCC" bgcolor="#990000"> 
          <td height="24" colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
        </tr>
        <tr> 
          <td width="118" height="129" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr bgcolor="#CC0000"> 
                <td height="19" colspan="2" valign="top" nowrap bordercolor="#CCCCCC"><font face="Haettenschweiler">&nbsp;</font><font color="#FFFFFF" size="1" face="Haettenschweiler"> 
                  <?PHP
	$dagen = array('Söndag', 'Måndag', 'Tisdag', 'Onsdag', 'Torsdag',	
                       'Fredag', 'Lördag');
	$dagens_datum = date("w");						//Dagen
	$datum = date("d/M-y");							//Datumet
	$time = date ("H:i:s");							//Klockan
    echo "$dagen[$dagens_datum] $datum Klockan $time"; 			//Skriver ut Dag, Datum, Tid.
    ?>
                  </font></td>
              </tr>
              <tr bgcolor="#FFFFFF"> 
                <td width="10" rowspan="5" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td width="108" height="18" valign="top"><font size="2" face="Haettenschweiler">&gt;&gt;<strong>MENY</strong></font></td>
              </tr>
              <tr> 
                <td height="20" valign="top" bgcolor="#FFFFFF"><font color="#6699CC" size="2" face="Haettenschweiler"> 
                  &gt;&gt;<a href="index.php?page=info">Info</a></font></td>
              </tr>
              <tr> 
                <td height="17" valign="top" bgcolor="#FFFFFF"><font color="#6699CC" size="2" face="Haettenschweiler"> 
                  &gt;&gt;<a href="index.php?page=#">Galleri</a></font></td>
              </tr>
              <tr> 
                <td height="17" valign="top" bgcolor="#FFFFFF"><font color="#6699CC" size="2" face="Haettenschweiler"> 
                  &gt;<a href="index.php?page=kontakt">&gt;Kontakt</a></font></td>
              </tr>
              <tr> 
                <td height="19" valign="top" bgcolor="#FFFFFF"><font color="#6699CC" size="2" face="Haettenschweiler"> 
                  &gt;&gt;<a href="index.php?page=gastbok">G&auml;stbok</a></font></td>
              </tr>
              <tr bgcolor="#FFFFFF"> 
                <td height="19" nowrap></td>
                <td></td>
              </tr>
            </table></td>
          <td width="527" rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
              <!--DWLayoutTable-->
              <tr bordercolor="#CCCCCC" bgcolor="#CC0000"> 
                <td width="9" height="19" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td width="502" valign="top" bgcolor="#CC0000"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
              </tr>
              <tr bordercolor="#CCCCCC" bgcolor="#FFFFFF"> 
                <td height="351" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td valign="top"> 
                  <?PHP
if ((isset($_GET['page']) && ($_GET['page'])=="info")) {
include ('pages/info.php'); 
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="galleri")) {
include ('pages/galleri.php'); 
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="kontakt")) {
include ('pages/kontakt.php'); 
}
elseif ((isset($_GET['page']) && ($_GET['page'])=="gastbok")) {
include ('gastbok/index.php'); 
}
?>
                  <br> </td>
                <td width="9">&nbsp;</td>
                <td width="1" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
              </tr>
              <tr bordercolor="#CCCCCC" bgcolor="#FFFFFF"> 
                <td height="19" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
                <td colspan="2" valign="top"><!--DWLayoutEmptyCell-->&nbsp;</td>
              </tr>
            </table></td>
        </tr>
        <tr> 
          <td height="260">&nbsp;</td>
        </tr>
        <tr bgcolor="#FFFFFF"> 
          <td height="24">&nbsp;</td>
          <td>&nbsp;</td>
        </tr>
      </table></td>
  </tr>
  <tr> 
    <td height="32" valign="top" background="/ruta.gif"><!--DWLayoutEmptyCell-->&nbsp;</td>
  </tr>
</table>
</body>
</html>
Medlem sedan dec. 1999757 inlägg
#16

Vad menar du med pagingen? Hamnar du inte på samma sida efter att formuläret är skickat (om det nu är dit man ska).
Använder du includes kan du prova att plocka bort $_SERVER['PHP_SELF'] från raden

echo "<form name=\"mess\" action=\"" . $_SERVER['PHP_SELF'] . "\" method=\"post\">";

alltså

echo "<form name=\"mess\" action=\"\" method=\"post\">";

så borde servern sköta om att du går tillbaka till sidan som includerar formuläret.

Jag kan ha missuppfattat hur du menar och då får du ge en närmare förklaring :)

Medlem sedan nov. 2003208 inlägg
#17

kjell: Tack det löste problemet, fungerar nu som det ska!

Sista lilla för att det ska bli perfekt är att den ska inkludera css filen riktigt.

Om jag går till den riktiga urlen (https://www.sidan.com/gastbok/) så ser det ut som det ska, men om jag går vi root sidan (https://www.sidan.com) och sedan till gästbok så har den bara fått med typsnittet inte färgen som ska vara i formulär rutorna.

Medlem sedan dec. 1999757 inlägg
#18

I första raden i den kod du postade tidigare finns

<link href="style.css" rel="stylesheet" type="text/css">

Se till att den utgår från webbroten med inledande /
<link href="/style.css" rel="stylesheet" type="text/css">
eller
<link href="/EnMapp/style.css" rel="stylesheet" type="text/css">
där du anger mappstrukturen till css-filen.

Medlem sedan nov. 2003208 inlägg
#19

Tackar! Missade biten med mappen/stylesheet.css på index sidan.

150 ms totalt · 3 externa anrop · v20260731065814-full.25f56b17
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
148 ms — hämta tråd, inlägg och bilagor (db)