Skall min hidden textfield vara här?
Du kan ju ha det, som noshornin säger, lär dig POST/GET, bli betydligt enklare att förstå vad som är fel.
Du måste nog också lära dig indentera din kod för att förstå vad som händer:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
include "conn.php";
if(isset($_POST['Spara'])) { // om knappens namn är spara
$tony = isset($_POST['tony']) ? 1 : 0;
$ulf = isset($_POST['ulf']) ? 1 : 0;
$carina = isset($_POST['carina']) ? 1 : 0;
$anders = isset($_POST['anders']) ? 1 : 0;
$magnus = isset($_POST['magnus']) ? 1 : 0;
$sql = "UPDATE eva_spelningar
SET tony = '{$tony}',
ulf = '{$ulf}',
carina = '{$carina}',
anders = '{$anders}',
magnus = '{$magnus}'
WHERE id = {$_POST['id']}
";
mysql_query($sql) or die(mysql_error());
header("Location: form2.php?id=".$_POST['id']);
// Kolla igenom checkboxar längst ner och skicka mail
if(isset($_POST['tony']) && isset($_POST['ulf']) && isset($_POST['carina']) && isset($_POST['anders']) && isset($_POST['magnus'])==1) {
$id=$_GET['id'];
$sql = "SELECT * FROM eva_spelningar WHERE id='$id'";
while ($rad = mysql_fetch_array($sql)) {
$id = $rad['id'];
$datum = $rad['datum'];
$plats = $rad['plats'];
}
$to = "mail.exempel.se";
$subject = $plats . ' ' . $datum . ' TEXT';
$message="Okej:$plats, $datum\n http://exempel.se";
$from = "from@exempel.se";
$headers .= "Reply-To: $visitor_email \r\n";
$headers = "From:" . $from;
mail($to,$subject,$message,$headers);
}
}
//Här slutar kollen av checkboxar och formen börjar
?>
Är din kod....
du säger (om jag förstå PHP rätt):
header("Location: form2.php?id=".$_POST['id']);
skicka till form2.php dvs ingen kod efter detta kommer köras.
PS:
Flyttade dina variabler lite med....
Du måste också lära dig återanvända kod lite:
<?php
ini_set('display_errors',1);
error_reporting(E_ALL);
include "conn.php";
if(isset($_POST['Spara'])) { // om knappens namn är spara
$tony = isset($_POST['tony']) ? 1 : 0;
$ulf = isset($_POST['ulf']) ? 1 : 0;
$carina = isset($_POST['carina']) ? 1 : 0;
$anders = isset($_POST['anders']) ? 1 : 0;
$magnus = isset($_POST['magnus']) ? 1 : 0;
$id = $_POST['id'];
$sql = "UPDATE eva_spelningar
SET tony = '{$tony}', ulf = '{$ulf}', carina = '{$carina}', anders = '{$anders}', magnus = '{$magnus}'
WHERE id = {$id}";
mysql_query($sql) or die(mysql_error());
// Kolla igenom checkboxar längst ner och skicka mail
if($tony && $ulf && $carina && $anders && $magnus) {
$sql = "SELECT * FROM eva_spelningar WHERE id = {$id}";
while ($rad = mysql_fetch_array($sql)) {
$datum = $rad['datum'];
$plats = $rad['plats'];
}
$to = "mail.exempel.se";
$subject = $plats . ' ' . $datum . ' TEXT';
$message="Okej:$plats, $datum\n http://exempel.se";
$from = "from@exempel.se";
$headers = "From:" . $from;
mail($to, $subject, $message, $headers);
}
header("Location: form2.php?id=".$id);
}
//Här slutar kollen av checkboxar och formen börjar
?>
gissar jag på att det är detta du vill göra?
du är lite väl glad i att kopiera och klistra in koder utan att kontrollera att det kommer fungera, $headers hade du skrivit med .= vilket känns som att det borde crasha för dig om du kommer ner så långt ner i din kod.