Daten in einem File bearbeiten

icefire

Erfahrenes Mitglied
Hallo!
Bis jetzt habe ich meine Daten immer in mehreren Dateien abgearbeitet:

Im Menü entsprechende Seite aufrufen -> Im Formular bearbeiten -> an die Nächste Seite übergeben und in die Datenbank, Email usw. eintragen.

Nun möchte ich die Verarbeitung auf einer Seite realisieren! Dazu hänge ich an die URL nur action=irgendwas an. Nun sollte ja mit dieser Information nur die entsprechende Schleife aufgerufen werden:

PHP:
if ( isset($_GET['action']) && 'irgendwas'===$_GET['action'] )
{		
// Datenbank abruf, Formulareintrag usw.
}

Jetzt Frage ich mich aber, warum der Gesamte Code angezeigt wird - auch die Schleifen, die eigentlich noch keine Informationen haben.

PHP:
if ( isset($_GET['action']) && 'irgendwas'===$_GET['action'] )
{		
// Datenbank abruf, Formulareintrag usw.
}

if ( isset($_GET['action']) && 'change'===$_GET['action'] )
{		
// insert, mail usw.
}

Wo hab ich den hier einen Fehler? Oder nutze ich einfach nur den falschen Syntax?
 
Probier es mal mit zwei Gleichheitszeichen für die Bedingung.

Wenn das nicht geht dann schick uns die Ausgabe hiervon:
PHP:
var_dump($_GET['action'], isset($_GET['action']), $_GET['action'] === 'change');
Für den Fall das in der URL "?action=change" steht.
 
Hab jetzt schon im Chat von fseek() gehört - werde damit mal die Möglichkeiten ausloten.

Das File wird Aufgerufen mit
index.php?file=admins/test_data&action=irgendwas
und sollte dann nur die eine Schleife ansprechen.

Punkto fseek() - ich öffne ja nur eine Seite und nicht ein File - ist also nicht zu gebrauchen.
 
Zeig am besten mal den kompletten Code, nicht nur die beiden herausgerissenen If-Abfragen.
Da ist sicher an einer anderen Stelle ein Fehler. ;)
 
PHP:
<?PHP 
include("../config/connect.php");

print'	<table align="top" width="570px" border="0" bgcolor="'.$bgcol1.'">
		<tr><td>
		<table align="center" width="550px" cellspacing="0" cellpadding="5" border="0" bgcolor="'.$bgcol1.'">
		<tr><td><br></td></tr>
		<tr><td class="text1" colspan="3" style="border: 1px solid black; width: 530px;" bgcolor="'.$bgcol3.'">Test: <b>Open File</b></td></tr>
		<tr><td><br></td></tr>';

if ( isset($_GET['action']) && 'suchen'===$_GET['action'] ) {

print'	<form name="select_admin" action="test.php?action=select" method="post">
		<tr><td class="text1" colspan="2" style="border: 1px solid black; width: 530px;" bgcolor="'.$bgcol3.'">'.$memaktiv.'</td></tr>
		<tr><td><br></td></tr>'; 	

$verbindung = @mysql_connect($mysqlserver, $mysqluser, $mysqlpass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!"); 
$selectdb = @mysql_select_db($mysqldb, $verbindung) or die("Konnte die Datenbank <b>$mysqldb</b> nicht auswählen!"); 
$link = mysql_query("SELECT ident_nick FROM infmem_dat");      
echo mysql_error();

print'	<tr><td class="text3" width="120px">Admin:</td>
		<td><select name="admin_name"><option value="" selected></option>';

while($data = mysql_fetch_array($link)){
	$admin_name   = array($data['ident_nick']);
	foreach($admin_name as $select_admin){  
		echo'	<option value="'.$select_admin.'">'.$select_admin.'</option>';
	}
}
	   		                   
print'	</select>
		<tr><td></td><td></td></tr>
		<tr><td><br><br></td></tr>			
		<tr><td></td><td class="text3" colspan="2">
		<input type="submit" value=" Auswählen ">
		<input type="button" value=" Abbrechen " onClick=window.location.href="javascript:history.back()">
		</td></tr>';	
}
 


if ( isset($_GET['action']) && 'select'===$_GET['action'] ) {

print'	<form name="select_admin" action="test.php?action=select" method="post">
		<tr><td class="text1" colspan="2" style="border: 1px solid black; width: 530px;" bgcolor="'.$bgcol3.'">'.$memaktiv.'</td></tr>
		<tr><td><br></td></tr>'; 	

$name = $_POST['admin_name'];	

//$file = '../admins_simple.ini';
//$rights = file($file);

$handle = fopen ("../admins_simple.ini","r");              // Datei zum Lesen öffnen
while ( ($file_array = fgetcsv ($handle, 1000, " ", '"')) !== FALSE ) { // Daten werden aus der Datei in ein Array $data gelesen
print_r($file_array);
$abgleich =	$file_array;
$name == TRUE;
}
fclose ($handle);
  /*
foreach($rights as $line) {
  if(stristr($line,$name) === FALSE){
    echo '<tr><td class="text1" colspan="2">User <b>'.$name.'</b> hat folgende Adminrechte:<br></td></tr>';
   $name == TRUE;
*/

if( isset($name) === TRUE ){ 

$verbindung = @mysql_connect($mysqlserver, $mysqluser, $mysqlpass) or die("Konnte keine Verbindung zum Datenbankserver aufbauen!"); 
$selectdb = @mysql_select_db($mysqldb, $verbindung) or die("Konnte die Datenbank <b>$mysqldb</b> nicht auswählen!"); 
	
$link = mysql_query("SELECT * FROM rv_server_rights WHERE rv_user_name='$abgleich'");      
echo mysql_error();
 
if(empty($data['rv_user_rights'])){$admin_lvl="...";}
elseif($data['rv_user_rights']=="A"){$admin_lvl="Master Admin";}
elseif($data['rv_user_rights']=="B"){$admin_lvl="High Admin";}
elseif($data['rv_user_rights']=="C"){$admin_lvl="Normal Admin";}
elseif($data['rv_user_rights']=="D"){$admin_lvl="Low Admin";}
elseif($data['rv_user_rights']=="x"){$admin_lvl="Special Guest";}  

print'  <tr><td class="list1" colspan="2">Es wurden zu der <b>'.htmlspecialchars($data['rv_user_steam']).'</b> die Rechte eines <b>'.$admin_lvl.'</b> hinterlegt.</td></tr><br>
		<tr><td class="list1" colspan="2">'.$data['rv_rights_list'].'</td></tr>';

} else { echo '"'.$name.'" hat noch keine Adminrechte erhalten!'; }
 
}	

print'	</table><br><br>
		</td></tr>
		</table>';
?>
 
Was ist mit dem ändern der === in == und der Ausgabe zu deinen Variablen?
PHP:
var_dump($_GET['action'], isset($_GET['action']), ( $_GET['action'] === 'change' ) );
 
Zurück