SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 29.12.2003, 12:09:02
TomSP TomSP ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 18
Werte aus HTML und PHP kombinieren

Hallo an alle,

und schon wieder ein Problem.

Kaum ist ein Problem gelöst steht das nächste vor der Tür.

Ich habe ein HTML-Script das einen Wert an ein PHP-Script übergibt,
das PHP-Script stellt dann eine Auswahl über Type=Radio zur Verfügung.
Markiert man nun eine der Auswahlmöglichkeiten muss der Wert welcher jetzt übergeben wird zusammen mit dem Wert aus dem HTML-Script von dem selben PHP-Script ausgewertet und eine Datenbankabfrage gestartet werden.

Hat jemand eine Idee wie das gehen soll? Ich habe es so weit geschafft, dass der Wert vom HTML-Script übergeben wird. Wenn ich aber die Auswahl mache und absende, überschreibt der neue Wert den alten anstatt den alten an den neuen dranzuhängen und dann erst zu übergeben.

Hier ist mein PHP-Sript, ich denke da sind einige fehler drin, aber seht es mir nach, ich stehe noch in den Kinderschuhen.

<html>
<Head><title>Fächerliste</title></Head>
<body>
<form action="/fachauswahl.php" method="get">
<input type=radio name="fachauswahl" value="Informatik"> Informatik
<br>
<input type=radio name="fachauswahl" value="Mathematik"> Mathematik
<br>
<input type="submit" value="Abschicken!"><br>
</form>

<?
$_GET['Semester'];
$_GET['fachauswahl'];
/* Datenbankserver */
$db_server = "localhost";
/* Datenbankname */
$db_name = "studienplanung";
/* Datenbankuser */
$db_user = "root";
/* Datenbankpasswort */
/*$db_passwort = "behappy";*/

/* Stellt Connect zu Datenbank her */
$db = @MYSQL_CONNECT($db_server,$db_user,$db_passwort) or die ("Konnte keine Verbindung zur Datenbank herstellen");
$result = mysql_db_query("studienplanung","select kurs.thema, dozent.titel, dozent.name from kurs, dozent
where kurs.dozent=dozent.pid and kurs.fach='$fachauswahl' and kurs.semester='$Semester'");
while($row = mysql_fetch_row($result)){
echo $row[0] ." bei ";
echo $row[1] ." ";
echo $row[2] ."<br>";
}
?>
</body>
</html>


Vielen Dank schon jetzt für Eure Hilfe!!!!!
__________________
Ich wünsche einen schönen Tag :-)
Mit Zitat antworten
  #2  
Alt 30.12.2003, 12:29:07
Wauzy Wauzy ist offline
Anfänger
 
Registriert seit: Sep 2002
Beiträge: 84
HI Tom

Ich würde nie meine Passwörter in einem Forum posten!
Ich glaube auch an das gute im Menschen, aber das ist leider noch nicht zu allen durch gedrungen!

So nun zu deinem Script, mir ist leider nicht ganz klar was du mit den Zeilen bezwecken willst. Aber gehen wir es mal der Reihe nach durch.

PHP-Code:
<html>
<
Head><title>Fächerliste</title></Head>
<
body>
<
form action="/fachauswahl.php" method="get">
<
input type=radio name="fachauswahl" value="Informatik"Informatik
<br>
<
input type=radio name="fachauswahl" value="Mathematik"Mathematik
<br>
<
input type="submit" value="Abschicken!"><br>
</
form
Wenn du die Auswertung in der selben Datei machen willst, was du ja anscheinend machen möchtest, kannst du im action Attribut auch "$PHP_SELF" schreiben, die Variable hat halt als Wert den Pfad der Datei in der sie steht, macht dein Script etwas portabler.

