---
title: "Kontroll så att användaren kan skicka form endast en gång."
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/155624-kontroll-så-att-användaren-kan-skicka-form-endast-en-gång"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "eklof00"
published: "2007-01-06T15:58:00.000Z"
updated: "2007-01-06T19:07:06.000Z"
replies: 1
views: 217
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/155624-kontroll-så-att-användaren-kan-skicka-form-endast-en-gång"
---

# Kontroll så att användaren kan skicka form endast en gång.

## #1 — eklof00, 2007-01-06T15:58Z

Försöker få till en formulärkontroll så att användaren endast kan skicka formuläret en gång. 

Med denna kod får jag inga felmeddelanden. Det går dock att lägga in tips hur många gånger som helst. 

Tanken är att kontrollen skall se om user_id har tippat på match_id om inte skall tipset läggas till. 

Bif koden: 

Kontrollen har jag lagt på rad 17 och error_list på rad 35.

```php
<?php 
session_start(); // Alltid överst på sidan 
 
include "conn.php"; // Databasanslutningen 
 
// Kolla om inloggad = sessionen satt 
if (!isset($_SESSION['sess_match_id'])){ 
  header("Location: test.php"); 
  exit; 
} 
if (!isset($_SESSION['sess_user_id'])){ 
  header("Location: index.php"); 
  exit; 
}
 
 // Kolla om tippat förut
  $sql = "SELECT COUNT(*) FROM spel_allsv2007 WHERE user_id='{$_SESSION['sess_user_id']}' AND match_id='{$_POST['match_id'][$i]}'";
  $result = mysql_query($sql);
  if (mysql_result($result, 0) > 0) {
    $error[] = 1;
  }
 
 if (!isset($error)){
 if (isset($_POST['submit'])) {
    $i = 0;
    foreach($_POST['match_id'] as $match) {
        $sql = "INSERT INTO spel_allsv2007 (user_id, match_id, tips) VALUES('{$_SESSION['sess_user_id']}','{$_POST['match_id'][$i]}','{$_POST['tips_'.$_POST['match_id'][$i]]}')"; 
        mysql_query($sql) or die("SQL: $sql <br>".mysql_error());
        $i++;
    }
     header("Location: user_tips.php"); 
     exit;
}
}
$error_list[1] = "Du har redan tippat på den här eller dessa matcher!";
if (isset($error)) { 
   foreach ($error as $err) {
      echo $error_list[$err]."<br />";
   }
}
 ?> 
<form action="spel.php" method="post" name="submit"> 
<?PHP 
$sql = "SELECT * FROM allsv2007 WHERE date > CURRENT_TIMESTAMP() AND date = ' {$_SESSION['sess_date']} '" or die(mysql_error()); 
$result = mysql_query($sql); 
   while ($row = mysql_fetch_assoc($result)) { 
$date[$row['date']][] = array($row['match_id'], $row['matcher']); 
} 
 
 
if (isset($date) && !empty($date)) { 
      echo '<table>';   
      foreach ($date as $day => $value){ 
          echo '<tr>'; 
         echo '<td></td>'; 
         echo '<td>' . '<b>' . $day. '</b>' . '</td>'; 
         echo '<td align="center"><b>1</b></td>'; 
         echo '<td align="center"><b>X</b></td>'; 
         echo '<td align="center"><b>2</b></td>'; 
      echo '</tr>'; 
       
        foreach ($value as $game) 
       { 
        echo '<tr>'; 
        echo '<td align ="right">'. $game[0].'.</td>'; 
      
      
         echo '<td>'. $game[1].'</td>'; 
         echo '<td><input type="radio" value="1" name="tips_'.$game[0].'"></td> 
                 <td><input type="radio" value="X" name="tips_'.$game[0].'"></td> 
                 <td><input type="radio" value="2" name="tips_'.$game[0].'"><input type="hidden" name="match_id[]" value="'.$game[0].'"></td>'; 
         echo '</tr>'; 
         
          } 
 
} 
echo '</table>'; 
 
 
}else{ 
echo 'Du kan inte spela på denna match, Spelstopp har inträtt!'; 
 
} 
?> 
<input type="submit" name="submit" value="Skicka"> 
</form>
```

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

## #2 — eklof00, 2007-01-06T19:07Z

```php
// Kolla om användaren tippat förut
  $i = 0;
  $sql = "SELECT COUNT(*) FROM spel_allsv2007 WHERE user_id='{$_SESSION['sess_user_id']}' AND match_id='{$_POST['match_id'][$i]}'";
  $result = mysql_query($sql);
  if (mysql_result($result, 0) > 0) {
    $error[] = 1;
	$i++;
  }
```

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

---

Tråden på webben: https://www.webforum.nu/amne/php/155624-kontroll-så-att-användaren-kan-skicka-form-endast-en-gång
