---
title: "Ta bort filer? (ftp) Signatur? (forum)"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/108244-ta-bort-filer-ftp-signatur-forum"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Kenchu"
published: "2004-07-30T17:34:51.000Z"
updated: "2004-08-02T14:22:38.000Z"
replies: 18
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/108244-ta-bort-filer-ftp-signatur-forum"
---

# Ta bort filer? (ftp) Signatur? (forum)

## #1 — Kenchu, 2004-07-30T17:34Z

Tjo!

**Problem 1** 

Right, håller på med ett litet forum, har gjort några FTP-skript, så att man kan ladda upp tex en avatar till en server. Men jag vill ju även att användaren skall kunna ta bort sin avatar för att kunna ersätta den med en annan. (Istället för att ladda upp ännu en bild och ta upp ännu mer plats.)

**Problem 2** 

Jag hade tänkt ha en signaturfunktion på forumet. Först hade jag tänkt mig att signaturen lades in i varje post, men tänkte sedan att det kanske vore bättre om man helt enkelt frågade databasen efter användarnas signaturer varje gång man besökte ett inlägg. Dock, jag vet inte hur jag skall läsa detta på ett bra sätt. Om jag skulle ha gjort något sådant där, skulle det se ut såhär:

```php
$result = mysql_query ("SELECT blah blah FROM blah blah LIMIT blah blah");

while ($line = mysql_fetch_array($result)) {
echo  blah blah $line["name"] blah blah $line["date"] blah blah $line["text"];

$result2 = mysql_query("SELECT signatur FROM members WHERE members = '{$line["name"]}'");

while ($line2 = mysql_fetch_array($result2)) {
echo $line2["signatur"];
}

// Måste man göra en while-sats varje gång man vill skriva ut något?

}
```

 

Som ni ser har jag en mysql-sats i varje inlägg - något man kanske helst vill undvika. Kan man göra åstadkomma samma sak fast på annat sätt, att signaturen ritas ut utan att man lägger in den tillsammans med varje post?

Tackasam för svar.

Hoppas ni har en skön sommar förresten! :)

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

## #2 — Melea, 2004-07-30T17:38Z

**Problem 1**

Du kan använda dig av funktionen [unlink()](http://se.php.net/manual/en/function.unlink.php)

**Problem 2**

```php
$result = mysql_query ("SELECT blah blah FROM blah blah LIMIT blah blah");

while ($line = mysql_fetch_array($result)) {
echo  blah blah $line["name"] blah blah $line["date"] blah blah $line["text"];

$result2 = mysql_query("SELECT signatur FROM members WHERE members = '{$line["name"]}'");
$line2 = mysql_fetch_array($result2);

echo $line2["signatur"];

// Måste man göra en while-sats varje gång man vill skriva ut något?

}
```

Ett tips är dock att spara användarID:et i databasen istället för namnet och sedan jämföra WHERE userID = $line\[userID\], då blir det automatiskt unikt.

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

## #3 — Kenchu, 2004-07-30T18:30Z

Melea,
tack för ditt svar! Dock, fortfarande är det en MYSQL-sats i varje inlägg. Det blir så slött! Kan man inte på något sätt välja alla signaturer i en endaste en MYSQL-Sats, och sedan rita ut dem tillsammans med rätt användare?

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

## #4 — Matte, 2004-07-30T18:45Z

Du kan använda en JOIN, t.ex:

```
SELECT b.date, b.text, m.members
FROM blah b
INNER JOIN members m ON b.name = m.members
LIMIT 0,10
```

Sedan måste jag hålla med melea om att du bör använda id från members-tabellen för att relatera användaren till blah-tabellen istället.

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

## #5 — Melea, 2004-07-31T06:01Z

Självklart ska du använda join. :)
Men vore det inte bättre att använda left-join? Jag menar, \_om\_ användarID:et av någon anledning inte sparades i databasen så skrivs ju inte någonting alls ut.

```
SELECT b.date, b.text, m.members
FROM b
LEFT JOIN m
ON b.name = m.members
LIMIT 0,10
```

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

## #6 — Matte, 2004-07-31T08:54Z

Jag förutsätter att man måste vara inloggad för att skriva i forumet, och då sparas användarid ner. Finns inte användarid ska det heller inte gå att spara i forumet.
Därav INNER JOIN.

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

## #7 — Melea, 2004-07-31T11:38Z

Jo, jag tänkte bara att om man skriver en lång artikel så hinner t.ex. den session som har sparat användarID:et försvinna.
Men visst, det blir ju samma resultat. :)

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

## #8 — Matte, 2004-07-31T11:44Z

Finns inte sessionen ska koden vara sådan att det heller inte går att spara :)

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

## #9 — Melea, 2004-07-31T11:47Z

Om sessionen inte innehåller något värde och man har typen INT i databasen, blir det då inte automatiskt 0 :q

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

## #10 — Matte, 2004-07-31T11:51Z

Om man har krav på att man måste vara inloggad för att kunna spara, bör man ha en inloggningskontroll innan man kör koden som sparar till databasen.
Har man då ingen sessionsvariabel ska koden som sparar till databasen överhuvudtaget inte köras.
Problemet ska med andra ord aldrig uppkomma.

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

## #11 — Melea, 2004-07-31T11:56Z

Aha, du tänker så! :)
Jag brukar av vana bara köra inloggningskontroll på den sidan som formuläret är på.

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

## #12 — Matte, 2004-07-31T12:41Z

Så tänker jag :)

För min del är det helt självklart att lägga inloggningskontroll före man kör kod som kräver att man är inloggad.

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

## #13 — Melea, 2004-07-31T14:55Z

Jo, jag ska tänka på det i fortsättningen. :)

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

## #14 — Kenchu, 2004-07-31T23:22Z

Wo, JOIN, något nytt för mig. O_o Får läsa på det. Återkommer...

Tack för alla era svar!

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

## #15 — Kenchu, 2004-08-01T10:29Z

Okay, har läst lite på mysql.com om JOIN, och jag fattar absolut ingenting. Eller jovisst, man fattar väl ett och annat, men det hela är alldeles för oklart för att jag skall kunna använda det. Finns det ingen sida som förklarar JOIN på ett utförligt och förståligt sätt?

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

## #16 — Matte, 2004-08-01T10:46Z

Vet inte om det här kan vara till hjälp: <http://sqlcourse2.com/joins.html>

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

## #17 — Melea, 2004-08-01T10:54Z

Eller <http://www.w3schools.com/sql/sql_join.asp> :p  ;)

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

## #18 — Kenchu, 2004-08-02T13:38Z

Tänkte bara visa hur det gick. :) (Fungerade på första försöket O_o.)

```php

<?php

include "functions.php";

open(dfa);

$result = mysql_query("
		SELECT forum.text, forum.wid, forum.tid, forum.date, forum.mid, members.mid, members.name, members.sign
		FROM forum
		INNER JOIN members
		ON forum.mid = members.mid
		WHERE forum.tid = '{$_GET["tid"]}' OR forum.wid = '{$_GET["tid"]}'");
		
while ($row = mysql_fetch_array($result)) {
	echo $row["name"]. " ". normalize($row["date"]). " ". $row["text"];
}

free($result);
close($connection);

?>

// functions.php

<?php

function normalize($date) {
	$date = date("y/m/d D H:i", strtotime($date));
	
	return $date;
}

//***************************************************
//***************************************************

function open($db) {
	$connection = mysql_connect("localhost", "", "");
	if($connection) {
		mysql_select_db($db);
	}
	return $connection;
}

//***************************************************
//***************************************************

function close($connection) {
	if($connection) {
		mysql_close($connection);
	}
}

//***************************************************
//***************************************************

function free($result) {
	if ($result) {
		mysql_free_result($result);
	}
}

?>
```

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

## #19 — Matte, 2004-08-02T14:22Z

Du har dubbla *mid* i din SQL-fråga. Du måste sätta ett alias på det ena typ

```
... forum.mid AS fmid, members.mid AS mmid, ...
```

Du använder förresten inte wid, tid, mid eller sign, och då finns det inte heller någon anledning att ha med dom i SQL-frågan.
Men troligtvis är det så att du ska använda dom, men förenklade ditt exempel lite.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/108244-ta-bort-filer-ftp-signatur-forum
