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

Mitglied: Xaero1982

Xaero1982 (Level 4) - Jetzt verbinden

14.07.2006, aktualisiert 19.07.2006, 8296 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.08.19 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
PHP
HTML Code in PHP
gelöst Frage von newit1PHP8 Kommentare

Hallo, es geht um folgenden PHP Code: In der letzten Zeile wird ein einer Tabelle die E-Mail Adresse ausgegeben. ...

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 ...

Exchange Server
Umbenennen des CAS Array
Frage von 125063Exchange Server4 Kommentare

Hallo, wir haben 2 Exchange Server mit Failovercluster. Ich habe ein CAS Array erstellt, allerdings möchte ich jetzt den ...

PHP

PHP, HTML, CSS Files online berabeiten und verwalten

Frage von ischbindebaetmaenPHP2 Kommentare

Moin Admins, ich suche nach einer Möglichkeit um PHP HTML und CSS Files online zu bearbeiten und zu verwalten. ...

Neue Wissensbeiträge
Hyper-V
Setup VM W2016 startet nicht in Hyper-V 2016
Erfahrungsbericht von keine-ahnung vor 22 StundenHyper-V4 Kommentare

Moin, sitze gerade über meinem neuen Server und versuche, die VM auf den Host zu prügeln. Jetzt wollte ich ...

Server-Hardware

HPE Proliant ML350P Gen8 Probleme mit Zugriff auf Raid-Volumes

Erfahrungsbericht von goscho vor 1 TagServer-Hardware1 Kommentar

Hallo Leute, das Problemgerät: HPE ML350P G8 Windows Server 2012R2 HyperV-Host 8 x 300 GB 10K SAS HDD (1 ...

Humor (lol)

"Linux und 5 Gründe Warum man kein Windows verwenden sollte sondern Ubuntu Linux"

Information von Snowbird vor 2 TagenHumor (lol)8 Kommentare

Gerade gefunden. Ja, ist etwas älter, aber irgendwie lustig?

Linux

"Warum Linux in einer vernetzten Welt einfach keinen Komfort bietet!"

Tipp von Snowbird vor 3 TagenLinux13 Kommentare

Ein interessanter Einblick warum Linux nichts für Geräteübergreifende Arbeit ist :)

Heiß diskutierte Inhalte
Netzwerkgrundlagen
Windows Server über Außen-IP nicht ansprechbar
Frage von uups81Netzwerkgrundlagen25 Kommentare

Hallo! Es gibt mehrere Windows Server (2016, 2019), die über einen zweiten Netzwerkadapter in einem lokalen Netzwerk miteinander verbunden ...

Microsoft
Windows 10 - Kombination von lokalen Benutzerkonten und Benutzern aus einer Domäne
Frage von PappnaseVxVVMicrosoft21 Kommentare

Hi, würde gerne folgendes realisieren, von dem ich gern wüsste, ob es geht. Ich habe einen Raum mit 3 ...

Grafikkarten & Monitore
Grafikkarten Angebot auf Amazon
gelöst Frage von NudellordGrafikkarten & Monitore20 Kommentare

Hallo Community, ich suche eine neue Grafikkarte und bin auf die Nvidea Gforce GTX 1080 ti gestoßen. Und dabei ...

Batch & Shell
Powershell - Webseite auslesen und Abspeichern ein paar Probleme
gelöst Frage von kime203Batch & Shell18 Kommentare

Hallo alle miteinander, ich hab die Aufgabe eine Webseite auszulesen um Einsatzdaten der Feuerwehr daraus zu gewinnen. Das habe ...