Übergeben von Variablen funktioniert nicht

5im0n

Mitglied
Hallo
ich habe Termine in einer mysql tabelle nun möchte ich diese auch bearbeiten können. Ich lade die daten in ein Formular und will sie dann geändert wieder abschicken können. Allerdings kommen die Daten nicht an so das ich sie ind er mysql tabelle erneuern kann.
Hier mein script:

index.php
PHP:
<html>
<head>
<title>Termine</title>

</head>

<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"
name="news_form">


<?php

include('config.php');
		
			$verbindung=mysql_connect($dbhost, $dblogin, $dbpwd);			//Datenbank Verbindung
			mysql_select_db($dbname, $verbindung);
			
			$connect="SELECT * FROM termine ORDER BY dates";				//Auslesen der Einträge
			$toplese=mysql_query($connect, $verbindung);
			echo mysql_error();
			while($lese=mysql_fetch_array($toplese)) 
			{

?>
<br>
<table border="1" align="center" width="60%">

<tr>
	<td rowspan="2">
		<input type="radio" name="news_number" value="<?php echo $lese[id] ?>">
	</td>

	<td rowspan="2">
		<?php 
			if($lese[archiv] == '1')
			{
				echo 'Ja';
			}
			else
			{
				echo 'Nein';
			}
		?>
	</td>

	<td>
		<?php echo $lese[dates]; ?>
	</td>

	<td rowspan="2">
		<?php echo $lese[text]; ?>
	</td>
</tr>

<tr>
	<td>
		<?php echo $lese[grund]; ?>
	</td>

</tr>
</table>
<?php
}	mysql_close();

?>
<br><br>

<table border="1" align="center" width="60%">
<tr>
	<td width="1">
		<select name="news_action" size="1">
			<option value="" selected>
				Bitte wählen:
			</option>
			<option value="delete">
				Eintrag löschen
			</option>
			<option value="work">
				Eintrag bearbeiten
			</option>
			<option value="move">
				Eintrag ins Archiv verschieben:
			</option>
		</select>
	</td>
	
	<td>
		<input type="submit" name="news_verwaltung_submit" value="OK">
	</td>
</tr>
</table>

</form>

<?php

$news_number = $_POST['news_number'];
$news_action = $_POST['news_action'];

if(isset($_POST[news_verwaltung_submit]))
{

	if($news_action == 'work')
	{
			echo'<form action="'.$_SERVER['PHP_SELF'].'" method="post" name="news_form_aendern">';	
			$verbindung=mysql_connect($dbhost, $dblogin, $dbpwd);
			mysql_select_db($dbname, $verbindung);
								
			$connect="SELECT * FROM termine WHERE id LIKE '$news_number'";
			$toplese=mysql_query($connect, $verbindung);
			while($lese=mysql_fetch_array($toplese)) 
			{
			
			?>

				<table border="1" align="center" width="60%">
					<tr>
						<td>
							<input type="text" name="date" value="<?php echo $lese[dates]; ?>">
						</td>
						<td>
							<input type="text" name="ort" value="<?php echo $lese[ort]; ?>">
						</td>
					</tr>

					<tr>
						<td colspan="2">
							<input type="text" name="betreff" value="<?php echo $lese[grund]; ?>">
						</td>
					</tr>

					<tr>
						<td colspan="2">
							<textarea name="texts" rows="10" cols="30"><?php echo $lese[text]; ?></textarea>
						</td>
					</tr>

					<tr>
						<td>
							<input type="submit" name="news_aendern_submit" value="Ändern">
						</td>
					</tr>

				</table>
				

<?php
			}	
mysql_close();
?>

<?php
echo '</form>';

$ort = $_POST["ort"]; //Beispiel ich habe nicht alle aufgeführt.

			$verbindung=mysql_connect($dbhost, $dblogin, $dbpwd);
			mysql_select_db($dbname, $verbindung);
								
			$connect="UPDATE termine SET ort = '$ort' WHERE id LIKE '$news_number'";
			$toplese=mysql_query($connect, $verbindung);
		
	}
}
?>
</body>
</html>

Ich finde den Fehler nicht. Vielleicht hat ja irgendjemand eine Idee
Gruß
5im0n
 
Guten Morgen,

doch Sven, im ersten Form mit:
<input type="radio" name="news_number" value="<?php echo $lese[id] ?>">
aber ich geb dir Recht das es etwas unübersichtlich ist.

bin auch grad am überlegen wie man das am schnellsten und besten ändern kann. Den Fehler hab ich schon gefunden. Prinzipiell ist der Code richtig, wenn ichs richtig lese, dann hast du zuerst ne Übersicht die dir alle einträge Zeigt, über den Radio Button wählst du aus welche News du bearbeiten möchtest und klickst auf "news_verwaltung_submit". Dann kommst ins nächste Formular das dir die Spezielle News anzeigt, du sie bearbeiten kannst und wieder auf nen Button mit den Namen "news_aendern_submit" klickst. Demnach fehlt in deinem Script aber nen Teil der so aussehen sollte:
PHP:
if(isset($_POST[news_aendern_submit])){
/** und genau hier muss deine Update Anweisung rein, also **/
$ort = $_POST["ort"]; //Beispiel ich habe nicht alle aufgeführt.

      $verbindung=mysql_connect($dbhost, $dblogin, $dbpwd);
      mysql_select_db($dbname, $verbindung);
                                
      $connect="UPDATE termine SET ort = '$ort' WHERE id LIKE '$news_number'";
      $toplese=mysql_query($connect, $verbindung);
}
nun müsstest halt noch die $news_number beim ändern mit schicken über nen <input type="hidden" name="news_number" value="$news_number"> und schon sollte das gehen. Ich hoffe du verstehst was ich meine, ansonsten melden und ich schreib den ganzen Source mal übersichtlich auf.
 
Zurück