Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit Formular + Speichern [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit Formular + Speichern


 
adihas
10-04-2003, 18:53 
 
Hallo,
Ich wollte ein kleines Script machen, das ein Formular erstellt, das geht auch, nun will ich die Angaben im Formular abspeichern, aber irgendwie habe ich ein Problem dass zu machen...Ich weiss nicht was ich noch tun soll....

Hier mal der Code:

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Edit</title>
</head>

<body bgcolor="#000080" text="#FFFFFF" link="#00FFFF" vlink="#00FFFF">
<div align="center">
<center>
<table cellpadding="5" cellspacing="5" width="100%">
<form method="post" action="update.php?action=saveentries">
<div align="center">
<center>
<table border="1" cellpadding="3" cellspacing="1" style="border-collapse: collapse" bordercolor="#C0C0C0" width="100%">
<tr>
<td width="20%" height="22">
<font face="Arial" color="#FFFFFF" size="4"><b><u>Name</u></b></font></td>
<td width="20%" height="22">
<font face="Arial" color="#FFFFFF" size="4"><b><u>E-Mail</u></b></font></td>
<td width="20%" height="22">
<font face="Arial" color="#FFFFFF" size="4"><b><u>Homepage</u></b></font></td>
<td width="13%" height="22">
<font face="Arial" color="#FFFFFF" size="4"><b><u>Herkunft</u></b></font></td>
<td width="27%" height="22">
<font face="Arial" color="#FFFFFF" size="4"><b><u>Mitteilung</u></b></font></td>
</tr>
<?
$i = 1;
while ($i <= 50) {
echo "<tr>
<td width=\"20%\" height=\"23\" valign=\"top\">
<p><input type=\"text\" name=\"name$i\" size=\"26\"></p>
</td>
<td width=\"20%\" height=\"23\" valign=\"top\">
<input type=\"text\" name=\"email$i\" size=\"26\">
</td>
<td width=\"20%\" height=\"23\" valign=\"top\">
<input type=\"text\" name=\"homepage$i\" size=\"26\">
</td>
<td width=\"13%\" height=\"23\" valign=\"top\">
<input type=\"text\" name=\"datum$i\" size=\"15\">
</td>
<td width=\"27%\" height=\"23\" valign=\"top\">
<p><textarea rows=\"6\" name=\"nachricht$i\" cols=\"31\"></textarea></p>
</td>
</tr>";

$i = $i + 1;
}

if($action=="saveentries") {



$configfilew = fopen("entries.txt","a");

$i = 50;
while ($i <= 1)
{


fwrite($configfilew,"$datum$i."|".$name$i."|".$email$i."|".$homepage$i."|".."|".."|".$nachricht$i."|".");
fclose($configfilew);

$i = $i - 1;
}


echo "<center><font color=\"#FFFFFF\">Daten erfolgreich geändert!<br>Wenn Sie die neuen Einstellungen sehen wollen, <br>dann bitte die Seite neu Aktualisieren.</font><br></center>";
}

?>
</table>
<input type="submit" value="speichern"><input type="reset" value="löschen">
</form>
</center>
</div>
</table>
</body>
</html>


Bin wie man sieht nich sehr gut im Umgang mit PHP...
Aber wäre doch froh wenn mir da jemand helfen könnte...
Gruss adihas:dontknow:

 
adihas
10-04-2003, 18:58 
 
Oops, habe eben entdeckt was ich falsch gemacht habe...
habe

$i = 50;
while ($i <= 1)
{


fwrite($configfilew,"$datum$i."|".$name$i."|".$email$i."|".$homepage$i."|".."|".."|".$nachricht$i."|".");
fclose($configfilew);

$i = $i - 1;
}


in

$i = 50;
while ($i >= 1)
{


fwrite($configfilew,"$datum$i."|".$name$i."|".$email$i."|".$homepage$i."|".."|".."|".$nachricht$i."|".");
fclose($configfilew);

$i = $i - 1;
}


umgewandelt, aber jetzt kommt folgende Fehlermeldung:
Warning: fwrite(): 2 is not a valid stream resource in C:\wampp2\htdocs\Guestbook-5\update.php on line 61

Warning: fclose(): 2 is not a valid stream resource in C:\wampp2\htdocs\Guestbook-5\update.php on line 62

Was bedeutet das?

 
Abraxax
10-04-2003, 19:00 
 
du machst fwrite() aber kein fopen() ????

machst du wenigstens ein fclose()?

 
adihas
10-04-2003, 19:02 
 
Ich habe ja ein fopen() und ein fclose()!?

 
Abraxax
10-04-2003, 19:05 
 
habe ich wohl übersehen... ;)

änder mal die zeile in das hier. die ist nciht korrekt.

fwrite($configfilew,$datum.$i."|".$name.$i."|".$email.$i."|".$homepage.$i."|"."|"."|".$nachricht.$i."|");

 
adihas
10-04-2003, 19:07 
 
Du hattest recht...ich musste das:
$configfilew = fopen("entries.txt","a");

