Hallo,

Bij het uitvoeren van onderstaande code komen bij de echo van $frontpage en $ID 2x een 'f' als waarde terug. Geen idee waarom. Kan iemand mij helpen? Alvast bedankt!


<?php
if (isset($_POST['frontpage'])){
	print_r($_POST);
	
	
		$queryError = false;	
		
		foreach($_POST AS $P) {
			$frontpage=$P['frontpage'];
			$ID=$P['ID'];
			echo $frontpage;
			echo $ID;
			$queryfront = mysql_query("UPDATE `content` SET frontpage = '$frontpage' WHERE `ID`=". (int) $ID, $connection);
			
			
			if(!$queryfront) {
				$queryError = true;
				echo 'error executing frontpage query' . mysql_errno() . ' : ' . mysql_error();
			}
		}

		if (!$queryError) { 
			
		} 
	}
?>
van onderstaande regel dacht ik zelf. De $row['ID'], het is de bedoeling dat die gepost wordt. Maar weet ik niet zeker of dat correct is :S


<?php
echo '<tr><td><a href="managearticle.php?edit=' . $row['ID'] . '">' .     $row['title'] . '</a></td>';
?>
>> De $row['ID'], het is de bedoeling dat die gepost wordt. Maar weet ik niet zeker of dat correct is :S

Wat bedoel jij met "het is de bedoeling dat die gepost wordt". Kun je eens uitleggen wat je bedoelt?
De $row['ID'] wordt uit de database gehaald en linkt naar de betreffende row.
De bedoeling is dat de foreach het ID meeneemt.

Hierbij een link naar de printscreen..

Wat ik wil bereiken is, is dat zodra ik een cijfer invul, deze door de knop 'frontpage' worden weggeschreven. Uiterraard bij het juiste ID.
Oké, maar de foutmelding heeft het dus over een $_POST['ID']. En blijkbaar wordt er dus geen "ID" gepost vanuit je formulier. Dus daar zul je de fout moeten zoeken.
Heb het nog even verder gekeken. Het probleem vindt inderdaad plaats als er gepost wordt. Ik heb dus een overzicht met namen en frontpage, de namen worden weergeven maar het ID wordt natuurlijk gebruikt. Bij de frontpage is een input veld. Wanneer bij 1 veld een waarde ingevuld wordt is het de bedoeling dat die waarde bij de betreffende ID wordt weggeschreven. Nu weet ik niet of dit met bovenstaande mysql/php mogelijk is.

Alvast bedankt voor de hulp :)
Heeft iemand misschien een oplossing? Probleem speelt nog. Alvast bedankt!
Dennis geef eens een SQL dump van je tabel 'content' uit phpMyAdmin. (Klikken op 'content', dan op tabje Exporteren en dan op de button Start)
Hoi Frank, Zie hieronder, alvast bedankt!


-- phpMyAdmin SQL Dump
-- version 3.5.8.2
-- http://www.phpmyadmin.net
--
-- Machine: localhost
-- Genereertijd: 13 mei 2014 om 17:21
-- Serverversie: 5.5.31
-- PHP-versie: 5.3.27

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Databank: `dennis_cms`
--

-- --------------------------------------------------------

--
-- Tabelstructuur voor tabel `content`
--

CREATE TABLE IF NOT EXISTS `content` (
  `ID` int(10) NOT NULL AUTO_INCREMENT,
  `categoryID` int(10) DEFAULT NULL,
  `title` varchar(255) NOT NULL,
  `text` mediumtext NOT NULL,
  `frontpage` int(11) DEFAULT NULL,
  `block` int(10) DEFAULT NULL,
  `created` varchar(20) NOT NULL,
  `created_by` int(10) NOT NULL,
  `changed` varchar(20) DEFAULT NULL,
  `changed_by` int(10) DEFAULT NULL,
  PRIMARY KEY (`ID`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=80 ;

--
-- Gegevens worden uitgevoerd voor tabel `content`
--

INSERT INTO `content` (`ID`, `categoryID`, `title`, `text`, `frontpage`, `block`, `created`, `created_by`, `changed`, `changed_by`) VALUES
(59, 55, 'dit is categorie 2 artikel', '<p>dit is categorie 2 artikel</p>\r\n', 1, NULL, '18-02-2014', 3, '02-03-2014', 3),
(69, 55, 'dddd', '<p>ddddd</p>\r\n', NULL, NULL, '02-05-2014', 3, NULL, NULL),
(78, 54, 'thtsdthrstt', '<p>tshtts</p>\r\n', NULL, NULL, '02-05-2014', 3, NULL, NULL);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

regel 53:
<?php
echo '<td><input type="text" name="frontpage[]" value="' . $row['frontpage'] . '" /></td></tr>';
?>
regel 58:
<?php
<input type="submit" name="frontpage" value="frontpage"/>
?>

Beiden regels maken een $_POST['frontpage'] aan. De eerste keer is dat een array maar bij de tweede keer wordt de array overschreven door de waarde 'frontpage' en ben je de array dus kwijt.

Je zult dus bij één van de twee een andere name attribuut moeten opgeven.
Bedankt voor je antwoord.

ik heb regel 58 zojuist veranderd in:

{code]
<?php
<input type="submit" name="test" value="test"/>
?>
{/code}

uiteraard ook de if (isset($_POST['test'])) veranderd.

Echter krijg ik nog steeds dezelfde foutmelding wanneer ik op de button klik.

Undefined index: ID in /overviewarticle2.php on line 10

en daar staat:


<?php
$result = mysql_query("UPDATE content SET frontpage = '" . $_POST['frontpage'] . "' WHERE ID=". (int) $_POST['ID'], $connection);
?>


Nogmaals bedankt!

Reageren