Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: edycja
Forum PHP.pl > Forum > PHP
kicaj
mam taki problem ;/

w pliku 1.php mam wyswietlona liste osob
w pliku 2.php mam mozliwosc edytowania usera przez podanie id

jak w 2.php zrobic ze jesli edycja zostanie wykonana poprawnie to w pliku 1.php dostane o tym komunikat, ale zeby jak wyskoczy jakis blad w 2.php to tam bedzie komunikat!

Troszku zamieszane ale bedzie git biggrin.gif
Cudi
Jeśli nie ma błędu to przenosisz na 1.php funkcją header, a jeśli są to je pokazujesz bez przenoszenia.
kicaj
no tak ale jezeli przed header bedzie duzo grafiki itp to zanim to to tego dojdzie do bedzie to trwalo bardzo dlugo!
JOHNY
lol.dat - konstrukcja
lol|lol2|lol3|

panel.php smile.gif
[xml:1:a3286991f9]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Panel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<link href="styl.css" rel="stylesheet" type="text/css">
</head>

<body bgcolor="BFB891">
<div align="center">[/xml:1:a3286991f9]
[php:1:a3286991f9]
<?php
echo "<table border="1" cellspacing="1" cellpadding="0" class="textbold"><tr align="center"><td>LP</td><td>Nick</td></tr>";
$f=file("lol.dat");
for ($i=0; $i<count($f); $i++) {
$z=explode("|", $f[$i]);
echo "<tr class="tekst" align="center"><td>";
echo $i+1;
echo"</td><td>$z[0]</td></tr>";
}
$i++;
echo "</table>";
echo "<p class="tekst">Podaj LP do usuniecia<br></p>
<form action="usun.php" method="POST" >
<input name="lp">
<input type="submit" value="usuń" name="usun">
</form>";
echo "<p class="tekst">Podaj LP do edycji<br></p>
<form action="edytuj.php" method="POST" >
<input name="lp">
<input type="submit" value="edytuj" name="edytuj">
</form>";
?>
[/php:1:a3286991f9][xml:1:a3286991f9]
<table align="center" cellpadding=0 cellspacing=0>
<tr>
<td class="windows"> <div align="center"><b>Wypełnij pola aby dodać Użytkownika smile.gif</b><br>
<br>
</div></td>
</tr><tr>
<div align="center"></div>
<td><form action="dodaj.php" method="post"></tr><tr>
<td class="text"><div align="center"><b>Nick: </b>
<input name="nick" type="text"></div>
</td>
</tr>
<tr>
<td class="text" align="center">
<input type="submit" value="Dodaj Użytkownika" name="dodajusr">
</td>
</tr>
</table>
</div>
</body>
</html>[/xml:1:a3286991f9]

dodaj.php

[php:1:a3286991f9]
<?php
$nick = $_POST['nick'];
$popen=fopen("lol.dat", "a+");
fwrite($popen,"$nick|n");
echo("<p class="windows">User został dodany</p>");
?>
[/php:1:a3286991f9]

edytuj.php - edycja

[php:1:a3286991f9]
<?php
$dane=("lol.dat");
$dane1=file($dane);
$id2 = $lp;
$id = $id2-1;
if($akcja=="zapisz_edycje") {
$z=explode("|", $dane1[$id]);
$after="$z[0]|n";
$before="$nick|n";
$fp=fopen($dane, "r");
$a=fread($fp, filesize($dane));
flock($fp,"1");
fclose($fp);
$before=str_replace("$after","$before",$a);
$fopen=fopen($dane,"w");
flock($fopen,"2");
fwrite($fopen, $before);
flock($fopen,"3");
fclose($fopen);
echo "<p class="tekst">Zapisane!</p><a href='panel.php?action=panel' class="back">OK</a>";
} else {

$z=explode("|", $dane1[$id]);

echo"<a class="text" Edycja LP: $id2</a><BR><form action='edytuj.php?akcja=zapisz_edycje&lp=$id2' method='post' class="text">Nick: <input name='nick' value='$z[0]' type='text'><BR><input type='submit' value='zapisz edycje'></form>";
echo "<tr class="tekst" align="center"><td>"; }
?>
[/php:1:a3286991f9]

usun.php

