Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

While Schleife - befüllen der Variablen in shell exec

Frage Entwicklung PHP

Mitglied: t.unselt

t.unselt (Level 1) - Jetzt verbinden

08.06.2013, aktualisiert 00:55 Uhr, 1841 Aufrufe, 2 Kommentare

Guten Abend.

Ich hoffe, dass ich mein Problem einigermaßen verständlich machen kann.

Ich habe mir eine While schleife angelegt die ein array aus einer mysql Datenbank ausgeben soll. Die Variablen befülle ich direkt nach der Whileschleife:

01.
$computer = mysql_fetch_array($computer_query); 
02.
while ($service = mysql_fetch_array($service_query)){ 
03.
		$se_servicename=$service['se_servicename']; 
04.
		$co_ipadress=$computer['co_ipadress']; 
05.
		$co_user=$computer['co_user']; 
06.
		$co_password=$computer['co_password']; 
07.
 
In co_* stehen immer die gleichen werte drin, dass soll auch so bleiben. Nur in $se_servicename befinden sich mehrere Werte, eben so viele wie es Services gibt. Ausgabe von $se_servicename: DhcpProfSvcgpsvcPlugPlay (4 unterschiedliche Servicenamen)

Dann wird in der Whileschleife die Tabelle ausgeben:

01.
    <tr> 
02.
 
03.
        <td> 
04.
		<?php 
05.
		$status = shell_exec("psservice \\\\$co_ipadress -u $co_user -p $co_password query $se_servicename -accepteula"); 
06.
 
07.
 
08.
		if (preg_match("/RUNNING/i", "$status.")) { 
09.
		echo "Dienst Gestartet"; 
10.
		} elseif (preg_match("/STOPPED/i", "$status.")) { 
11.
		echo "Dienst Gestoppt"; 
12.
		} else { 
13.
		echo "Nicht feststellbar"; 
14.
15.
 
16.
		?> 
17.
 
18.
		</td> 
19.
        <td><?=$service['se_displayname']?></td> 
20.
        <td><?=$service['se_servicename']?></td> 
21.
        <td><?=$service['se_description']?></td> 
22.
		<td> <form method="post" action="detailscomputer.php?co_id=5"> <input type="submit" name="start" value="starten" ></form> </td> 
23.
		<td> <form method="post" action="detailscomputer.php?co_id=5"> <input type="submit" name="stop" value="stoppen"></form> </td> 
24.
    </tr> 
25.
 
Am ende sind 2 Knöpfe, die die Dienste via $_Post stoppen und starten können. Die Abrage auf $_Post und den auszuführenden Befehl habe ich mir so vorgestellt.

01.
 
02.
<?php 
03.
 
04.
 
05.
if(isset($_POST['start'])){	 
06.
		echo "$se_servicename"; 
07.
		shell_exec("psservice \\\\$co_ipadress -u $co_user -p $co_password start $servicename -accepteula"); 
08.
09.
   
10.
if(isset($_POST['stop'])){	 
11.
		echo "$se_servicename"; 
12.
		shell_exec("psservice \\\\$co_ipadress -u $co_user -p $co_password stop $servicename -accepteula"); 
13.
14.
 
15.
?> 
16.
 

Mein Problem ist jetzt, dass in der Variablen $servicename für jede Zeile immer alle Dienste drin sind und nicht einzeln. Somit starte bzw stoppe ich immer alle Dienste gleichzeitig, sobald ich auf einen Kopf klicke.
Setze ich den letzten code hinter die whileschleife ist nur der letzte Dienst in der Tabelle (PlugPlay) in $se_servicename enthalten.
Wie muss ich den exec-befehl gestalten, damit er die whileschleife richtig aufnimmt? Ich hoffe ihr könnt mir helfen.



Grüße Thorsten
Mitglied: Arano
08.06.2013 um 10:49 Uhr
Hallo Thorsten,

01.
<form method="post" action="detailscomputer.php?co_id=5"> 
02.
   <input type="submit" name="start" value="starten" > 
03.
</form>
WAS Starten ?
Du musst deinem Script dann schon sagen welchen der Service er starten soll (immerhin hast du ihm ja per GET-Variable auch schon gesagt, welchen Computer es betrifft):
01.
<form method="post" action="detailscomputer.php?co_id=5"> 
02.
  <input type="hidden" name="svc_name" value="<?=$service['se_servicename']?>" > 
03.
  <input type="submit" name="start" value="starten" > 
04.
</form>

~Arano
Bitte warten ..
Mitglied: t.unselt
08.06.2013 um 13:44 Uhr
Hallo Arno.

Natürlich! Ich übergebe ihm ja keinen Wert. Sehr dumm von mir.

Mit dem eintragen des zu übergebenes Wertes in dem Formular und der Abfrage des Wertes in der IF-Abfrage

01.
if(isset($_POST['start'])){ 
02.
		$se_servicename_neu =$_POST['start']; 
03.
		echo "$se_servicename_neu wird gestartet"; 
04.
		shell_exec("psservice \\\\$co_ipadress -u $co_user -p $co_password start $se_servicename_neu -accepteula"); 
05.
 }
funktioniert es nun einwandfrei. Ich danke dir!

LG Thorsten
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Variable in Makefile durch Shell Command (2)

Frage von nico1999 zum Thema Batch & Shell ...

Batch & Shell
Batch: Variable Expansion in einer FOR-Schleife (9)

Frage von .Sessl zum Thema Batch & Shell ...

Batch & Shell
gelöst In Batchdatei Variablen befüllen - mit Werten aus einer TXT-Datei (6)

Frage von donnyS73lb zum Thema Batch & Shell ...

Microsoft Office
gelöst Excel: Matirx mit Formel automatisch befüllen (5)

Frage von sims zum Thema Microsoft Office ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Festplatten, SSD, Raid
gelöst Raid-Controller (Areca) Datenverlust trotz R5 (16)

Frage von sebastian2608 zum Thema Festplatten, SSD, Raid ...

Server-Hardware
Starker PC zum Virtualisieren (10)

Frage von canlot zum Thema Server-Hardware ...

Server-Hardware
HP ProLiant DL380 G7, POST Error: 1785-Drive Array not Configured (10)

Frage von Paderman zum Thema Server-Hardware ...

Microsoft Office
gelöst Office 365 Pro Domäne einrichten OHNE Webseite (9)

Frage von thklemm zum Thema Microsoft Office ...