Probleme mit neuer PHP-Version!

Lapachon

Mitglied
Hi!

Habe folgendes Problem.
Ich habe ein Script, wo eine Userverwaltung dahinter steckt! Wenn ich jetzt in dieser Verwaltung einen Benützer ändern möchte, dass nicht mehr.
Ich Programmierte das ganze in der PHP-Version 4.1.0 und auf dem Server, wo das Script laufen soll, läuft Verion 4.2.3! Ich hab einiges darüber gelesen, und anscheinend ist dass Problem, das bei der neuen Version (4.2.3) das register_globals auf off gestehlt wurde. Denn local ja alles tadellos!
Er gibt mir keinen Fehler aus, gar nichts. Hoffentlich kann mir einer von euch weiterhelfen!

Hier dass Script:
PHP:
<?
include "../opendatabase.php";
include "../database.php";

	if (isset ($_POST["user_id"])) 
	   $user_id = $_POST["user_id"]; 
	else 
	   $user_id = "";
	   
	if (isset ($_POST["res"])) 
	   $res = $_POST["res"]; 
	else 
	   $res = "";
	   
	if (isset ($_POST["num"])) 
	   $num = $_POST["num"]; 
	else 
	   $num = "";
	   
 	if (isset ($_POST["i"])) 
	   $i = $_POST["i"]; 
	else 
	   $i = "";

  if (isset ($_POST["vorname"])) 
   $vorname = $_POST["vorname"]; 
	else 
	   $vorname = ""; 
	
	if (isset ($_POST["nachname"])) 
	   $nachname = $_POST["nachname"]; 
	else 
	   $nachname = ""; 
	   
	if (isset ($_POST["action"])) 
	   $action = $_POST["action"]; 
	else 
	   $action = ""; 
	   
	if (isset ($_POST["hint"])) 
	   $hint = $_POST["hint"]; 
	else 
	   $hint = ""; 
?>
<html>
<head>
</head>
	<title>Mitglied &auml;ndern...</title>
<body bgcolor="#ffffff" link="#000000" alink="#000000" vlink="#000000">
<?php

if (($action == "update")) {
   mysql_query("UPDATE members SET vorname='$vorname', nachname='$nachname', straße='$straße', plz='$plz', ort='$ort', tel='$tel', tel='$tel', fax='$fax', email='$email'  WHERE user_id='$user_id'") or die(mysql_error());

	echo "<center><br><br><br>&nbsp;&nbsp;&nbsp;&nbsp;<font color=#000000 face=arial size=2>Eintrag wurde geändert</font><br><br><br></center>";

	echo "<center><font color=#000000 face=arial size=2><a href=edit_verteiler.php><< zurück zur Verteilerverwaltung</a></font></center>";


	die();
}

$querycall = "SELECT * FROM members";
$result 	 = ExecuteQuery($querycall);
$res			 = mysql_query("SELECT * FROM members WHERE user_id='$user_id'");
$num			 = mysql_num_rows($res);
?>
<table width="50%" border="0" align="center">
	<tr>
		<td align="center">
			<font color="#000000" face="arial" size="2"><b>Verteilerverwaltung:</b></font>
			<hr color="#000000">
		</td>
	</tr>
</table>	
<table width="50%" border="0" align="center">
	<tr>
	  <td colspan="2"><font color="#ffffff" face="arial" size="2"><?=$hint?></font></td>
	</tr>
<?
for ($i=0; $i<$num; $i++) {
	$res    		    = mysql_query("SELECT * FROM members WHERE user_id='$user_id'");
	$num   			    = mysql_num_rows($res);
	$user_id  		  = mysql_result($res, $i, "user_id");
	$vorname 			  = mysql_result($res, $i, "vorname");
	$nachname			  = mysql_result($res, $i, "nachname");
	$straße			    = mysql_result($res, $i, "straße");
	$plz					  = mysql_result($res, $i, "plz");
	$ort 					  = mysql_result($res, $i, "ort");
	$tel 					  = mysql_result($res, $i, "tel");
	$fax 					  = mysql_result($res, $i, "fax");
	$email			    = mysql_result($res, $i, "email");


    }
		?>
<body>
		<form action="update_verteiler.php" method="post" enctype="multipart/form-data">
		<input type="hidden" name="user_id" value="<?=$user_id?>">
		<input type="hidden" name="action" value="update">
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Vorname:</font>
		</td>
		<td>
			<input type="text" name="vorname" size="20" value="<?=$vorname?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Nachname:</font>
		</td>
		<td>
			<input type="text" name="nachname" size="20" value="<?=$nachname?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Straße:</font>
		</td>
		<td>
			<input type="text" name="straße" size="20" value="<?=$straße?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">PLZ:</font>
		</td>
		<td>
			<input type="text" name="plz" size="10" value="<?=$plz?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
  <tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Ort:</font>
		</td>
		<td>
			<input type="text" name="ort" size="20" value="<?=$ort?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Tel.:</font>
		</td>
		<td>
			<input type="text" name="tel" size="20" value="<?=$tel?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">Fax:</font>
		</td>
		<td>
			<input type="text" name="fax" size="20" value="<?=$fax?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td align="left">
			<font color="#000000" face="arial" size="2">eMail:</font>
		</td>
		<td>
			<input type="text" name="email" size="20" value="<?=$email?>">&nbsp;&nbsp;<font color="#000000" face="arial" size="2"></font>
		</td>
	</tr>
	<tr>
		<td>
			<input type="submit" value="Daten speichern">
		</td>
	</tr>
	<tr>
		<td align="center">
			<font color="#000000" face="arial" size="2"><a href="edit_verteiler.php">[zur&uuml;ck]</a></font>
		</td>
	</tr>
</table>
</form>
</body>
</html>

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


LG

Lapachon
 
PHP:
 if (isset ($_POST["user_id"]))
$user_id = $_POST["user_id"];
else
$user_id = "";
Das sind ich ziehmlich sinnlos... Fast den gleichen Effekt bekommst du, wenn du das einfach so machst:
PHP:
$user_id = $_POST["user_id"];
Oder falls du die sicherheit von register_globals=off aushebeln möchtest:
PHP:
$x = -1;
$keys = array_keys($_POST);
while($keys[++$x])
{
eval("$".$keys[$x]." = '" . $_POST[$keys[$x]]."'");
}

Ich hab zwar in deinem Code keinen Fehler gefunden (ich hab auch nicht gesucht*g*), aber ich denke, wenns mit register_globals=on funktioniert hat, müsstes so gehn...
 
Zuletzt bearbeitet:
Vielen dank für die Antwort, aber trotzdem nicht.
er schreibt mir auch keine Fehler hin.

ps: das mit dem code vor php merke ich mir.

lg

crow
 
nein leider, er schreibt mir nichts in den value!
ich schätze mal ich habe ein problem mit der übergabe der user_id!

wenn ich jetzt bei der übersicht über den eintrag fahre, denn ich bearbeiten möchte, schreibt er mir auch die user_id hin, nur wird sie wahrscheinlich nicht übergeben.

aber was weiss ich schon.
 
Hmm testweise könntest du mal probieren dir alle _POST-Werte ausgeben zu lassen, die übergeben werden:

PHP:
$x = -1;
$keys = array_keys($_POST);
while($keys[++$x])
{
echo $keys[$x] .' = '. $_POST[$keys[$x]].'<br>';
}

Aber da ich im Moment keinen Webserver hab, mit dem ich debuggen könnte kann ich dir jetzt auf die schnelle auch net weiterhelfen...
 
Hallo, ersteinmal sage ich danke für 179 Zeilen wunderschönen Quellcode.
Mir fällt ganz spontan auf, dass Du diese verkürzte Schreibweise verwendest:
PHP:
<?=$email?>
Versuch's mal, indem Du das in die Form bringst:
PHP:
<?php echo $email; ?>
 
Zurück