---
title: "Kört fast - nån som ser varför inget händer?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/152226-kört-fast-nån-som-ser-varför-inget-händer"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "tovelainen"
published: "2006-10-07T19:00:32.000Z"
updated: "2006-10-08T17:00:03.000Z"
replies: 16
views: 925
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/152226-kört-fast-nån-som-ser-varför-inget-händer"
---

# Kört fast - nån som ser varför inget händer?

## #1 — tovelainen, 2006-10-07T19:00Z

Hej
jag sitter o drar mig i håret:

Nån som kan se i koden vad som är fel?

Har en vanlig lösenords-input, som vid post skickar lösenordet till scriptet nedan.
Men vare jag skriver ett rätt lösenord eller fel, så skickas jag tillbaka till inloggningssidan, dvs får inte upp message i slutet.

```
<?

if(!$_POST[user]){
	header("Location:http://www.grundsida.se/login.php");
	exit;
	}

	$db_name="foretag";
	$table_name="auth_users";

	$connection=@mysql_connect("localhost","blalba","blabal")or die(mysql_error());

	$db=@mysql_select_db($db_name, $connection)or die(mysql_error());

	$sql="SELECT * FROM $table_name WHERE user = '$POST[user]'";

	$result=@mysql_query($sql,$connection) or die(mysql_error());

	$num=mysql_num_rows($result);

	if ($num !=0){
		$msg="<p>Welcome!</p>";
	}
	else{
		header("Location:http://www.grundsida.se/login.php");
		exit;
	}
	?>
	<html>
	<head>
	<title>Log in</title>
	</head>
	<body>
	<? echo "$msg"; ?>
	</body>
	</html>
```

Dvs varför får jag aldrig Welcome-meddelandet ens när löseordet överensstämmer med det som finns i databasen?

Nån fatta?

Tack
  :bire

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

## #2 — Pedda, 2006-10-07T20:00Z

Blir det nån skillnad om du ändrar
$\_POST\[user\]
till
$\_POST\['user'\]

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

## #3 — tovelainen, 2006-10-07T21:14Z

Tack Pedda 
nej tyvärr. Ingen förändring.
Det kan ju va databasen också... suck

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

## #4 — Peter S, 2006-10-07T21:24Z

Är det i if-satsen du skickas tillbaka? Vad ger

```php
echo $_POST['user'];
```

?

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

## #5 — Pedda, 2006-10-07T22:09Z

ändra
$sql="SELECT \* FROM $table_name WHERE user = '$POST\[user\]'";
till
$sql="SELECT \* FROM $table_name WHERE user = '".$\_POST\['user'\]."'";

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

## #6 — Peeer, 2006-10-07T22:12Z

Du kan ju prova att lägga till något litet prefix i slutet på dina redirects för att se vilken av dem som skickar tillbaka besökaren.

```php
//Dvs ändra den första till ex.
header("Location:http://www.grundsida.se/login.php?1");
//och den andra till 
header("Location:http://www.grundsida.se/login.php?2");
```

. På så sätt kan du se ungefär var felet ligger.

Personligen gissar jag på att du glömt att ange method="post" i formuläret. :)

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

## #7 — tovelainen, 2006-10-08T10:53Z

Tack för förslag!! :-)
Men tyvärr. Inget funkar.
Skulle tro, ja, att det är i if-satsen nåt går fel men vad fattar jag inte.
Hur jag än gör så är det else-satsen som kör igång.

Eller är det ändå nåt här:
$sql="SELECT \* FROM $table_name WHERE user='$POST\[user\]'";

Jo det är method=post i formuläret.
Fler förslag? Vore toppen.

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

## #8 — fiddler, 2006-10-08T11:08Z

Testa:

```php
$sql="SELECT * FROM $table_name WHERE user='".$POST[user]."'";
```

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

## #9 — tovelainen, 2006-10-08T12:08Z

Tack Fiddler
Nä tyvärr ingen skillnad.
Vad betyder punkterna?
Varför tänkte du som du tänkte? Nyfiken!

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

## #10 — tovelainen, 2006-10-08T12:11Z

Såhär ser den här raden ut:
$sql="SELECT \* FROM $table_name WHERE user='$POST\[user\]'";

Såhär ser det ut i formuläret:

\<form action="anv_koll.php" method="post"\>
		\<input type="text" name="user"\>

Och det verkar som att formuläret inte bär med sig användarnamnet till scriptet.

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

## #11 — Pedda, 2006-10-08T12:27Z

Kontrollera om variabeln är satt med funktionen isset()

```php
if(isset($_POST[user])) {
        // in i databasen mm...
} else {
        // inget värde från formuläret, skicka tillbaka....
        header("Location:http://www.grundsida.se/login.php");
	exit;
}
```

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

## #12 — fiddler, 2006-10-08T12:28Z

Har du testat Peter S förslag att skriva ut vad du har i $\_POST\['user'\]?
I mitt förslag hade jag glömt enkelfnuttar runt user, men det kanske inte gör någon skillnad...
Punkterna klistrar ihop två strängar.

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

## #13 — emission, 2006-10-08T12:28Z

När sådant här strular bör man starta om IE (om man kör det) mellan försökern, eftersom den kan få för sig att cacha lite väl mycket.

$POST\[user\] ska definitivt vara $POST\['user'\] och if(!$\_POST\[user\]) kan du göra lite tydligare med 

```php
if(!isset($_POST['user'])
```

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

## #14 — fiddler, 2006-10-08T12:32Z

Ser nu att du glömt strecket i $\_POST\['user'\].

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

## #15 — tovelainen, 2006-10-08T13:08Z

Fiddler!!!
Tack!
Det var streck-helv&¤¤##¤¤##etet.

Tack för all hjälp!
/TOve

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

## #16 — fiddler, 2006-10-08T14:29Z

Där ser man! ;)

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

## #17 — Pedda, 2006-10-08T17:00Z

> **tovelainen skrev:**
>
> Fiddler!!!
> Tack!
> Det var streck-helv&¤¤##¤¤##etet.
> 
> Tack för all hjälp!
> /TOve

Men ändrade du inte det förut när jag föreslog den förändringen, eller märkte du inte det. ;) :)
<http://www.webforum.nu/showthread.php?p=1240309#post1240309>

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

---

Tråden på webben: https://www.webforum.nu/amne/php/152226-kört-fast-nån-som-ser-varför-inget-händer
