Top-Themen

Aktuelle Themen (A bis Z)

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

PHP HTML Switch .. case problem

Frage Entwicklung PHP

Mitglied: Xaero1982

Xaero1982 (Level 4) - Jetzt verbinden

14.07.2006, aktualisiert 19.07.2006, 8212 Aufrufe, 30 Kommentare

Allerlei Fragen rund um PHP und SQL / Access ... Also nicht wundern

Hi,

ich habe hier nen kleineres Problem mit PHP

01.
<html> 
02.
<head> 
03.
	<title> 
04.
	</title> 
05.
</head> 
06.
<body> 
07.
<table border="0" valign="top" align="middle"> 
08.
	<tr> 
09.
		<td> 
10.
            <form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" target="_self"> 
11.
                <b>Suchbegriff:</b> 
12.
        </td> 
13.
        <td> 
14.
            <input name="search" type="text" size="30" maxlength="50" value="<?php echo($search);?>"> 
15.
 
16.
        </td> 
17.
	</tr> 
18.
	<tr> 
19.
		<td> 
20.
		    <b>Suchkriterium:</b> 
21.
		</td> 
22.
		<td> 
23.
            <select name="auswahl"> 
24.
            	<?php 
25.
            		//Assoziatives Array für das DropDown der Auswahlkriterien 
26.
            		$menuewahl=array("suchkrit" => "~BitteW&auml;hlen~", "MComputername"=>"Computername", "MBenutzer"=>"Benutzer", "Seriennummer"=>"Seriennummer"); 
27.
            		foreach($menuewahl as $index=>$wahl) 
28.
            		if($auswahl==$index) { 
29.
				?> 
30.
                <option value="<?php echo($index); ?>" name="<?php echo($index); ?>" selected="selected"><?php echo($wahl);?></option> 
31.
                <?php } 
32.
                	else { 
33.
                ?> 
34.
                <option value="<?php echo($index); ?>" name="<?php echo($index); ?>"><?php echo($wahl);?></option> 
35.
            	<?php } 
36.
            	?> 
37.
            </select> 
38.
 
39.
        </td> 
40.
    </tr> 
41.
	<tr> 
42.
		<td align="center" valign="bottom"> 
43.
			 
44.
 
45.
			<input type="submit" value="Suchen" size="50"> 
46.
		    </form> 
47.
		    <!--Zweites Formular um den Inhalt des Textfeldes Search zu leeren bei "Eintrag löschen"--> 
48.
		</td> 
49.
		<td> 
50.
			 
51.
 
52.
			<form action="<?php echo($_SERVER['PHP_SELF']);?>" method="POST" target="_self"> 
53.
				<input type="hidden" name="search" value=""> 
54.
    		    <input type="submit" value="Eintrag l&ouml;schen" > 
55.
           	</form> 
56.
        </td> 
57.
	</tr> 
58.
</table> 
59.
 
60.
 
61.
<hr> 
62.
<?php 
63.
 
64.
 
