Hallo Leute Ich habe ein Problem mit folgendem Skript, es scheint alles zu funktionieren, nur die "change" Funktion irgendwie nicht.
Er ändert zwar das Element in der Listbox doch nach dem aktualisieren der Seite ist das Element wieder weg und es wird auch nich in das textfile geschrieben!!
Vielleicht hab ihr irgendeine Idee, würde mich freuen.
Ich hoffe ihr versteht was ich meine
Gruß
Sasch1
PHP
<?php
$file = "./test.txt";
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
switch($_POST['menu'])
{
case "addElement":
$addContent = 'Hinzufügen: Tragen Sie die neue Domain und den Score ein und Bestätigen anschließend: <br>
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Domain: <input type="text" name="domain" />
Score: <select name="score" size="1">
<option>-5</option>
<option>-10</option>
<option>-15</option>
<option>-20</option>
<option>-25</option>
<option>-30</option>
<option>-35</option>
<option>-40</option>
<option>-45</option>
<option>-50</option>
<option>-55</option>
<option>-60</option>
<option>-65</option>
<option>-70</option>
<option>-75</option>
</select>
<input type="submit" name="hinzuOK" value="Hinzufügen bestätigen" onclick="return confirm(\'Hinzufügen: Sind Sie sich Sicher?\')">
<input type="hidden" name="action" value="addElement">
</form><br>';
break;
case "changeElement":
$fileData = file($file);
$temp = explode("\t",$fileData[$_POST['element']]);
$domain = $temp[0];
$score = $temp[1];
$addContent = 'Ändern: Tätigen Sie ihre Änderungen und Bestätigen anschließend: <br>
<form action="'.$_SERVER['PHP_SELF'].'" method="post">
Domain: <input type="text" name="domain" value="'.$domain.'" />
Score: <select name="score" size="1">';
for($i=-5;$i>-80;$i -= 5)
{
if($i == $score)
{
$addContent .= '<option selected>'.$i.'</option>';
}
else
{
$addContent .= '<option>'.$i.'</option>';
}
}
$addContent .= '</select>
<input type="submit" value="Ändern bestätigen" onclick="return confirm(\'Ändern: Sind Sie sich Sicher?\')">
<input type="hidden" name="elementId" value="'.$_POST['element'].'" />
<input type="hidden" name="action" value="changeElement">
</form><br>';
break;
case "deleteElement":
$delElement = $_POST['element'];
$fileData = file($file);
$addContent = "Die Domain <b>" .$fileData[$delElement]." </b> wurde erfolgreich gelöscht!";
$fileData[$delElement] = "";
$file = fopen($file,"w");
foreach($fileData as $fileLine)
{
fwrite($file, $fileLine);
}
fclose($file);
break;
default:
}
switch($_POST['action'])
{
case "addElement":
if($_POST['domain'] != "" && $_POST['score'] != "" && is_numeric($_POST['score']))
{
$fileData = file($file);
$fileData[] = htmlspecialchars($_POST['domain'])."\t".$_POST['score']."\n";
$file = fopen($file,"a");
fwrite($file, htmlspecialchars($_POST['domain'])."\t".$_POST['score']."\n");
fclose($file);
$addContent = "Die Domain <b> '".$_POST['domain']."'</b> mit dem Score <b> '".$_POST['score' ]."' </b> wurde erfolgreich hinzugefügt!";
}
else
{
$addContent = "Fehler beim Hinzufüen: Bitte tragen Sie ein Domain ein!";
}
break;
case "changeElement":
$changedElement = $_POST['domain'];
$changedElementScore = $_POST['score'];
$changeElementId = $_POST['elementId'];
$fileData = file($file);
$fileData[$changeElementId] = $changedElement."\t".$changedElementScore."\n";
break;
}
}
?>
<form action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
<!-- Auslesen der bestehenden Elemnente -->
<br><b>Inhalt von whitelist_sender</b><br>
<select name="element" size="10" style="width:150px">
<?php
$elementList = array();
$elementCount = 0;
if(empty($fileData)) $fileData = file($file);
foreach($fileData as $fileLine)
{
if(!empty($fileLine)) echo '<option value="'.$elementCount.'">'.$fileLine.'</option>';
$elementCount++;
}
?>
</select>
<br/><?php echo "Es sind " .$elementCount; ?> Domains enthalten<br/>
<br><b>Auswahl der Funktion (Hinzufügen, Ändern, Löschen)</b><br>
<select name="menu" size="1" style="width:150px">
<option value="addElement">Hinzufügen</option>
<option value="changeElement">Ändern</option>
<option value="deleteElement">Löschen</option>
</select>
<input type="submit" value="Auswählen" >
</form>
<hr/>
<div>
<?php if($addContent != "") { echo $addContent;} ?>
</div>
Alles anzeigen