pagina loopt vast bij submit

Status
Niet open voor verdere reacties.

noax

Gebruiker
Lid geworden
8 jul 2009
Berichten
8
Hier is mijn code.
Ik geef alle paragrafen van een pagina weer in inputboxen met oplopende <name>(1,2,3)
daarna een hidden field die de id van de paragraaf meestuurd met de form.
Bij submit loop ik steeds vast.
Kan iemand mij helpen.

om de paragrafen te vinden
PHP:
		$subject_id = $_GET['id'];
	  }
	  $sql = "SELECT headers.id, headers.content, paragraphs.id, paragraphs.content
			  FROM headers
			  JOIN ( paragraphs, par_head, subject_header)
			  ON headers.id = subject_header.header_id
			  AND headers.id = par_head.header_id
			  AND paragraphs.id = par_head.paragraph_id";
		$headers_pars = mysql_query($sql, $connection);
		confirm_query($headers_pars);

om ze weer te geven
PHP:
$fields = 1;
		$output = "<form action='index.php' name='editForm' method='POST'>";
		while($result = mysql_fetch_array($headers_pars)) {
			$output.= "<p><textarea type='text' name='{$fields}' cols='80' rows='7'>{$result['content']}</textarea></p>\n";
			$output.= "<input type='hidden' name='id{$fields}' value='{$result['id']}' />\n";
			$fields +=1;
		}
		$output.= "<input type='hidden' name='fields' value='{$fields}' />\n";
		$output.= "<input type='submit' name='submit' value='Update' />\n";
		$output.= "</form>";
		echo $output;

on submit
PHP:
if(isset($_POST['submit'])) {
			$fields = $_POST['fields'];
			$fields -= $fields;
			for ($i = 1; $i = $fields; $i++) {
				$paragraph = $_POST['{$i}'];
				$id = $_POST['id'.'{$i}'];
				$sql = "UPDATE paragraphs SET content = '{$paragraph}' WHERE id=$id";
				mysql_query($sql, $connection);
			}
}

hopelijk vinden jullie iets want ik be radeloos.
 
kijk eens naar de syntax kleuring, je zet je variable hier niet goed.

PHP:
$sql = "UPDATE paragraphs SET content = '{$paragraph}' WHERE id=$id";

probeer dit eens:
PHP:
$sql = "UPDATE paragraphs SET content = '{$paragraph}' WHERE id='"$id"'";

kan overigens niet zien waar je $id set, misschien kijk ik eroverheen.
 
inderdaad hij loopt nu niet meer vast maar de update wordt niet gedaan?
ik geef id door op lijn 5 in code2
en haal hem boven op lijn 6 in code3
Denk ik toch te doen:eek:
 
dit is de nieuwe code
loopt niet vast
maar veranderd ook niks
de waarde van $paragraph en $id blijven NULL
PHP:
<?php if(isset($_POST['submit'])) {
			$boodschap ="";
				$fields = $_POST['fields'];
				$fields -=1;
				for($i=1; $i >= $fields; $i++) {
					$paragraph = $_POST['{$i}'];
					$f = $i * 10;
					$id = $_POST['{$f}'];
					$query = "UPDATE paragraphs SET content = '{$paragraph}' WHERE id='{$id}'";
				}
			
			//redirect_to($root . "index.php");
} else { 
	$boodschap = "niks gepost";
}

?>
 
Wederom zeg ik ,kijk eens naar je syntaxkleuring, je heb een aantal variabelen niet goed neergezet . ( volgens mij) een variabele zou blauw moeten kleuren doet hij in dit geval niet dus wordt er geen variabele gezet en blijft hij null. Makkelijkst om te testen vind ik om gewoon eens je variabele te echooen.

Ik kan niet in z'n geheel bekijken wat je doet ik antwoord je vanaf m'n tel.

En waarom gebruik je acollade's in $_POST['{id}']?
 
Laatst bewerkt:
Heel raar;
Heb de for loop vervangen door een while loop en alles werkt perfect.
Bedankt voor jullie hulp met die variable-kleuring
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan