PhP vertauscht einfach Strings!
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
artikel
aufnahme
auswertung
beitrag
count
date
datei
dateiname
einsteiger
fehler
formular
gruss
hilfe
inhalt
kategorie
saublder fehler
titelbild
vielen dank
werte inhalt
zeile
-
Moin. Moin!
Ich habe ein Formular in HTML erstellt und dazu ein PhP-Script zur Auswertung geschrieben. Nun ist aber folgendes Problem: Die Variablen werden in die falschen Dateien geschrieben, obwohl die Vriablen richtig zugewiesen sind. Woran liegt das? Habe ich einen Fehler gemacht? Ich bin noch PhP-Einsteiger und verzichte gerade absichtlich auf MySql. Ich bitte dringend um Hilfe.
Saublöder Fehler! Hat sich erledigt! Wer sich mal unten anschaut, welche Datei erstellt wird und was eingesetzt wird (als Variable) versteht es.
PS: Es wird folgendermaßen verwechselt:
Kurztext <-> Titel
Inhalt <-> Titelbild
Inhalt <-> Titel
Hier meine beiden Dateien:
PhP-Datei zur Auswertung:
<?php include ("count.php"); // Slash als Slash darstellen. if(0!=get_magic_quotes_gpc()) $_POST['kategorie'] = stripslashes($_POST['kategorie']); $_POST['titel'] = stripslashes($_POST['titel']); $_POST['kurztext'] = stripslashes($_POST['kurztext']); $_POST['inhalt'] = stripslashes($_POST['inhalt']); $_POST['titelbild'] = stripslashes($_POST['titelbild']); $_POST['forumlink'] = stripslashes($_POST['forumlink']); $_POST['links'] = stripslashes($_POST['links']); $kategorie = $_POST['kategorie']; //Aufnahme der Werte $inhalt = $_POST['inhalt']; $titel= $_POST['titel']; $titelbild = $_POST['titelbild']; $kurztext = $_POST['kurztext']; $forumlink = $_POST['forumlink']; $links = $_POST['links']; $autor = $_GET['autor']; //Datum erzeugen $datum = date ('d.m.y - H:i:s'); $fp = fopen("zahlen.txt","r"); $zeile = fgets($fp, 100); echo $zeile; $ID = $zeile; //Dateinamen festlegen $dateiname['inhalt']= "inhalt/" . $ID . "inhalt.html"; $dateiname['titel']= "titel/" . $ID . "titel.html"; $dateiname['titelbild']= "titelbild/" . $ID . "titelbild.txt"; $dateiname['kurztext']= "kurztext/" . $ID . "kurztext.html"; $dateiname['forumlink']= "flink/" . $ID . "flink.txt"; $dateiname['links']= "links/" . $ID . "links.html"; $older = $ID - 1; @$handle=fopen($dateiname['inhalt'], "a+"); @fputs($handle, $titel); @fclose($handle); @$handle2=fopen($dateiname['titel'], "a+"); @fputs($handle2, $kurztext); @fclose($handle2); @$handle3=fopen($dateiname['titelbild'], "a+"); @fputs($handle3, $inhalt); @fclose($handle3); @$handle4=fopen($dateiname['kurztext'], "a+"); @fputs($handle4, $titelbild); @fclose($handle4); @$handle5=fopen($dateiname['forumlink'], "a+"); @fputs($handle5, $forumlink); @fclose($handle5); @$handle6=fopen($dateiname['links'], "a+"); @fputs($handle6, $links); @fclose($handle6); fclose($fp); echo $older; ?>
HTML-Datei mit Formular:
<html> <head> <meta http-equiv="Content-Language" content="de"> <meta name="GENERATOR" content="Microsoft FrontPage 5.0"> <meta name="ProgId" content="FrontPage.Editor.Document"> <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> <title>Willkommen im Fiction4u Adminsystem</title> </head> <body> <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="700" id="AutoNumber1"> <tr> <td>Willkommen im Fiction4u Adminsystem! Hier können sie einen neuen Artikel anlegen.</td> </tr> <tr> <td> <form method="POST" action="ierstellen.php"> <p> Artikel ist für den Bereich</p> <p><input type="radio" value="multimedia" checked name="kategorie">Multimedia</p> <p><input type="radio" name="kategorie" value="sport">Sport</p> <p>Titel: <input type="text" name="titel" size="20"></p> <p>Kurztext/Kurzbeschreibung<textarea rows="9" name="kurztext" cols="43"></textarea></p> <p>Inhalt: <textarea rows="11" name="inhalt" cols="44"></textarea></p> <p>Titelbild URL: <input type="text" name="titelbild" size="20"></p> <p>Forumlink: <input type="text" name="forumlink" size="20"></p> <p>Allgemeine Links: <textarea rows="7" name="links" cols="36"></textarea></p> <p><input type="submit" value="Submit" name="B1"><input type="reset" value="Reset" name="B2"></p> </form> <p> </td> </tr> </table> </body> </html>
Ich würde mich sehr über Hilfe freuen.
Vielen Dank und mit freundlichen Grüßen,
screenz
Beitrag geändert: 11.11.2006 22:57:31 von screenz
Beitrag geändert: 11.11.2006 23:19:36 von screenz -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Probier mal das hier:
<?php include ('count.php'); // Slash als Slash darstellen. if(0!=get_magic_quotes_gpc()) $_POST['kategorie'] = stripslashes($_POST['kategorie']); $_POST['titel'] = stripslashes($_POST['titel']); $_POST['kurztext'] = stripslashes($_POST['kurztext']); $_POST['inhalt'] = stripslashes($_POST['inhalt']); $_POST['titelbild'] = stripslashes($_POST['titelbild']); $_POST['forumlink'] = stripslashes($_POST['forumlink']); $_POST['links'] = stripslashes($_POST['links']); $kategorie = $_POST['kategorie']; //Aufnahme der Werte $inhalt = $_POST['inhalt']; $titel= $_POST['titel']; $titelbild = $_POST['titelbild']; $kurztext = $_POST['kurztext']; $forumlink = $_POST['forumlink']; $links = $_POST['links']; $autor = $_GET['autor']; //Datum erzeugen $datum = date ('d.m.y - H:i:s'); $fp = fopen('zahlen.txt','r'); $zeile = fgets($fp, 100); echo $zeile; $ID = $zeile; //Dateinamen festlegen $dateiname1= 'inhalt/' . $ID . 'inhalt.html'; $dateiname2= 'titel/' . $ID . 'titel.html'; $dateiname3= 'titelbild/' . $ID . 'titelbild.txt'; $dateiname4= 'kurztext/' . $ID . 'kurztext.html'; $dateiname5= 'flink/' . $ID . 'flink.txt'; $dateiname6= 'links/' . $ID . 'links.html'; $older = $ID - 1; @$handle=fopen($dateiname1, 'a+'); @fputs($handle, $titel); @fclose($handle); @$handle2=fopen($dateiname2, 'a+'); @fputs($handle2, $kurztext); @fclose($handle2); @$handle3=fopen($dateiname3, 'a+'); @fputs($handle3, $inhalt); @fclose($handle3); @$handle4=fopen($dateiname4, 'a+'); @fputs($handle4, $titelbild); @fclose($handle4); @$handle5=fopen($dateiname5, 'a+'); @fputs($handle5, $forumlink); @fclose($handle5); @$handle6=fopen($dateiname6, 'a+'); @fputs($handle6, $links); @fclose($handle6); fclose($fp); echo $older; ?>
Ungetestet sollte aber funzen^^
Und die @ würde ich weglassen Fehlermeldungen sind praktisch^^
Um die Fehler aufzuspüren^^ -
@garlian: Ne, sorry, das Problem besteht immer noch. Hat sich nichts geändert. Trotzdem vielen Dank an dich!!
Gruß,
screenz -
#...
@$handle=fopen($dateiname['inhalt'], 'a+');
@fputs($handle, $titel);
@fclose($handle);
@$handle2=fopen($dateiname['titel'], 'a+');
@fputs($handle2, $kurztext);
@fclose($handle2);
@$handle3=fopen($dateiname['titelbild'], 'a+');
@fputs($handle3, $inhalt);
@fclose($handle3);
@$handle4=fopen($dateiname['kurztext'], 'a+');
@fputs($handle4, $titelbild);
@fclose($handle4);
#...
ich denke es sollte wohl eher so sein:
#... @$handle=fopen($dateiname['inhalt'], 'a+'); @fputs($handle, $inhalt); @fclose($handle); @$handle2=fopen($dateiname['titel'], 'a+'); @fputs($handle2, $titel); @fclose($handle2); @$handle3=fopen($dateiname['titelbild'], 'a+'); @fputs($handle3, $titelbild); @fclose($handle3); @$handle4=fopen($dateiname['kurztext'], 'a+'); @fputs($handle4, $kurztext); @fclose($handle4); #...
also hat nicht php deine variablen "vertauscht" sondern du
mfg -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage