webForumDet fria alternativet

Problem med inkludering av funktion

3 svar · 219 visningar · startad av lillebror

lillebrorMedlem sedan apr. 20041 597 inlägg
#1

Jag håller på och lär mig PHP och har nu skapat kod för att kommunicera med databasen samt stänga uppkopplingen mot densamma. För att (av erfarenhet) inte koden fort ska bli ostrukturerad och grötig tänkte jag på ett tidigt stadium dela upp koden i olika mindre funktioner. Nu verkar det vara lite småsaker som jag missar här just vid användandet av en funktion.

Huvudfilen login.php ser ut så här...

<html>
<head>
<title>test</title>
</head>
<body>

<?php

include "function.php";

$conn = opendb("server", "username", "password");

$database = mysql_select_db("name");

$username = $_POST['username'];
$password = $_POST['password'];

if(isset($_POST['username'])&&!empty($_POST['username'])) {
echo "<b>Inmatade uppgifter:</b><br>";
echo "Username: ".$username."<br>";
echo "Password: ".$password."<br><br>";
} else {
echo "Välkommen Guest!<br><br>";
}

$sql = mysql_query("SELECT username, userpassword FROM tblMember WHERE username = '$username' AND userpassword = '$password'") or die (mysql_error());
$result = mysql_query("$sql");

if (mysql_num_rows($sql) <> 0) {
   echo "<font color='#FF0000'>Du är inloggad!</font><br><br>";
   echo("self.location.replace(index.php')");
} else {
    echo "<font color='#FF0000'>Du loggades inte in!</font><br><br>";
}

?>

<?php

$sql = "SELECT * from tblMember";
$result = mysql_query("$sql");

echo "<b>Utdrag ur medlemsdatabasen:</b><br><br>";
echo "<table>";
echo "<tr><td bgcolor='grey' width='50px'>ID</td><td bgcolor='grey' width='200px'>Namn</td></tr>";
while($rad = mysql_fetch_array($result)) {
	echo "<tr>";
	echo "<td>".$rad[memberID]."</td><td>".$rad[firstname]."</td></tr>";
}
echo "</table>";

closedb($conn);

?>

<form action="login.php" method="POST">
Användarnamn: <input type="text" name="username"><br>
Lösenord: <input type="text" name="password"><br>
<input type="reset" value="Rensa">
<input type="submit" value="OK">
</form>

</body>
</html>

Nedan är filen function.php där jag lagrar mina olika funktioner...

<?
function opendb($server, $user, $pword) {
	$conn = @mysql_connect($server, $user, $pword)
		or die("Databaskopplingen EJ initierad!");
	print("<b>Databaskopplingen ansluten!</b><br><br>");
	return $conn;
}

function closedb($conn) {
	mysql_close($conn)
?>

Följande felmeddelande får jag:

"Parse error: parse error, unexpected $ in /SÖKVÄG/function.php on line 17"

Några idéer vad som är fel...jag fattar att php-kompilatorn har hittat ett $ som kanske inte ska vara där men jag har inte lyckats lösa det trots det :)

tydalMedlem sedan juni 20034 013 inlägg
#2

Du saknar semikolon efter mysql_close($conn) och du saknar } för att markera att funktionen är slut.

lillebrorMedlem sedan apr. 20041 597 inlägg
#3

Pinsamt enkelt! Herregud...jag måste verkligen bli bättre på att korrekturläsa men jag kollade verkligen igenom koden men kunde inte hitta vad felet var. Gissar att man blir lite "ordblind" efter ett tag :e

Tack för hjälpen!

lillebrorMedlem sedan apr. 20041 597 inlägg
#4

Sorry...glömde acceptera svaret :)

128 ms totalt · 3 externa anrop · v20260731065814-full.102f7fcd
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)