65.
switch($auswahl) 
66.
67.
case 'MComputername' : { 
68.
	echo("test1"); 
69.
70.
 
71.
default : { 
72.
         echo "test2"; 
73.
74.
?> 
75.
 
76.
</body> 
77.
</html>
So, er ruft hier immer default auf wenn ich oben Computername auswähle. (Die anderen habe ich noch nicht eingebaut, da nicht mal das erste geht.

Sieht jemand den Fehler?
30 Antworten
Mitglied: Dani
14.07.2006 um 13:26 Uhr
Hi,
ich würde sagen da fehlt ein einziger Befehl!
Probier es mal so:
01.
<?php 
02.
 
03.
switch($auswahl) 
04.
05.
  case 'MComputername' :  echo "test1"; break;   
06.
  default :  echo "test2"; 
07.
08.
?>
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
14.07.2006 um 13:33 Uhr
Nicht wirklich, da die Variable "$auswahl" irgendwie immer leer ist :/
Bitte warten ..
Mitglied: Dani
14.07.2006 um 13:35 Uhr
Hi,
01.
switch($_POST['auswahl']
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
14.07.2006 um 14:16 Uhr
Hi,
01.
> switch($_POST['auswahl'] 
02.
> 
Gruß
Dani


Hey cool danke, das geht. Frage mich dann warum es bei einem anderen Projekt gegangen ist. Naja wie dem auch sei.

Evtl hast du ja noch Ahnung hiervon:

Warning: odbc_exec() [function.odbc-exec]: SQL error: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in Zeichenfolge in Abfrageausdruck ''MComputername' = 'PCXX., SQL state 37000 in SQLExecDirect in....


Warning: odbc_fetch_array(): supplied argument is not a valid ODBC result resource in ...

01.
    switch($_POST['auswahl']) 
02.
03.
    case 'MComputername' : { 
04.
        echo("test"); 
05.
                            $stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer WHERE '".$_POST['auswahl']."' = '".$_POST['search']); 
06.
							echo('<table border=1 width=100% nowrap>'); 
07.
							echo('<th>Seriennummer</th><th>Benutzer</th><th>Computername</th><th>Hesteller</th><th>Typ</th><th>Archivierungsdatum</th>'); 
08.
                            while($row = odbc_fetch_array($stmt)){ 
09.
                            echo ("<tr nowrap><td nowrap>"); 
10.
                            echo ("<a href=\"".$row["Seriennummer"]."\">"); 
11.
                            //echo($row["Seriennummer"].'</td><td>'.$row["MBenutzer"]); 
12.
                            echo (implode("<td nowrap>",$row)); 
13.
                            echo ("</tr>"); 
14.
15.
        				   };break; 
16.
 
Wenn ich die WHERE Clausel entferne gibt er mir alle aus. Also das geht ...

Behoben am Ende musste noch ein "'" hin: Also AnführungszeichenHochkommaAnführungszeichen.

Nur doof, dass er nun nichts mehr ausgibt :/
Bitte warten ..
Mitglied: Dani
15.07.2006 um 12:27 Uhr
Hi,
probier es mal so:
01.
$stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer WHERE '".$_POST['auswahl']."' = '".$_POST['search']."'");
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
15.07.2006 um 12:37 Uhr
Hi,
probier es mal so:
01.
> $stmt = odbc_exec($conn, "SELECT * FROM 
02.
> tbl_Maincomputer WHERE 
03.
> '".$_POST['auswahl']."' = 
04.
> '".$_POST['search']."'"); 
05.
> 
Gruß
Dani

Na so hab ich es ja, nur ist die Anzeige nun leer. Er gibt nichts mehr aus :/
Bitte warten ..
Mitglied: Dani
15.07.2006 um 12:42 Uhr
Hi,
und so:
01.
$stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer WHERE ".$_POST['auswahl']." = '".$_POST['search']."'");
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
15.07.2006 um 15:51 Uhr
Hi,
und so:
01.
> $stmt = odbc_exec($conn, "SELECT * FROM 
02.
> tbl_Maincomputer WHERE 
03.
> ".$_POST['auswahl']." = 
04.
> '".$_POST['search']."'"); 
05.
> 
Gruß
Dani

Werde ich montag probieren Im moment hab ich WE und der Kram is auf Arbeit. Melde mich dann wieder
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 07:11 Uhr
yeah du bist genial

es geht ... was auch immer das mit den hochkommata zu tun hat :/

Aber weiter im Text

Hast du eine Ahnung, ob man eine Access Abfrage via sql abrufen und ausgeben kann in PHP.

Ich hab hier so ne Sammlung an PCs die ich archiviert habe. Die kommen natürlich total unsortiert in die DB. Eine Sortierung ist nur via Access in der Datenblattansicht möglich. Bringt mir in PHP natürlich nichts.

Wenn ich ne Abfrage schreibe mit Sortierkriterium in Access gehts natürlich. Nur muss ich diese Abfrage abfragen können U Understand?


edit
eh lol das geht ja echt ... einfach den Namen der Abfrage einsetzen und fertig

also select * from abfrage ...
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 11:25 Uhr
Weiter im Text ...

ich lasse in meiner ausgabe immer die Seriennummer als Link darstellen.

Nun will ich diese Seriennummer an eine andere datei übergeben.

hierzu noch mal kurz der code
01.
<LINK href="HardwareInfo.css" type="text/css" rel="stylesheet"> 
02.
<?php 
03.
require("tool.box"); 
04.
$file="details.php"; 
05.
$stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer_Abfrage" ); 
06.
 
07.
 
08.
echo('<table border=1 width=100% nowrap>'); 
09.
echo('<th>Seriennummer</th><th>Benutzer</th><th>Computername</th><th>Hersteller</th><th>Typ</th><th>Archivierungsdatum</th>'); 
10.
while($row = odbc_fetch_array($stmt)){ 
11.
echo ("<tr nowrap><td nowrap>"); 
12.
echo ("<a href=\"$file?Seriennummer=".$row["Seriennummer"]."\">"); 
13.
echo (implode("<td nowrap>",$row)); 
14.
echo ("</tr>"); 
15.
$i++; 
16.
17.
echo('</table>'); 
18.
echo('Anzahl der Computer: '.$i); 
19.
odbc_close($conn); 
20.
?>
Empfängerdatei
01.
<?php 
02.
 
03.
if(empty(Seriennummer]))die("keine Berechtigung!"); 
04.
 
05.
?> 
06.
 
Also wie bekomme ich die Seriennummer übergeben? Hab schon allerlei versucht, aber irgendwie wills nicht wie ich will :/
Bitte warten ..
Mitglied: Dani
17.07.2006 um 11:37 Uhr
Hi,
probier es mal so:
01.
<?php 
02.
 
03.
if(empty($_POST['Seriennummer']))die("keine Berechtigung!"); 
04.
 
05.
?>
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 11:55 Uhr
Hi,
probier es mal so:
01.
> <?php 
02.
>  
03.
> if(empty($_POST['Seriennummer']))die("keine 
04.
> Berechtigung!"); 
05.
>  
06.
> ?> 
07.
> 
Gruß
Dani

Leider nein, auch nicht mit " " ... hatte ich versucht
Bitte warten ..
Mitglied: Dani
17.07.2006 um 11:58 Uhr
Hi,
sry...falsche Vari!!

01.
<?php 
02.
 
03.
if(empty($_GET['Seriennummer']))die("keine 
04.
Berechtigung!"); 
05.
?>
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 12:48 Uhr
Ach du bist ein Engel *lach* es geht
Bitte warten ..
Mitglied: Dani
17.07.2006 um 12:57 Uhr
Hi,
ich weiß! *ggg*
Den Post kannst du über editieren schließen! Hacken bei "Beitrag gilt als gelöst" setzen und schließen. Vergiss das bewerten nicht!


Gruß
Dani
Bitte warten ..
Der Kommentar von Xaero1982 wurde vom Moderator am 23.11.17 ausgeblendet!
Mitglied: Xaero1982
17.07.2006 um 14:09 Uhr
So da haben wir auch schon wieder was:

Ich möchte einen Bericht erstellen über den ausgewählten PC. Hierbei soll der Benutzer selbst entscheiden welche Daten ausgedruck werden sollen.

Also habe ich Checkboxen nach dem Prinzip:

01.
            <input type="checkbox" name="hX" value="Systeminformationen" onClick="Report()" id="h1">Systeminformationen
02.
 
erstellt.

So weit so gut. Dazu habe ich die Function "Report()" geschrieben. In dieser wird dann via switch case:

01.
function Report() 
02.
03.
    switch ($_POST['hX']) 
04.
05.
    case $_GET['h1'] : { //hier hab ich es auch einfach mit case 'h1' versucht 
06.
        //tbl_Maincomputer============================================================= 
07.
        $stmt = odbc_exec($conn, "SELECT * FROM tbl_Maincomputer WHERE Seriennummer = '".$_GET['Seriennummer']."'"); 
08.
 
09.
        echo('<h3>Systeminformationen</h3>'); 
10.
        echo('<table border=1 width=* nowrap>'); 
11.
        echo('<th>Seriennummer</th><th>Benutzer</th><th>Computername</th><th>Hersteller</th><th>Typ</th><th>Archivierungsdatum</th>'); 
12.
        while($row = odbc_fetch_array($stmt)){ 
13.
        echo ("<tr nowrap><td nowrap>"); 
14.
        echo (implode("<td nowrap>",$row)); 
15.
        echo ("</tr>"); 
16.
17.
        echo('</table>'); 
18.
        };break; 
19.
}}
geprüft was gewählt wurde.

Eh ja nur irgendwie sagt er mir entweder nen Syntaxfehler in Zeile 9 .. da steht nur nen <TD>

oder "Objekt erwartet" in Zeile 9....

hääääääääääää
Bitte warten ..
Mitglied: Dani
17.07.2006 um 14:37 Uhr
Hi,
wie hast du die Funktion eingebunden?! In einer extra Datei, andere Seite oder gleiche Seite. Die Variable $conn musst du übergeben! Sonst kann das gar nicht gehen!


Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 14:47 Uhr
Alles auf der gleichen Seite ...

Wieso muss ich die übergeben? ... dann ruf ich das gleich in der funktion auf .. geht auch oder?

aber hat ja nicht wirklich was damit zu tun oder?
Bitte warten ..
Mitglied: Dani
17.07.2006 um 14:53 Uhr
Hi,
weil die Vari in der Funktion nicht bekannt ist.
01.
function Report($conn)
einbinden:
01.
Report($conn);
Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 14:55 Uhr
$conn ist undefiniert ...


ich glaube hier hängt es woanders ... bei der übergabe der ausgewählten checkbox bzw. beim funktionsaufruf :/
Bitte warten ..
Mitglied: Dani
17.07.2006 um 14:57 Uhr
Hi,
schick mir die Seite an administrator[at]familie-wydler.de


Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 15:03 Uhr
is raus ...

hab aber bald feierabend .. schicks dennoch ich schaus mir zu hause an ...
ansonsten morgen :/
Bitte warten ..
Mitglied: Dani
17.07.2006 um 15:08 Uhr
Hi,
was soll in der $conn drin stehen bzw. bewirken??


Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 15:13 Uhr
01.
<?php 
02.
 
03.
$conn = odbc_connect('Inventar.mdb', '', '', SQL_CUR_USE_ODBC) or die('Error connecting to server. Server says: '.htmlspecialchars(odbc_errormsg())); 
04.
 
05.
?> 
06.
 
Das ist die tool.box und daher die $conn ... mehr nicht
Bitte warten ..
Mitglied: Dani
17.07.2006 um 15:18 Uhr
Hi,
diese Zeile solltest du auch in die details.php schreiben!!


Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 16:31 Uhr
Hi,
diese Zeile solltest du auch in die
details.php schreiben!!


Gruß
Dani

hab ich doch hier:
require("tool.box");

damit binde ich das ein .. die ausgabe geht auch ohne probleme wenn ich das ohne checkboxes und switch case mache.

die übergabe ist das problem ....
Bitte warten ..
Mitglied: Dani
17.07.2006 um 16:36 Uhr
Hi,
das hier kann nicht gehen:
01.
<input type="checkbox" name="hX" value="Festplatte" onClick="Report()" id="h5">Festplatte
02.
 
Du kannst keine PHP Funktion einfach so in html einbinden. Und schon gar nicht mit Javascript!
Da kommst du nicht weiter...

Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
17.07.2006 um 16:47 Uhr
Hi,
das hier kann nicht gehen:
01.
> <input type="checkbox" 
02.
> name="hX" 
03.
> value="Festplatte" 
04.
> onClick="Report()" 
05.
> id="h5">Festplatte 
06.
>  
07.
> 
Du kannst keine PHP Funktion einfach so in
html einbinden. Und schon gar nicht mit
Javascript!
Da kommst du nicht weiter...

Gruß
Dani

haha genau da komm ich nicht weiter ... nicht nur da sondern bei allen checkboxen

nur WIE ist der Aufruf einer PHP Funktion in html ???

mit <?php echo Report();?> gehts auch nicht

Wir können gerne die Funktion auch weg lassen .. Das ist mir ziemlich egal
Muss halt irgendwie in die Switch Anweisung kommen
Bitte warten ..
Mitglied: Dani
17.07.2006 um 17:45 Uhr
Hi,
du kannst inm php => Javascript aufrufen, jedoch nicht anders rum! Sprich du musst das Formular wirklich abschicken und danach kannst du es auswerten. Sprich du liest mit $_POST den checkbox namen (am besten mit 1 bis x durch nummieren) aus und frägst dann den value (ab besten 1 für wahr und 0 für falsch) ab.


Gruß
Dani
Bitte warten ..
Mitglied: Xaero1982
19.07.2006 um 13:57 Uhr
Habe nun einen alternativen Weg genommen. Ich lasse per javascript und css ein bzw ausblenden was ich brauche

thx noch mal für die hilfe
Bitte warten ..
Ähnliche Inhalte
JavaScript
Laufzeit Problem Function in einer Schleife (HTML-PHP-JAVA)
Frage von ruster2010JavaScript13 Kommentare

Hallo community, habe mal ne Frage an euch und versuche sie hier mal zu vormulieren. Mein Ziel: erstellen einer ...

PHP
HTML PHP MySQL Webanwendung
Frage von hahaxd3PHP12 Kommentare

Hallo Leute, Ich möchte gerne Meine Datenbank auf einer webseite darstellen. Dabei sollte diese Als normale Tabelle dargestellt sein. ...

PHP
Anfängerfrage in HTML und PHP
gelöst Frage von Stefan007PHP4 Kommentare

Hallo Leute, es soll angeblich einen einzigen Echo-Befehl geben innerhalb eines PHP-Scripts, der ein komplettes HTML-Grundgerüst erstellen und ausgeben ...

PHP
HTML, PHP Kontaktformular
Frage von windowskidPHP2 Kommentare

Guten Tag zusammen Ich würde gerne in meiner einfachen "Kontakt" HTML-Seite ein Kontaktformular einbetten, wo dann der Webseitenbesucher einfach ...

Neue Wissensbeiträge
MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 5 StundenMikroTik RouterOS4 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 6 StundenSicherheit

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Administrator.de Feedback

Entwicklertagebuch: Die Startseite wurde überarbeitet

Information von admtech vor 8 StundenAdministrator.de Feedback9 Kommentare

Hallo Administrator User, mit dem Release 5.7 haben wir unsere Startseite überarbeitet und die Beiträge und Fragen voneinander getrennt. ...

Vmware

VMware Desktopprodukte sind verwundbar

Information von Penny.Cilin vor 13 StundenVmware

Die VMware-Anwendungen zum Umgang mit virtuellen Maschinen Fusion, Horizon Client und Workstation sowie die Plattform NSX sind verwundbar. Davon ...

Heiß diskutierte Inhalte
Visual Studio
Vb.net-Tool zum Erzeugen einer Outlook-E-Mail
Frage von ahstaxVisual Studio24 Kommentare

Hallo, ich möchte gerne ein vb.net-Tool schreiben, das am Ende eine Outlook-E-Mail erzeugt. Grundsätzlich ist mir klar, wie das ...

Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server16 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows Netzwerk
Netzwerk Neustrukturierung
Frage von IT-DreamerWindows Netzwerk16 Kommentare

Hallo verehrte Community und Admins, bei uns im Haus steht eine Neustrukturierung an. Dafür benötige ich von euch ein ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...