daspossum
Goto Top

PHP String inhalte wiedergeben

Hallo zusammen,

ich arbeite gerade an ein kleines Script das mir Linuxbenutzer auf den Webserver ausgeben soll.
Bisher habe ich folgenden Script geschrieben:

 

<?php 

$output= shell_exec("cut -d: -f1 /etc/passwd");  
// wiedergabe
<th><?php echo nl2br($output);?></th
?> 

Die Ausgabe des Strings funktioniert auch aber leider nur als zusammenhängend. Ich würde gerne die Namen pro Tabellen Feld
und nicht alle Namen ein Feld.

Mein ansatz war:
 

<?php 
//$string = explode(" ", $output); 
//for($i = 0; $i < count($string); $i++){
//      echo "<tr><td>$i = $string[$i] </td></tr><br />"; 
//}
?> 
Leider hat es so nicht funktioniert, ich würde gerne aus den Namen Buttons machen oder sie auf eine weitere Seite verlinken. Ich kenne mich
leider auch nicht so gut mit PHP aus und habe mir erstmal versucht Basics zu erarbeiten. Ist mein Vorhaben in PHP überhaupt möglich oder habe
ich den falschen Ansatz?

gruß daspossum

Content-Key: 284057

Url: https://administrator.de/contentid/284057

Printed on: April 19, 2024 at 21:04 o'clock

Member: SlainteMhath
Solution SlainteMhath Sep 28, 2015 updated at 08:07:28 (UTC)
Goto Top
Moin,

versuchs doch mal mit
$string = explode("\n", $output);   
Das sollte den String korrekt trennen.

lg,
Slainte
Member: DasPossum
DasPossum Sep 28, 2015 at 08:11:12 (UTC)
Goto Top
ich hab den code jetzt so aufgebaut
<?php
$output= shell_exec("cut -d: -f1 /etc/passwd");  

$string = explode("\n", $output);  
echo "<table border='1'>";  
for($i = 0; $i < count($string); $i++){
        echo "<tr><td>$i = $string[$i] </td></tr>";  
}
echo "</table>";  
?>

Die Ausgabe ohne table funktioniert sehr gut, wenn ich abert eine Table machen möchte funktioniert die Ausgabe auf den Webserver nicht mehr. Gibt es dafür auch eine Lösung, es kommt keine Fehlermeldung, die Seite ist einfach nur Weiß.

lg,
daspossum
Member: SlainteMhath
SlainteMhath Sep 28, 2015 at 08:16:21 (UTC)
Goto Top
Du musst den String für echo korrekt zusammensetzen: $i und $string gehören ausserhalb der Anfürungszeichen:

 echo "<tr><td>". $i ."=". $string[$i] ."</td></tr>";   
Member: DasPossum
DasPossum Sep 28, 2015 at 09:22:59 (UTC)
Goto Top
danke, es hat sehr gut funktioniert. Habe das ganze jetzt so gelöst, damit beide in tabelenform nebeneinander ausgegeben werden. Habe dann noch Classen vergeben, damit ich die Tabellen etwas anpassen kann. Jetzt muss ich nur noch rausfinden wie ich die Ausgaben verlinken kann.
table align="left" border="2">  
            <tr>
                <th>User</th>
            </tr>
        <?php
        $output= shell_exec("cut -d: -f1 /etc/passwd");  
        $string = explode("\n", $output);  
        for($i = 0; $i < count($string); $i++){
            echo "<tr><td>".$i."=".$string[$i]."</td><tr>";  
        }
        ?>
        </table>
        <table align="left" border="2">  
            <tr>
                <th>ID</th>
            </tr>
        <?php
        $bid = shell_exec("cut -d: -f3 /etc/passwd");  
        $bebid = explode("\n", $bid);  
        for($i = 0; $i < count($bebid); $i++){
                echo "<tr><td>".$i."=".$bebid[$i]."</th></tr>";  
        }
Member: SlainteMhath
SlainteMhath Sep 28, 2015 updated at 09:30:17 (UTC)
Goto Top
was meinst du mit "verlinken"? User und ID in der gleichen Table? in etwa so:
table align="left" border="2">  
            <tr>
                <th>User</th><th>ID</th>
            </tr>
        <?php
        $output= shell_exec("cut -d: -f1 /etc/passwd");  
        $string = explode("\n", $output);  
		$bid = shell_exec("cut -d: -f3 /etc/passwd");  
        $bebid = explode("\n", $bid);  
		
        for($i = 0; $i < count($string); $i++){
            echo "<tr>"  
			echo "<td>".$i."=".$string[$i]."</td>";  
			echo "<td>".$i."=".$bebid[$i]."</td>  
			echo "</tr>";  
        }
        ?>
        </table>

ist zwar nicht sauber, aber fürs erste reicht das aus.
Member: DasPossum
DasPossum Sep 28, 2015 at 10:04:49 (UTC)
Goto Top
Ich würde gern bei jeden Benutzer ein neues Fenster öffnen. Damit man dann Benutzereinstellungen vornehmen kann oder sich anzeigen lassen kann.
Member: SlainteMhath
SlainteMhath Sep 28, 2015 at 10:21:14 (UTC)
Goto Top
Quick'n'Dirty(tm)

echo "<td>".$i."=<a href='/benutzer_einstellungen.php?benutzer=".urlencode($string[$i])."' target='_new'>". $string[$i] ."</a></td>";