Formular Problem

Krypthonas

Erfahrenes Mitglied
Ja Hallo.

Ich habe ein formular was auf meiner Seite inludet wird. Und zwar so:

index.php?show=content/news9.php

So nun das Problem.

In diesen Formular sind 2 Textfelder die Texte aus einer DBm wieder geben.

Andere ich nun an denen was also ich verändere zum beispiel den Text kann er das nicht in die dbm speicher weil er folgendes oben ausgibt:

index.php?post=Benjamin+B+&message=Test+

So das ist aber falsch weil ja da nicht meine Formaular daten liegen. Das heist es müsste so heisen:

index.php?show=content/news9.php?post=Benjamin+B+&message=Test+

Dann würde es sicherlich gehen. Aber wie bekomme ich das hin das er mir das so verarbeitet?

MfG
 
Erstmal ein kleiner Tipp:
PHP:
index.php?show=content/news9.php
solltest du anders machen, nicht den ganzen pfad des Includes angeben, sonst kann man da auch ganz einfach andere Scripte in deine Seite einbauen, die für dich vielleicht nicht so toll sind.

Jetzt aber zu deinem Problem:
Ich denke mal dass du dein Formluar irgendwie so gemacht hast:
PHP:
<form method="post" action="index.php">
<form method="get" action="index.php">
(index.php?show=content/news9.php?post=Benjamin+B+&message=Test+ <-- das schaut eher danach aus als würdest du es mit get übergeben...)

Für method="post":
action="index.php?show=content/news9php"

Für method="get":
<form method="get" action="index.php">
<input type="hidden" name="show" value="content/news9.php">

Wenn das nicht funktionieren sollte wär ein bißchen Quellcode nicht schlecht...
 
SO richtig will es nicht.

Also ich geh jetzt mal von meinen Server aus.

Root
/
|---content/
| | //in diesen Ordner liegen meine datein
| |
| data/ //in diesen Ordner íst die DBM
|
|-index.php //diese includet diese


So also wie geasgt include ich alle datein mit

index.php?show=content/dralala.php

Wenn ich nun das Formular wo man was ändern kann include heist es so:

index.php?show=content/news9.php

So nun zeigt er mir zwar in den Textareas alles an was ich geschrieben habe aber wenn ich of senden/ok klicke komme ich immer auf die Startseite. Soweit war ja alles klar.

Ich schick jetzt mal den quellcode von der news9.php:

PHP:
  <?
$content="13";
if (! empty($message) && ! empty( $post))
$produkte = array(
        "13" => array( post=>"$post", 
                               mess=>"$message", 
                               edit=>"<a href=\"index.php?show=content/News13.php\">Editieren</a>",        
							    del=>"<a href=\"index.php=show=content/del13.php\">löschen</a>"
									  
									  
									   ),
       );
$dbh = @dbmopen("./content/data/content", "c" ) 
       or die("Konnte DBM nicht öffnen");

while ( list ( $schluessel, $wert ) = each ( $produkte ) )
    dbmreplace( $dbh, $schluessel,  serialize( $wert ) );
dbmclose( $dbh );

?>


<form action=" index.php?show=content/news9.php" action="POST">
<table border="1">
 
 <? 


$dbh= @dbmopen("./content/data/content", "c") or die("Konnte DBM nicht öffnen");

		
		$schluessel= dbmfirstkey($dbh);
		if ($schluessel = "13")
		{
	
		$getting= unserialize (dbmfetch($dbh, $schluessel));

print "<tr><td><textarea name=\"post\" cols=\"50\">$getting[post] </textarea></td>";
print "<td><textarea name=\"message\" cols=\"50\">$getting[mess] </textarea></td></tr>";
	
	

	}

dbmclose($dbh);


?> 

<tr>
<td>&nbsp;</td>
<td><input type="submit" value="Ändern"></td>

</tr>


</form>
</table>

So das macht er aber nicht da zeigt er mir das an:

index.php?post=Krypthonas+&message=karhce+

Das ist wie gesagt falsch.
 
Fetten Fetten Fetten Dank.

Deine Lösung ging doch. Irgendwie wollte es beim ersten mal nicht so. aber jetzt geht es.

Also echt fetten Dank.

Ich liebe wenn ein Plan Funktioniert! ;-)
 
Wenn Du nicht irgendwann einen ganz fiesen Hack auf Deinem Webspace haben möchtest solltest Du den includepfade FESTLEGEN und nicht über die URL einstellbar machen (wie bereits erwähnt wurde: X-Site-Scripting).


Wenn Du eine URL mit 2 "?" machst ist doch wohl klar, das nicht alles korrekt läuft. Hier würde wohl URLENCODE und URLDECODE helfen :)

http://www.php.net/manual/de/function.urlencode.php
http://www.php.net/manual/de/function.urldecode.php

Das Beste ist jedoch das System noch einmal zu überdenken und Abstand von dieser Art des includens zu nehmen.
 
Zurück