---
title: "Byta användarnamn en gång på 3 veckor"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/94106-byta-användarnamn-en-gång-på-3-veckor"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Melea"
published: "2004-01-06T19:11:59.000Z"
updated: "2004-05-21T14:18:18.000Z"
replies: 8
views: 397
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/94106-byta-användarnamn-en-gång-på-3-veckor"
---

# Byta användarnamn en gång på 3 veckor

## #1 — Melea, 2004-01-06T19:11Z

Hejsan wF!

Har ett litet problem där man ska kunna byta användarnamn en gång på 3 veckor. Alltså en sorts datediff sats som jämför datumet i databasen, alltså det datumet man ändrade användarnamn och dagens datum. Några förslag på hur detta ska lösas? :)

Tack på förhand.

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

## #2 — SPiN, 2004-01-06T19:15Z

Gör det direkt i en SQL-fråga. Jag gissar på att du använder MySQL. <http://www.mysql.com/doc/en/Date_calculations.html>

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

## #3 — Melea, 2004-01-06T19:21Z

Hm, skulle man inte kunna lösa det på något sånt här sätt?

```php
$datediff = date("Y-m-d H:i:s", date("U") - 20*60);

$SQL = mysql_query("SELECT * FROM members WHERE username_edit < '$datediff'") or die (mysql_error());
$objRS = mysql_fetch_array($SQL);
```

Fast detta markerar ju bara användarnamn som ändrade användarnamnet för 20 minuter sen, hur ändrar jag till 21 dagar?

Mvh

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

## #4 — GrodanBoll, 2004-01-07T09:10Z

```
$datediff = date("Y-m-d H:i:s", mktime(date("H"), date("i"), date("s"), date("m"), date("d")-21, date("Y"));
```

Otestad kod som borde fungera.?

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

## #5 — Melea, 2004-03-14T15:26Z

Nja funkar inte riktigt... ändrade den till

```php
$datediff = date("Y-m-d",mktime(0,0,0,date("m"),date("d")-21,date("Y")));
```

Men får ändå inte riktigt koll på det...

Om jag har en kolumn i databasen som är *date* och NULL om den är tom (tom är den om inte användarn ändrat användarnamn ngn gång).

Hur skriver jag nu If satsen, om jag bara vill visa formuläret där man byter användarnamn om den specifika användaren inte bytt användarnamn de senaste 3 veckorna? (mkt **användarnamn** :))

Tack på förhand

Mvh

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

## #6 — Melea, 2004-03-14T17:24Z

Jag löste det med följande:

```php
$datediff1 = date("m",mktime(0,0,0,date("n"),date("j")-21,date("Y")));

$datediff2 = substr($rs['username_edit'],5,2);

	if($datediff1 >= $datediff2) {
	
		echo "Du kan nu ändra ditt användarnamn";
	
	} else {

		echo "Icke sa nicke!";

	}
```

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

## #7 — Melea, 2004-05-21T11:52Z

Tänkte att det var onödigt och skapa en ny topic så jag fortsätter här.

Glöm koden ovanför, den funkade uppenbarligen inte.

Såhär ser den nuvarande koden ut iallafall

```php
$datum1 = Dagens datum - 21 dagar
$datum2 = Datumet i databasen sparat som DATETIME

    if($datum1 >= $datum2) {
    
        echo "Du kan nu ändra ditt användarnamn";
    
    } else {

        echo "Icke sa nicke!";

    }
```

Jag skrev date("Y-m-d H:i:s", date("j") - 21); men det funkade inge vidare. Hur skriver man? Kan någon förklara hur PHP:s datumfunktion funkar?
Aldrig fått pejl på det.

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

## #8 — lunne82, 2004-05-21T13:53Z

date("Y-m-d H:i:s", date("j") - 21)
Detta blir ju fel eftersom date("j") skulle idag validera till 21. Alltså, 21 - 21 = 0 som skulle ge detta:
date ( $format , 0)

Gör såhär:
$datum1 = Nu - 21 dagar
$datum2 = Från databasen. Datum för senaste ändringen. Hämta ut detta med UNIX_TIMESTAMP(). btw, varför NULL som default? Om du sätter "join date" istället för NULL kan du ju alltid kolla datum...

$secondsPerDay = (60 \* 60) \* 24;
$days = 21;
$datum1 = time() - ($secondsPerDay \* $days);

if ($datum1 \> $datum2) {
  echo "Byt!";
}else{
  echo "Byt inte!";
}

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

## #9 — Melea, 2004-05-21T14:18Z

Härligt, tack så mycket!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/94106-byta-användarnamn-en-gång-på-3-veckor