in die Schleife einbauen, dann gehts, nur speichert es dann die Daten ganz falsch, irgendwie so: ??>.>

Ich werde jetzt mal das machen, was du gesagt hast!

 
adihas
10-04-2003, 19:15 
 
Es klappt nich so, wie ich es will...
Es speichert nur komische sachen :-P
Es speichert immer wieder etwas anders, immer diese Zeichen: ?.;>

Weiss nicht was das Problem ist...

Die while schleife, die die Daten speichern sollte, sieh nun so aus:
$i = 50;
while ($i >= 1)
{

$configfilew = fopen("entries.txt","a");
fwrite($configfilew,"$datum$i."|".$name$i."|".$email$i."|".$homepage$i."|"."|"."|".$nachricht$i."|".\n");
fclose($configfilew);

$i = $i - 1;
}


Was ist daran falsch??

 
kapitaeniglo
10-04-2003, 19:26 
 
du hast auch nicht das gemacht was abraxax gesagt hast ...

hier ABRAXAX code

fwrite($configfilew,$datum.$i."|".$name.$i."|".$email.$i."|".$homepage.$i."|"."|"."|".$nachricht.$i."|");


hier deiner :

fwrite($configfilew,"$datum$i."|".$name$i."|".$email$i."|".$homepage$i."|"."|"."|".$nachricht$i."|".\n");


eigentlich muesste das sogar ne fehler,eldung geben (dein code ) ....
aber scheinbar wird er nur vollkommen falsch interpretiert .... ;)

nimm abraxax dann sollte er das zumindestens lesbarer speichern ...

ALSO OHNE " vor dem $datum am anfang ....

 
adihas
10-04-2003, 19:32 
 
OK, habe es so gemacht, nur funktionierts imernoch nicht richtig, jetzt speichert es einfach den wert $i, nicht den wert von datum1, datum2 u.s.w, nur die zahl der variabel $i....
:confused:

 
kapitaeniglo
10-04-2003, 19:47 
 
also dann haste scheinbar die werte nicht gesetzt ....

hab mir eben, da ich keine datei schreibn wollt, nen aewhnlihces skript gebastelt:

<?php
$datum = "datum";
$name = "name";
$email = "email";
$nachricht = "nachricht";
$homepage = "homepage";

$i=50;
while ($i >= 1)
{

$ausgabe .=$datum.$i."|".$name.$i."|".$email.$i."|".$homepage.$i."|"."|"."|".$nachricht.$i."|<br>";

$i--;
}
echo $ausgabe;
?>

und die ausgabe ist korrekt ....

skript ist auch ausfuehrbar :
http://www.history-of-gaming.de/test/whiletester.php

greetz
iglo

 
adihas
10-04-2003, 19:55 
 
Finde die Idee gut, nur ist es nicht dass, was ich brauche...
Ich will dich den wert von $i speichern, sonder so:
$datum50 | $email50 ...
$datum49 | $email49 ...

also, dass das es die Angaben vom Feld datum50 abspeichert...
weiss du jetzt was ich meine?

 
kapitaeniglo
10-04-2003, 20:25 
 
ok meinst du das ?

http://www.history-of-gaming.de/test/whiletester.php
wieder dort zu sehen



und hier der quellcode :


<?php
$datum3 = "22.11.1980";
$datum2 = "11.10.1570";
$datum1 = "22.07.3812";
$name3 = "franz";
$name2 = "hugo";
$name1 = "engelbert";
$email3 = "email3";
$email2 = "email2";
$email1 = "email1";
$nachricht3 = "huhu";
$nachricht2 = "tag";
$nachricht1 = "sabber";

$homepage3 = "toll";
$homepage2 = "kacke";
$homepage1 = "bleode";

$i=3;
while ($i >= 1)
{
$tag = "datum".$i;
$name = "name".$i;
$email = "email".$i;
$homepage = "homepage".$i;
$nachricht = "nachricht".$i;
$ausgabe .=$$tag."|".$$name."|".$$email."|".$$homepage."|"."|"."|".$$nachricht."|<br>";
$i--;
}
echo $ausgabe;
?>


hab den mal nur mit 3 gemacht , waer sonst do ch nen bissel viel arbeit gewesem :D

so nochmal geaendert ... da fehlten noch . --> parse errors ...

ist es das?

greetz

iglo

 
adihas
10-04-2003, 20:28 
 
Ja genau, das meine ich!
Vielen Dank für deine Hilfe!
Gruss adihas

 
kapitaeniglo
10-04-2003, 20:29 
 
kein problem .....

allerdings frag ich mich ob du nicht vielleciht leiber mit arrays arbeiten solltest, denn diese $$var schreibweise find ich immer ziemlich aetzend und sie ist oft unnoetig ....

 
Abraxax
10-04-2003, 20:40 
 
Original geschrieben von kapitaeniglo
[...] und sie ist oft unnoetig .... jepp.

und arrays sind wesentlich komfortabler.


Alle Zeitangaben in WEZ +2. Es ist jetzt 08:41 Uhr.