PHP-Code:
$_GET['Semester'];
$_GET['fachauswahl'];
/* Datenbankserver */ 
$db_server "localhost";
/* Datenbankname */
$db_name "studienplanung"
Die Variable Semester ist nicht belegt, aber dasd ist ja nicht weiter schlimm, ist wohl noch in Arbeit.Ich würde aber aufpassen das du nicht eine Variable mal mit groß und mal mit klein Buchstaben beginnst, das bringt dir schnell Fehler die echt schwer zu finden sind und einem den Spaß am programmieren nehmen können. Normalerweise werden alle Variablen klein geschrieben. Du kannst auch noch ein str_ für einen string, arr_ für ein array, und int_ für eine Zahl davor packen, damit du immer weißt was für eine Variable das ist um parse fehler zu vermeiden.
Kommentare die nur eine Zeile gehen kannst du mit // starten, die gehen dann über die ganze Zeile, dann mußt du sie nicht extra noch mal schließen am Ende, ist aber natürlich nicht wirklich wichtig, wenn es dir so beser gefällt dann mach es so weiter.


Na ja und zu deiner DB Abfrage, wenn alle Felder auch in der DB existieren wird sie wohl gehen, aber ich weiß leider nicht wo du was überschreibst? Du hast doch keinen schreib Befehl irgendwo in deinem Script? Oder meinst du den Wert des Radio Buttons?

Probier doch noch mal dein Problem etwas genauer zu beschreiben.

Gruß
Wauzy
Mit Zitat antworten
  #3  
Alt 30.12.2003, 13:10:36
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Nur eine kleine Randbemerkung:
Zitat:
kannst du im action Attribut auch "$PHP_SELF" schreiben,
Leidliches Thema, wenn register_globals=Off steht (Was seit PHP4.2 Standard ist. Ja die Provider haben's meist auf "on" stehen.), dann: $_SERVER['PHP_SELF']

PHP-Code:
$_GET['Semester'];
$_GET['fachauswahl']; 
In diesem Thread -> http://www.selfphp.info/forum/showth...&threadid=6424 wurde ja auch schon von xabbuh und meikel auf diese beiden Zeilen hingewiesen.Und jetzt tauchen diese Zeilen wieder auf?!?
Zitat:
Hallo alle zusammen,

ich habe das Problem in den Griff bekommen.

Der Get-Befehl im PHP-Script musste so aussehen:

$_GET ['Variable'];

und nicht

$Variable=$_GET ['Variable'];


Gruß

TomSP
Das stimmt so nicht. Es kommt darauf an, mit welcher "Schreibweise" Du in dem Skript fortfahren willst:
PHP-Code:
Bsp.:
$sql "SELECT id FROM tbl_tabelle WHERE name='".$_GET['Variable']."'";

// Oder:
$Variable=$_GET['Variable'];
// Dann kanns so weitergehen
$sql "SELECT id FROM tbl_tabelle WHERE name='".$Variable."'"
Gruss

Christian
Mit Zitat antworten
  #4  
Alt 30.12.2003, 14:23:21
TomSP TomSP ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 18
Hallo Wauzy,

Genauer gesagt habe ich folgendes Problem:

ich habe ein HTML-Script mit einem Selectfeld und einem Absendebutton. Wenn ich den Wert jetzt absende steht in der URL "http://rechnername/fachauswahl.php?Semester=SS" (das ist der Wert für $Semester) und das PHP-Script Zeigt mir die Radio Buttons und wiederum ein Absendebutton. Sende ich den Wert jetzt wieder ab sollte in der URL eigentlich folgendes stehen
"http://rechnername/fachauswahl.php?fachauswahl=Informatik&Semester=SS"
leider steht bei mir dann nur
"http://rechnername/fachauswahl.php?fachauswahl=Informatik"
somit habe ich in dem PHP-Script nur den Wert für die Variable $fachauswahl zur Verfügung was mir aber wenig weiterhilft, da ich beide Werte für die Datenbankabfrage benötige.
Wenn ich die URL von Hand eingebe, klappt auch die Datenbankabfrage.

Gruss
Tom
__________________
Ich wünsche einen schönen Tag :-)
Mit Zitat antworten
  #5  
Alt 30.12.2003, 14:30:35
TomSP TomSP ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 18
Hallo Chris,

vielen Dank für die Aufklärung!
Das wusste ich nich, habe nicht so viel Ahnung von PHP, fange gerade erst an.
Und übrigens das von Dir angesprochene Thema, dass die Variablen schon in einem anderen Beitrag genannt worden sind, da habe ich mich nur mit den Namen der Variablen vertan.

Gruss
Tom
__________________
Ich wünsche einen schönen Tag :-)
Mit Zitat antworten
  #6  
Alt 30.12.2003, 14:37:02
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi Tom,

probier mal das mal aus:

Einfach diese Zeile zwischen den <form>-Tags platzieren
PHP-Code:
echo '<input type="hidden" name="Semester" value="'.$_GET['Semester'].'">'
Andere Möglichkeit
PHP-Code:
echo '<form action="datei.php?Semester='.$_GET['Semester'].'" method="get">'
Wobei method="post" vorzuziehen wäre.

Gruss

Christian
Mit Zitat antworten
  #7  
Alt 30.12.2003, 16:26:06
TomSP TomSP ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 18
Hallo Chris,

es funktioniert noch nicht ganz, aber der Ansatz scheint in die richtige Richtung zu gehen. Ich habe Deine erste Variante genommen, bei der zweiten passiert nichts anderes. Außerdem habe ich anstatt .$_GET['Semester'] mal $Semester genommen.
Die Werte die jetzt übergeben werden sind
$SemesterInformatik und das sieht in der URL so aus: "http://rechnername/fachauswahl.php?fachauswahl=Informatik&Semester=%24Semester"

Wenn ich jetzt noch rauskriege wie ich den Wert der Variablen in den Value bekomme, ist das Problem gelöst.
Vieleicht hast Du ja noch so eine gute Idee, ich werde noch etwas rumprobieren.

Vielen Dank schon mal!!!!

Gruss
Tom
__________________
Ich wünsche einen schönen Tag :-)
Mit Zitat antworten
  #8  
Alt 30.12.2003, 17:27:02
chris17 chris17 ist offline
Senior Member
 
Registriert seit: Apr 2003
Alter: 57
Beiträge: 1.236
Hi Tom,

poste doch mal bissl was von Deinem Quelltext,
evtl. hast Du nur einen blöden Schreibfehler drin.

Aber, bitte, bitte, bitte, den Code zwischen diese Tags einfügen: [ php][ /php](Ohne Leerzeichen)

Gruss

Christian
Mit Zitat antworten
  #9  
Alt 30.12.2003, 18:58:08
TomSP TomSP ist offline
Anfänger
 
Registriert seit: Dec 2003
Beiträge: 18
Hallo Chris,

ich habe die Lösung gefunden, die Zeile die Du mir gesendet hast muss folgendermaßen abgeändert werden:

PHP-Code:
<input type="hidden" name="Semester" value="<? $Semester; echo $Semester; ?>">

Vielen Dank, Du hast mich auf den richtigen Weg gebracht!!!! :-))


Gruss
Tom
__________________
Ich wünsche einen schönen Tag :-)
Mit Zitat antworten
  #10  
Alt 30.12.2003, 18:58:13
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
Zitat:
Original geschrieben von chris17
dann: $_SERVER['PHP_SELF']
Mit dem Gottvertrauen, in $_SERVER['PHP_SELF'] möge Pfad und Name des ausgeführten Scriptes stehen, habe ich schon üble Überraschungen erlebt. Je nache Config und Version:
URL: http://www.example.com/pfad/script.php/test/123.php
Der Apache ruft zwar script.php auf, aber in $_SERVER['PHP_SELF'] steht dann "/pfad/script.php/test/123.php" drin.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:21:49 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt