PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : "apache2-default/method="get" was not found"



hiyeah
13.10.07, 19:13
hallo,

ich habe hier spaßenhalber nen etch server mit apache2, mysql, php und einigen anderen anwendungen lümmeln.

nun wollte ich ein bisschen mit mysql rumspielen und via php/html interface sachen in eine db ein- und auslesen.

leider werde ich beim input mit folgender meldung zurueckgewiesen:


The requested URL /apache2-default/method="get" was not found on this server.

die output datei zeigt leider keinen eintrag an, obwohl ich ihn manuell hinzugefuegt habe, und ihn mein mysql monitor auch anzeigt.

anbei die beiden files:

input:


<html>

<?php
if ($comment){
$conn=mysql_connect("localhost","elenio","secret" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn)
or die ("konnte die db nicht abfragen");

$string="INSERT INTO comment_table VALUES ('0', '$comment')";
mysql_query($string)
or die(mysql_error());}

?>

<form action=<? echo $PHP_SELF ?> method="get">
<input type="text" name="comment" size"80"> <br>
</form>



</html>


output:
->


<<
<html>
<?php
$conn=mysql_connect("localhost","elenio","secret" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn);
or die("konnte nicht auf die db connecten");

$string="SELECT * FROM comment_table";
$result= mysql_query($string)
or die(mysql_error());

$numbers_cols= mysql_num_fields($result);

print "<b>abfrage: $string</b>;
print "<table border =1>\n";
print "<tr>";
print "<td> ID</td>";
print "<td> Comment </td>";
print "</tr>";
while (list($id,$comment) = mysql_fetch_array($result)){
print "<tr>";
print "<td>$id</td>";
print "<td>$comment</td>";
print "</tr>";}

print "<table>" ;

?>
</html>




google spuckt zu diesem fehler leider nicht viel aus. vllt kann mir hier ja jemand helfen??

vielen dank

j.

Roger Wilco
13.10.07, 20:32
input:

<html>

<?php
if ($comment){
$conn=mysql_connect("localhost","elenio","secret" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn)
or die ("konnte die db nicht abfragen");

$string="INSERT INTO comment_table VALUES ('0', '$comment')";
mysql_query($string)
or die(mysql_error());}

?>

<form action=<?php echo $PHP_SELF ?> method="get">
<input type="text" name="comment" size"80"> <br>
</form>



</html>

Ändere Zeile 17 mal zu:

<form action="<? echo $PHP_SELF ?>" method="get">

hiyeah
13.10.07, 20:41
gibt jetzt zwar keine meldung mehr, aber ein eintrag wuerd auch nicht vorgenommen:



mysql> select * from comment_table;
+----+---------+
| id | comment |
+----+---------+
| 1 | elenio |
+----+---------+
1 row in set (0.00 sec)


ciao

Roger Wilco
13.10.07, 20:50
Dann informiere dich am besten mal über register_globals. Außerdem solltest du die Rückgaben der SQL-Queries überprüfen...

hiyeah
13.10.07, 20:58
Hallo,
ich habe die beiden schnippsel aus dem bekannten werk :" linux -wegweiser zur installation & konfiguration" vom o'reilley verlag. kann mir echt nicht vorstellen, dass da was falsch sein soll.

ich werd mich aber mal schlau machen. falls sonst noch jmd was einfaellt.. bin ganz offen ;)

ciao

Tocotac
14.10.07, 12:10
wie Roger Wilco scho sagte: [..]register_globals[..]



<html>

<?php
if ($_GET['comment']){
$conn=mysql_connect("localhost","elenio","secret" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn)
or die ("konnte die db nicht abfragen");

$string="INSERT INTO comment_table VALUES ('0', '".mysql_real_escape_string($_GET['comment'])."')";
mysql_query($string)
or die(mysql_error());}

?>

<form action=<? echo $PHP_SELF ?> method="get">
<input type="text" name="comment" size"80"> <br />
</form>



</html>



<html>
<?php
$conn=mysql_connect("localhost","elenio","secret" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn);
or die("konnte nicht auf die db connecten");

$string="SELECT * FROM comment_table";
$result= mysql_query($string)
or die(mysql_error());

$numbers_cols= mysql_num_fields($result);

print "<b>abfrage: $string</b>;
print "<table border ='1'>\n";
print "<tr>";
print "<td> ID</td>";
print "<td> Comment </td>";
print "</tr>";
while (list($id,$comment) = mysql_fetch_array($result)){
print "<tr>";
print "<td>$id</td>";
print "<td>$comment</td>";
print "</tr>";}

print "<table>" ;

?>
</html>

ciao e buon lavoro

hiyeah
14.10.07, 17:18
hallo,
kann das ein serverteigies problem sein?
auch mit Tocotac's vorschlag kommen die fehler.

