---
title: "vad är fel?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/135184-vad-är-fel"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "FunTrix"
published: "2005-10-03T15:37:23.000Z"
updated: "2005-10-03T16:10:41.000Z"
replies: 14
views: 372
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/135184-vad-är-fel"
---

# vad är fel?

## #1 — FunTrix, 2005-10-03T15:37Z

tja... 
någon som hittar felet i phpkoden nedan...
får nämlingen upp följande fel... 
Parse error: syntax error, unexpected '{' in d:\\webhosting\\upload\\options\\index.php on line 110 
rad 110 är denna: If(($\_POST\['newpass'\] == $\_POST\['newpass2'\]) && ($\_POST\['oldpass'\] == $oldpass){

skickar med hela phpkoden ifall att det hjälper, tror nämligen att det möjligtvis kan finnas fler fel i koden så vore schysst om ni kolla igenom den...

```php
<?php
session_start(); // Alltid överst på sidan
 
// Kolla om inloggad = sessionen satt
if (!isset($_SESSION['sess_user'])) {
   header("Location: ../index.php");
   exit;
}
// ta fram user information.
$user = $_SESSION['sess_user'];
 
include "../conn.php"; // Databasanslutningen
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
 
<body>
<p><span class="style6">
  <?
$pass   = md5($_POST['pass']);   
$sql = "SELECT * FROM `uploadmembers` WHERE user='{$user}'";
$result = mysql_query($sql) or die(mysql_error());
 
if (mysql_num_rows($result) == 0){
while ($variable = mysql_fetch_array($result)){
   $oldpass = $variable['pass'];
}} else {
   $error = 1;
}
 
If(($_POST['newpass'] == $_POST['newpass2']) && ($_POST['oldpass'] == $oldpass){
   $sql = "UPDATE uploadmembers SET pass='{$pass}' WHERE user='{$user}'";
   $result = mysql_query($sql) or die(mysql_error());
   $error = 0;
} else {
   If ($_POST['newpass'] <> $_POST['newpass2']) {
     $error = 2;
   }
   If ($_POST['oldpass'] <> $oldpass) {
     $error = 3;
   }
}
 
switch($error){
  case 0:
    $echo 'L&ouml;senordet har bytts.';
    break;
  case 1:
    $echo 'Du f&ouml;rs&ouml;ker exploita systemet och ladda upp med n&aring;gon annans anv&auml;ndare, fy sk&auml;ms.';
    break;
  case 2:
    $echo 'Ditt nya l&ouml;senord &ouml;verst&auml;mmer inte med varandra.';
    break;
  case 3:
    $echo 'Ditt gamla l&ouml;senord som du angett &auml;r fel';
   break;
}
 
?>
</span> </p>
<form name="form1" method="post" action="index.php">
  <table width="61%"  border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td>Byt l&ouml;senord </td>
    </tr>
    <tr>
      <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td><br>
            Ditt gamla l&ouml;senord: <br>
            <input name="oldpass" type="password" id="oldpass"></td>
        </tr>
        <tr>
          <td>Ditt nya l&ouml;senord: </td>
        </tr>
        <tr>
          <td><input name="newpass1" type="text" id="newpass1"></td>
        </tr>
        <tr>
          <td>Ditt nya l&ouml;senord igen: <br>
                <input name="newpass2" type="text" id="newpass2"></td>
        </tr>
        <tr>
          <td><input type="submit" name="Submit" value="Byt l&ouml;senord"></td>
        </tr>
      </table></td>
    </tr>
  </table>
</form>
</body>
</html>
```

Permalänk: https://www.webforum.nu/p/135184

## #2 — Melea, 2005-10-03T15:42Z

Precis som koden skriver finns det en } för mycket

```php
while ($variable = mysql_fetch_array($result)){
   $oldpass = $variable['pass'];
}} else { // HÄR!
   $error = 1;
}
```

Permalänk: https://www.webforum.nu/p/1680964

## #3 — Melea, 2005-10-03T15:48Z

Såg nu att det även här står fel

```php
If($_POST['newpass'] == $_POST['newpass2'] && $_POST['oldpass'] == $oldpass){
```

Permalänk: https://www.webforum.nu/p/1680965

## #4 — Pedda, 2005-10-03T15:52Z

Och på raden du får felmeddelande så saknas en )
Ska vara:

