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)
Submit übergabe falsch ??? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Submit übergabe falsch ???


 
erti
22-10-2004, 13:50 
 
Hallo !

Ich habe hier eine trafficabfrage gemacht nur schaff ich es nicht per submit button die genauen details anzuzeigen !

wenn ich jedoch das monat anklicke funktioniert es !

es wird immer nur das erste monat des jeweiligen users angezeit !

d.h. irgendwie folgt die übergabe nicht richtig !

Bitte um hilfe !

<?php
$ip=$_SERVER["REMOTE_ADDR"];
if(isset($_REQUEST["month"])) {
$month=$_REQUEST["month"];
include('inc/style.inc.php');
?>
<link rel="STYLESHEET" type="text/css" href="../style/style.css" media="all">
<center><font size="4">IP: <?php echo $ip; ?></font></center>
<br>
<table border=0 width="100%">
<tr>
<th>Tag</th>
<th>Traffik Eingehend</th>
<th>Traffik Ausgehend</th>
<th>Traffik Gesamt</th>
</tr>

<?php
$link = mysql_connect ('192.168.11.1', 'root', '123') or die ('Konnte nicht mit der Datenbank verbinden');
mysql_select_db('account', $link) or die ('Die erforderliche Datenbank existiert nicht');
$select ='SELECT LEFT(time, 10) AS day,SUM(input) AS input,SUM(output) AS output,SUM(input + output)
AS summe FROM traffic WHERE IP = \''.$ip.'\'AND LEFT(time, 7)="'.$month.'" GROUP BY LEFT(time, 10) ';
$result = mysql_query ($select, $link) or die ("Invalid query");
if (mysql_num_rows($result)>0 ) {
while ($row = mysql_fetch_array ($result)) {
?>
<tr>
<td align="center"><?php echo($row["day"]); ?></td>
<td align="center"><?php echo(round($row["input"]/1024/1024,3)); ?> MByte</td>
<td align="center"><?php echo(round($row["output"]/1024/1024,3)); ?> MByte</td>
<td align="center"><?php echo(round($row["summe"]/1024/1024,3)); ?> MByte</td>
</tr>
<?php } } ?>
</table>
<?php } else { ?>
<?php include('inc/style.inc.php'); ?>

<link rel="STYLESHEET" type="text/css" href="../style/style.css" media="all">

<center><font size="4">IP: <?php echo $ip; ?></font></center>
<br>
<table border=0 width="100%">
<tr>
<th>Auswahl</th>
<th>Monat</th>
<th>Traffik Eingehend</th>
<th>Traffik Ausgehend</th>
<th>Traffik Gesamt</th>
</tr>

<?php
$link = mysql_connect ('192.168.11.1', 'root', '123') or die ('Konnte nicht mit der Datenbank verbinden');
mysql_select_db('account', $link) or die ('Die erforderliche Datenbank existiert nicht');
$select ='SELECT LEFT(time, 7) AS monat,SUM(input) AS input,SUM(output) AS output,SUM(input + output)
AS summe FROM traffic WHERE IP = \''.$ip.'\' GROUP BY LEFT(time, 7)';
$result = mysql_query ($select, $link) or die ("Invalid query");
if (mysql_num_rows($result)>0 ) {
while ($row = mysql_fetch_array ($result)) {
?>
<tr>
<td align="center"><form action="<?php echo($PHP_SELF); ?>?month=<?php echo($row["monat"]); ?>" method="post">
<input type="radio" name="trafficdetails" value="<?php echo($row["monat"]); ?>">
<td align="center"><a href="<?php echo($PHP_SELF); ?>?month=<?php echo($row["monat"]); ?>">
<?php echo($row["monat"]); ?></a></td>
<td align="center"><?php echo(round($row["input"]/1024/1024,3)); ?> MByte</td>
<td align="center"><?php echo(round($row["output"]/1024/1024,3)); ?> MByte</td>
<td align="center"><?php echo(round($row["summe"]/1024/1024,3)); ?> MByte</td>
</tr>
<?php } } ?>
</table>
<BR><p align="center">
<input type="submit" value="Traffic Details anzeigen">
<?php } ?>

 
php-anfaenger
22-10-2004, 15:07 
 
Original geschrieben von erti
Hallo !

Ich habe hier eine trafficabfrage gemacht nur schaff ich es nicht per submit button die genauen details anzuzeigen !

wenn ich jedoch das monat anklicke funktioniert es !

es wird immer nur das erste monat des jeweiligen users angezeit !

