---
title: "update funkar inte"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/120190-update-funkar-inte"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "mr.mainline"
published: "2005-01-15T16:22:00.000Z"
updated: "2005-01-18T21:43:08.000Z"
replies: 14
views: 462
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/120190-update-funkar-inte"
---

# update funkar inte

## #1 — mr.mainline, 2005-01-15T16:22Z

jag har en text på index sidan som jag vill kunna uppdatara,jag använder mysql, och koden funkar inte riktigt,jag får inga felmeddelamde,men när jag klicka på "Redigera texten" så kommer det tillbaka till samma text som jag hade innan, någon som kan hitta felet?.

```php
<form method="POST" action="uppdat.php">
<textarea name="maintext" cols="40" rows="20">
<?php
$conn = mysql_connect("localhost", "******", "******") or die("Kunde inte skapa koppling!");
			  mysql_select_db("******") or die("Kunde inte välja databas");

$hamta = "SELECT text FROM main";
$resultat = mysql_query($hamta) or die ("Kunde inte hämta info från db");

while($rad = mysql_fetch_array($resultat))
echo(  $rad["text"]   );

mysql_free_result($resultat);
?>
</textarea>
<br><br><input type="submit" value="Redigera texten">
</form>
<?
if(!empty($_POST['text']) and empty ($_POST['perform']))
{
$text = $_POST['text'];
$hamta = "SELECT * FROM main WHERE text = '$'text' " ;
$resultat = mysql_query($hamta) or die("Det gick inte att hämta info från db");
$rad=mysql_fetch_object($resultat);

echo ("<form method=POST action=uppdat.php>");
echo ("<input type=hidden name=text value=" . $rad->text . ">");
echo ("<input type=hidden name=perform value=uppdat>");
echo ("<input type=submit value=Redigera texten>");

mysql_free_result($resultat);
}
if(!empty($_POST['preform']))
{
$text = $_POST['text'];
$del = "UPDATE main SET text = '$text' ";
mysql_query($del) or die ("Kunde inte radera från databasen");
}
?>
```

Ni kan testa på <https://www.freddeholm.com/admin/uppdat.php>

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

## #2 — Pedda, 2005-01-15T16:43Z

Luskade igenom koden lite snabbt och fann att du i din kod har

```php
if(!empty($_POST['text']) and empty ($_POST['perform']))
```

 
Men i koden du har postat hittar jag inget i formuläret som heter text eller perform. Textfältet heter ju maintext t.ex.

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

## #3 — mr.mainline, 2005-01-15T17:17Z

Måste m,an använda hidden fält?? för att få det att funka?

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

## #4 — Pedda, 2005-01-15T22:07Z

Nej du behöver inte använda hidden fält.
Testa detta

```php
<?php
$conn = mysql_connect("localhost", "******", "******") or die("Kunde inte skapa koppling!");
mysql_select_db("******") or die("Kunde inte välja databas");

if (isset($_POST['redigera'])) {
	//Kolla så det finns text
	if (empty($_POST['maintext'])) {
		echo "Du måste fylla i en text";
	} else {
		//Här kör du din update då du lägger in i databasen
	}
} else {
?>
<form method="POST" action="9.php">
<textarea name="maintext" cols="40" rows="20">
<?php
// här hämtar du texten som ska kunna redigeras
?>
</textarea>
<br><br><input type="submit" name="redigera" value="Redigera texten">
</form>
<?php
}
?>
```

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

## #5 — mr.mainline, 2005-01-16T20:18Z

ok,ska testa det,tack,bara en fråga varför använder man hidden fält?? jag hittade det oxå i INTERNETWORLD tidningen.

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

## #6 — Pedda, 2005-01-17T09:07Z

Hidden fält använder du för att skicka med värden från ett formulär som användaren inte ska kunna ändra. Kan vara bra ibland att använda sig av, t ex om du vill skicka med ett usernamne, referer eller något annat.

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

## #7 — mr.mainline, 2005-01-17T16:49Z

ok,tack ska du ha Pedda.

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

## #8 — mr.mainline, 2005-01-18T17:53Z

får fortfarande inte rätt på det,så här ser koden ut nu.

```php
<?
$conn = mysql_connect("localhost", "******", "******") or die("Kunde inte skapa koppling!");
mysql_select_db("******") or die("Kunde inte välja databas");

if (isset($_POST['redigera'])) {
    //Kolla så det finns text
    if (empty($_POST['maintext'])) {
        echo "Du måste fylla i en text";
    } else {
	  //Här körs update då det läggs in i databasen
	  $del = "UPDATE main SET text = ['$text'],  WHERE id = 1  ";
	  echo ("Texten är nu uppdaterad");
	  mysql_query($del) or die("Det gick inte att uppdatara texten i main");	
		}
} else {
?>
<form method="POST" action="admin_hem.php">
<textarea name="maintext" cols="40" rows="20">
<?php
//  hämtar texten som ska redigeras
      $text = $_POST['text'];
      $hamta = "SELECT * FROM main ";
      $resultat = mysql_query($hamta) or die ("Det gick inte att hämta info från db");
       while ($rad = mysql_fetch_array($resultat))
       echo $rad['text'];
	   mysql_free_result($resultat);
	   mysql_close($conn);
?>
</textarea>
<br><br><input type="submit" name="redigera" value="Redigera texten">
</form>
<?php
}
?>
```

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

## #9 — LarsG, 2005-01-18T18:02Z

```
$del = "UPDATE main SET text = '" . $text ."'  WHERE id = 1";
mysql_query($del) or 
die("Det gick inte att uppdatara " . mysql_error());
```

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

## #10 — mr.mainline, 2005-01-18T18:07Z

Då uppdataeras inte texten alls,utan där det ska visas blir bara vit bakgrund och ingen text alls,jag kollade oxå i databasen och då den raden som där var text i har blivit tom.

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

## #11 — Pedda, 2005-01-18T19:32Z

```php
$del = "UPDATE main SET text = '" . $_POST['maintext']."'  WHERE id = 1";
mysql_query($del) or 
die("Det gick inte att uppdatara " . mysql_error());
```

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

## #12 — Compusa, 2005-01-18T19:37Z

> **Pedda skrev:**
>
> Luskade igenom koden lite snabbt och fann att du i din kod har
>
>
> ```php
> if(!empty($_POST['text']) and empty ($_POST['perform']))
> ```
>
>  
> Men i koden du har postat hittar jag inget i formuläret som heter text eller perform. Textfältet heter ju maintext t.ex.

Det där väl inte heller korrekt php-syntax, borde väl vara...

```php
if(!empty($_POST['text']) && empty ($_POST['perform']))
```

 

Eller har jag missat något?

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

## #13 — Pedda, 2005-01-18T19:44Z

> **Compusa skrev:**
>
> Eller har jag missat något?

&& eller AND går att använda likadant som du kan använda \|\| istället för OR.
Men jag håller med dig, använder själv && och \|\| istället för AND och OR.

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

## #14 — Compusa, 2005-01-18T19:47Z

Okej visste inte att det gick göra så i PHP, tänker inte göra det heller ;) Att jag inte trodde det gick att göra har nog med att jag av misstag skrivit så i Java, där fungerar det garanterat inte :)

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

## #15 — mr.mainline, 2005-01-18T21:43Z

Pedda: det funkade som du skrev,tack.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/120190-update-funkar-inte