[php:1:a3286991f9]
<?php
$id2 = $_POST['lp'];
$id = $id2-1;
$dane=file("lol.dat");
unset($dane[$id]);
$file=fopen("lol.dat","w");
fwrite($file,str_replace("r","",join('',$dane)));
fclose($file);
echo "<p class="windows">AKTUALNIE LISTA WYGLˇDA TAK:</p><BR><table border="1" cellspacing="1" cellpadding="0" class="textbold"><tr align="center"><td>LP</td><td>Nick</td></tr>";
$f=file("lol.dat");
for ($i=0; $i<count($f); $i++) {
$z=explode("|", $f[$i]);
echo "<tr class="tekst" align="center"><td>";
echo $i+1;
echo "</td><td>";
echo $z[0];
echo "</td></tr>";
}
$i++;
echo "</table>";
?>[/php:1:a3286991f9]

Edit

Ale się kolorowo zrobiło smile.gif
Cudi
Cytat
no tak ale jezeli przed header bedzie duzo grafiki itp to zanim to to tego dojdzie do bedzie to trwalo bardzo dlugo!

Sprawdzanie błędów daje sie na sam początek pliku.

JOHNNY -> wstaw tagi htmla w odpowiedni znacznik bbCode.
Gligamesh
zmodyfikowalem plik edytuj na swoje potrzeby

[php:1:b6fa552141]<?php
$dane=("lol.dat");
$dane1=file($dane);
$id2 = $lp;
$id = $id2-1;
if($akcja=="zapisz_edycje") {
$z=explode("|", $dane1[$id]);
$after="$z[0]|$z[1]|$z[2]|$z[3]|$z[4]|$z[5]|$z[6]n";
$before="$old|$new|$pseudo|$haslo|$www|$mail|$sprzetn";
$fp=fopen($dane, "r");
$a=fread($fp, filesize($dane));
flock($fp,"1");
fclose($fp);
$before=str_replace("$after","$before",$a);
$fopen=fopen($dane,"w");
flock($fopen,"2");
fwrite($fopen, $before);
flock($fopen,"3");
fclose($fopen);
echo "<p class="tekst">Zapisane!</p><a href='panel.php?action=panel'
class="back">OK</a>";
} else {

$z=explode("|", $dane1[$id]);

echo"<a class="text" Edycja LP: $id2</a><BR><form action='edytuj.php?akcja=zapisz_edycje&lp=$id2' method='post'>
<table width="465" height="283" border="0" align="center">
<tr>
<td width="37%" height="24">Pseudo:</td>
<td width="63%">
<input name="pseudo" value="$z[2]" type="text" size="30">
</td>
</tr>
<tr>
<td>Has&sup3;o:</td>
<td><input name="haslo" type="password" value="$z[3]" size="30"></td>
</tr>
<tr>
<td>Strona www:</td>
<td><input name="www" type="text" value="$z[4]" size="30"></td>
</tr>
<tr>
<td>E-mail:</td>
<td><input name="mail" type="text" value="$z[5]" size="30"></td>
</tr>
<tr>
<td colspan="2"><hr size="1"></td>
</tr>
<tr>
<td>Wyniki:</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>3D mark 2001/2001 SE</td>
<td><input name="old" type="text" value="$z[0]" size="20"></td>
</tr>
<tr>
<td>3D mark 2003 </td>
<td><input name="new" type="text" value="$z[1]" size="20"></td>
</tr>
<tr>
<td colspan="2"><hr size="1"></td>
</tr>
<tr>
<td height="21">Sprz&ecirc;t na jakim zosta&sup3; wykonany test:</td>
<td rowspan="2">
<textarea name="sprzet" cols="40" rows="10">$z[6]</textarea>
</td>
</tr>
<tr>
<td>&nbsp;</td>
</tr>
</table><br>


<input type='submit' value='zapisz
edycje'></form>";
echo "<tr class="tekst" align="center"><td>"; }
?>[/php:1:b6fa552141]

pojawil sie mlay proble, dane nie sa zamienianae , dlaczgo ?
Gligamesh
gdy zmienie
[php:1:e89bc430b3]<?php
$after="$z[0]|n";
$before="$pseudo|n";
?>[/php:1:e89bc430b3]

to dziala a jak jset tak jak che to niedziala, wie ktos ?
Gligamesh
no need , poradzilem juz sobie
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.