d.h. irgendwie folgt die übergabe nicht richtig !

Bitte um hilfe !



So, bitte nochmal sammeln und dann neu formulieren, verstehe nämlich nix von dem was du schreibst...
Desweiteren wäre ne kleine Fehlerbeschreibung evtl. vorteilhaft....
Danke

 
erti
22-10-2004, 15:13 
 
Hallo !

Die trafficabfrage im detail funktioniert nur mit diesen link wenn ich das jeweilige monat anklicke bekomme ich die täglichen statistiken innerhalb des Monats !

<td align="center"><a href="<?php echo($PHP_SELF); ?>?month=<?php echo($row["monat"]); ?>">
<?php echo($row["monat"]); ?></a></td>

ich möchte aber das über einen Submit Button machen

<td align="center"><form action="<?php echo($PHP_SELF); ?>?month=<?php echo($row["monat"]); ?>" method="post">
<input type="radio" name="trafficdetails" value="<?php echo($row["monat"]); ?>">

aber da dürfte noch etwas falsch sein ! da immer das erste monat angezeigt wird egal welches man anklickt !

besten Dank im vorraus

mfg.
erti

 
Abraxax
22-10-2004, 15:13 
 
und auch nicht vergessen den code deutlich umzubrechen! :teach:

 
marc75
22-10-2004, 16:11 
 
wieviel Buttons haste denn, 12 oder 1?


//wird durchgelaufen und ein Monat hinten dran geklatscht
//haste den formtag 12x?
<form action="<?php echo($PHP_SELF); ?>?month=<?php echo($row["monat"]); ?>" method="post">

//Ansonsten wie wäre es mit einer Selectbox und
//Übergabe per Post statt get, den ?month=xyz ist per get


Ein Blick in den Quelltext im browser kann auch helfen.

 
erti
22-10-2004, 16:57 
 
Hallo !

Der button ist ganz unten im Script

<input type="submit" value="Traffic Details anzeigen">

Ein Button, die monate werden mittels radio buttons gewählt !

<input type="radio" name="trafficdetails" value="<?php echo($row["monat"]); ?>">

mfg.
Erti

 
marc75
22-10-2004, 17:21 
 
und welche variable nimmst du nach dem Absenden zur Monatsauswahl?

trafficdetails oder month ?

 
Wendel
22-10-2004, 17:22 
 
Wenn ich das richtig verstanden habe, will er 12 radiobuttons mit den Monaten hintendran (while schleife),
die dann selektieren und am ende per submit übergeben?!? Nur das Form tag wird ja erst beim submit übergeben
und das steht außerhalb der Schleife, was wohl auch gewollt ist,oder?! Auf jeden Fall sollte das am Anfang $_POST[trafficdetails] oder $_REQUEST[trafficdetails](kenn ich nicht) heißen,
damit er weis, welchen monat er suchen muss, weil method=post und Ziel =php_self?
Probleme gibts bei der Auswahl mehrerer Monate, weil die heißen alle gleich(trafficdetails und man müsste in die Schleife noch nen counter hintendran hänge.
Evtl. würde ich den submit button mal in die schleife reinnehmen.
Bin aber vielleicht auch ganz falsch. Trotzdem als Tip mysql_error is nie verkehrt.

 
marc75
22-10-2004, 17:28 
 
Original geschrieben von Wendel

Probleme gibts bei der Auswahl mehrerer Monate, weil die heißen alle gleich(trafficdetails und man müsste in die Schleife noch nen counter hintendran hänge.
Evtl. würde ich den submit button mal in die schleife reinnehmen.



nun mach es mal nicht zu kompliziert.

in der var trafficdetail steht ja dann der Monat drin

 
Wendel
22-10-2004, 17:56 
 
Ja, aber die var trafficdetails gibts ja aufgrund der schleife dann 12 mal!
Und da der submit Button außerhalb der Schleife steht, wird wohl nur der letzte inhalt übermittelt.
Oder wird das nicht überschrieben? Bei mehreren Monaten müsste man also entweder ein array anlegen
oder die vars durchnummerieren,Ohne das jetzt zu verkomplizieren zu wollen! ;)

 
marc75
23-10-2004, 09:54 
 
Original geschrieben von Wendel
Ja, aber die var trafficdetails gibts ja aufgrund der schleife dann 12 mal!
Und da der submit Button außerhalb der Schleife steht, wird wohl nur der letzte inhalt übermittelt.
Oder wird das nicht überschrieben?


nö, er gibt es ja jedesmal gleich aus, per echo


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.