```php
If(($_POST['newpass'] == $_POST['newpass2']) && ($_POST['oldpass'] == $oldpass)) {
```

Permalänk: https://www.webforum.nu/p/1680970

## #5 — FunTrix, 2005-10-03T15:53Z

får då upp Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in d:\\webhosting\\upload\\options\\index.php on line 125

i switchen här:
$echo 'Lösenordet har bytts.';

Permalänk: https://www.webforum.nu/p/1680972

## #6 — Pedda, 2005-10-03T15:56Z

Varför har du $ framför echo?

Permalänk: https://www.webforum.nu/p/1680975

## #7 — FunTrix, 2005-10-03T15:57Z

här kommer hela switchen:

```php
switch($error){
  case 0:
    $echo 'Lösenordet har bytts.';
    break;
  case 1:
    $echo 'Du försöker exploita systemet och ladda upp med någon annans användare, fy skäms.';
    break;
  case 2:
    $echo 'Ditt nya lösenord överstämmer inte med varandra.';
    break;
  case 3:
    $echo 'Ditt gamla lösenord som du angett är fel';
   break;
}
```

Permalänk: https://www.webforum.nu/p/1680976

## #8 — Pedda, 2005-10-03T15:59Z

red/ glöm detta om du läste det, det var jag som läste din kod fel ;)

Permalänk: https://www.webforum.nu/p/1680977

## #9 — Pedda, 2005-10-03T16:03Z

> **Melea skrev:**
>
> Precis som koden skriver finns det en } för mycket
>
> ```php
> while ($variable = mysql_fetch_array($result)){
>    $oldpass = $variable['pass'];
> }} else { // HÄR!
>    $error = 1;
> }
> ```

Nej, den andra hakparentesen tillhör ju if-satsen, så den ska vara kvar.

Permalänk: https://www.webforum.nu/p/1680981

## #10 — FunTrix, 2005-10-03T16:03Z

hehe, okej... men han inte läsa vad du hade skrivit...

Permalänk: https://www.webforum.nu/p/1680982

## #11 — Pedda, 2005-10-03T16:05Z

> **FunTrix skrev:**
>
> här kommer hela switchen:

Ta bort $ framför dina echo i switchen, annars gör du ju en varibel av echo.

Permalänk: https://www.webforum.nu/p/1680984

## #12 — FunTrix, 2005-10-03T16:06Z

men även om jag låter hakparantesen vara kvar så har jag fortfarande felet på rad 125 i switchen med bytt lösenord.

Permalänk: https://www.webforum.nu/p/1680986

## #13 — Pedda, 2005-10-03T16:09Z

> **FunTrix skrev:**
>
> hehe, okej... men han inte läsa vad du hade skrivit...

Jag läste lika fel som Melea.
Du bör nog skriva din kod lite tydligar, så är den lättare att läsa, även för dig själv.
t.ex

```php
if (mysql_num_rows($result) == 0) {
	while ($variable = mysql_fetch_array($result)) {
   		$oldpass = $variable['pass'];
	}
} else {
   	$error = 1;
}
```

Permalänk: https://www.webforum.nu/p/1680987

## #14 — FunTrix, 2005-10-03T16:10Z

tack... tror att det ska fungera nu.. .ska bara fixa lite med några sessioner först, nu får jag inga error på sidan iaf :)

Permalänk: https://www.webforum.nu/p/1680988

## #15 — Pedda, 2005-10-03T16:10Z

> **FunTrix skrev:**
>
> men även om jag låter hakparantesen vara kvar så har jag fortfarande felet på rad 125 i switchen med bytt lösenord.

Har du tagit bort dollartecknet framför echo?

Permalänk: https://www.webforum.nu/p/1680990

---

Tråden på webben: https://www.webforum.nu/amne/php/135184-vad-är-fel