ciao e grazie per aiutare

edit: ok, out. php hatte 2 syntaxfehler, die nun behoben sind. nun laeuft schonmal das.
->
zeile 6:
mysql_select_db("test_database", $conn) ; <---- das semikolon
und zeile 17 : " <- vergessen

Tocotac
14.10.07, 17:28
hallo,
kann das ein serverteigies problem sein?
auch mit Tocotac's vorschlag kommen die fehler.

ciao e grazie per aiutare

Die Option 'register_globals' wird ja serverseitig gesteuert. Vielleicht kannst Du uns einen Link zu deiner phpinfo() zusenden.

Nächster Vorschlag: Du hast die Spalte 'id' auf auto_increment und somit solltest Du versuchen keine id beim Insert mitzugeben. Also:
INSERT INTO comment_table (comment) VALUES ("irgendwas");

figurati

hiyeah
14.10.07, 17:50
hallo,

die phpinfo bekommst du per pn.
den tipp werd ich gleich mal testen.

ciao

hiyeah
14.10.07, 17:58
http://phpfi.com/268932

Tocotac
14.10.07, 18:12
also 'register_globals' ist off (das ist gut so)
und 'short_open_tag' in on (benutzt Du im Form-Tag)

In deinem Form-Tag schreibst Du <? echo $PHP_SELF ?>.
Ersetzte dies mal durch <?php echo $_SERVER['PHP_SELF'] ?>

und dann schau, ob die Variablen ankommen, mit: [i]<pre><?php print_r($_REQUEST); ?></pre>

hiyeah
14.10.07, 18:18
Hallo,
den form-tag zu aendern hat leider null gebracht.

hier die ausgabe vom request.



[i]

Array
(
[comment] => ele123
[last_domain] => default
[last_loginid] => elenio
)


ciao

scheint als will er auf pos. 1 schreiben, wo "elenio" steht, oder?

edit2:
ok, bin nun soweit, dass er einen neuen eintrag in die db setzt, aber nur die ID, nciht den command.

-> input.php


<html>

<?php

if ($_GET['comment']){
$conn=mysql_connect("localhost","elenio","internet" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn)
or die ("konnte die db nicht abfragen");

$string="INSERT INTO comment_table VALUES ('0', '$comment')";
mysql_query($string)
or die(mysql_error());}

?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="get">
<input type="text" name="comment" size"80"> <br>
<input type="submit">
</form>


[i]<pre><?php print_r($_REQUEST); ?></pre>


</html>

Tocotac
14.10.07, 18:43
hast Du die Spalte 'id' mit 'auto_increment' (http://dev.mysql.com/doc/refman/5.1/de/example-auto-increment.html) definiert?

Wenn ja, solltest Du mein INSERT keine id mitgeben.
mysql_query('INSERT INTO comment_table (comment) VALUES ('.mysql_real_escape_string($_GET['comment']).') or die (mysql_errno().': '.mysql_error());

Falls dies nicht funktioniert, schreib mal die Fehlermeldung, die er schreibt.

Edit:
Es lautet ja auch:

$string='INSERT INTO comment_table (comment) VALUES ('.mysql_real_escape_string($_GET['comment']).';
mysql_query($string)

das mysql_real_escape_string() kannst Du auch weglassen, solltest Du aber nicht.

hiyeah
14.10.07, 18:53
Kooomisch. jetzt habe ich irgendwie ein mischmasch aus allem und es klappt. das find ich aber doof jetzt :)

egal. hier mal meine input.php, fuer alle suchenden:


<html>

<?php

if ($_GET['comment']){
$conn=mysql_connect("localhost","elenio","internet" )
or die("konnte mich nicht mit elenio anmelden");

mysql_select_db("test_database", $conn)
or die ("konnte die db nicht abfragen");


$string="INSERT INTO comment_table VALUES ('0', '".mysql_real_e$mysql_query($string)
or die(mysql_error());}

?>

<form action="<?php echo $PHP_SELF ?>" method="get">

<input type="text" name="comment" size"80"> <br>
<input type="submit">
</form>


[i]<pre><?php print_r($_REQUEST); ?></pre>


</html>



vielen dank fuer die hilfe.

ciao

Tocotac
14.10.07, 19:13
Wie ich glaube, fängst Du gerade mit PHP/MySQL an.
Hier sei noch auf das Schwesterforum[1] hingewiesen. Wenn du es speziell für PHP haben möchtest, dann bei [2]

Weiter findest Du Infos bei der PHP-Maillist [3] und der MySQL-Maillist [4]

[1] http://www.mrunix.de/
[2] http://www.phpforum.de/
[3] http://www.phpbar.de/w/Mailingliste:Listen (gut besucht)
[4] http://lists.mysql.com/ (weniger besucht)