Informatik Projekt so realisierbar ?

okay :) ALso soll ich get durch post ersetzen ? Die variable soll nachher an eine MySQL DB weitergeleitet werden, die dannn eine ausgabe weitergibt und dann ein array erstellt und darin die werte ausgibt.

Im moment sagt er undefinierte variable. Soweit ich das gelesen habe leigt das daran das eine variable in anführungnszeichen steht. Als ich das korrigieren woltle habe ich nur noch mehr fehler produziert :(

Code:
<html>
<body style="background-color:#FF0000">
<head>
<title>Hydrandmap</title>
<body>
<h1 align="center"><font color="#FFFFFF">Hydrantmap</font></h1>
</head>


<form action="test.php" method="post" >

<p>Street:
<input type="text" name=street />
</p>

<p>
<input type="submit" value="absenden" />
</p>

</form>

<?php
if ( $_POST[street] == ""  )

    echo '<form action="test.php" method="GET">';
?>


<?php 

$H = $_POST[street];
echo "Hydranten $H";
?>



</body>

</html>
 
$_POST ist ein assoziatives Array und die Keys sind Strings - nutz demzufolge also bitte $_POST['street']. Er meckert bei dir aber mit Sicherheit wegen Zeile 31, da $_POST['street'] erst nach dem Abschicken des Formulars gesetzt ist. Setz ein if( isset( $_POST['street'] ) ) davor, dann kommt die Ausgabe nur, wenn die Variable gesetzt ist.
 
Das kann doch so eh nicht gehen... Du öffnest ein Form-Element im reinen HTML, schließt es nach ein paar Feldern wieder und dann packst du über PHP, wenn eine Bedingung erfüllt ist, ein neues öffnendes Form-Element rein, ohne Inhalt und ohne schließenden Tag? Wozu?

Warum nicht:
PHP:
if(isset($_POST["street"]))
{
//Erzeuge Ausgabe-Seite
}
else
{
//Erzeuge Eingabeformular
}
Auf diese Weise kannst du die einzelnen Schritte des Vorgangs leichter trennen und, wenn du dir noch einen hübschen Template Parser schreibst, auch gleich noch Layout und Programmlogik weiter trennen.

Übrigens, was POST und GET angeht: Suchanfragen jeglicher Art kann man getrost mit GET lösen, das macht es dem User leichter, dieselbe Suche noch einmal auszuführen. POST ist eher dazu da, dass die eingegebenen Werte nur einmalig übertragen werden, z.B. für Bestellungen oder um Daten in eine Datenbank einzutragen.
 
also letztendlich ist die ausgabe nur als test gedacht, die daten sollen wie gesagt später an den mySQL-Server übergeben werden, aber vorher soll halt die webseite laufen.

Gibt es eigentlich auch sowas wie google docs mit proammcode ?
weil im moment programmeir ich mit dem editor und ich hätte gerne ene lösung mit der mehrere menschen an einem programmtext arbeiten können.Da dies ein grundprobem der informatik ist müsste es sowas doch geben, oder ?
 
Zuletzt bearbeitet:
Richtet euch einen SVN (Subversion)-Server ein und programmiert über eine IDE, die SVN unterstützt (z.B. Eclipse).

Ansonsten habt ihr soeben eine Hürde der Softwareentwicklung entdeckt: Wie definiere ich Klassen und Funktionen so, dass mehrere Leute unabhängig an ihren Aufgaben arbeiten können und am Ende alle Programmteile nur noch zusammengeklebt werden müssen, um ein Ganzes zu ergeben.
 
Als IDE ist vll auch Aptana Studio was;

Frag mal an der Hochschule ob die nicht einen SVN-Server hosten, bei uns ist es so, bekommt gratis für jedes Projekt; Alternativ Dropbox oder GitHub wird dann aber ein OpenSource Projekt was den Code öffentlich macht (gerade erst gegoogled);
 
wie gesagt, is tnur für die schule, leider hat mein lehrer auch nicht so den durchblick bei php und meinte ich soll mir ein gutes furom suchen was mir hilft. Und da ic hier immer kompetente hilfe ekommen habe dachte ich an ech. meine bisherie anleitung ist http://www.php-kurs.com/ wenn ihr eine bessere kennt immer her damit :) Eclipse haben wir sowieso auf den rechnern. Also dann einfach das Php plugin insallieren ?

Edit :welche Version von eclipse muss man eigentlich installieren ?
 
Zuletzt bearbeitet:
Ich glaub, die Version ist realtiv egal, weil du eh modular über das Plugin-System erweitern kannst und wirst. Nimm die oberste und gut, das wird schon funktionieren.
Fragt sich nur, ob du in der Schule die Rechte hast, das PHP-Plugin zu installieren.
 
Was ich im Moment noch nicht verstehe ist:
wozu benötigt ihr eine Datenbank? Ihr habt doch schon die OSM-Datei mit allen Informationen. Da braucht ihr doch wirklich keine Datenbank.

Da OSM im XML-Format abspeichert ist es auch recht leicht die richtigen Kanten für die Straße abzufragen (Vorsicht: eine Straße besteht meistens aus mehreren Kanten!)

So weit ich weiß werden aber in der OSM-Datei keine Hydranten vermerkt. Das müsstet ihr also dann noch nachtragen. Da könntet ihr ja zu Testzwecken einfach irgendwas erfinden ^^ Oder ihr geht echt durch die Straßen und vermerkt die Stellen manuell.

Mal noch eine kleine Frage: eine Graphische Umsetzung benötigt ihr nicht oder? Weil das wäre dann schon wieder ein etwas größeres Projekt.
 
Eben, die Hydranten musst du irgendwo speichern (und evtl. noch andere Daten, wie Logins für den Eingabebereich etc.)... Was bietet sich da mehr an als eine relationale Datenbank?
 
Also, wir haben die idee mit der Map verworfen, um es zeitlich hinzubekommen. WIe gesagt die idee sit jetzt einen Webisite mit Such-Formular und hinzufügen formular.

Diese soll dann auf eine MySQL db zugreifen und von dort aus dann die entsprechenden Daten liefern. D.h. Man gibt eine Straße + PLZ + NR ein z.b. Hauptstraße 23 XXXXX und dann liefert er aus der Daten bank alle einträge die Hauptstraße entsprechen. Eventuel lauch noch mit stortierung nach nähe zur hausnummer.

Der rest wird zu viel, da keiner von uns ahnugn von HTML oder php hat. Aufgabenstellung ist ja nur ein beliebiges Projekt mit einer Datenbank oder Java zu erstellen.
 
So, habe es mal weiter überarbeitet.
Nun will ich mit der eingegebenen variable die mysql DB nach"Street" durchsuchen.

dazu muss ich mich erstmal mit der mysql db verbinden.
dazu habe ichfolgendes gefunden :

PHP:
mysql_connect($dbort,$dbuser,$dbpw); //Verbindungsaufbau zum Server auf dem die DB läuft
mysql_select_db($dbdb); //Auswahl der DB

$z=mysql_query("SELECT street,plz, FROM tabelle"); //Auswahl ausführen und Ergebnis in Variable z speichern
while($unter=mysql_fetch_array($z)) //nun wird das Ergebnis welches in $z steht in ein Array $unter umgewandelt und so lange durchlaufen wie Zeilen die Abfrage ausgibt.
{
echo "$unter[links] - $unter[mitte] - $unter[rechts]"; //da $unter nun ein Array ist, muss es dementsprechend mit Feldbezeichungen ausgegeben werden
}

mysql_close(); //Verbindung zum Server schließen

ichwill das er nciht nur die straße ausgibt sondern auch dem rest, also postleitzahl, durchflussmenge usw
 
Code:
SELECT * FROM tabelle WHERE street LIKE '%street%'
Gibt alle Datensätze zurück, wo "Street" im Feld street vorkommt.
 
Na wenn du mehr Felder willst, dann passe deine SQL Query doch entsprechend an.... und überleg dir ganz genau, wie du die Felder des Ergebnis-Arrays (objektorientierter Zugriff wäre besser, aber so gehts auch) ansprichst. So, wie es da steht, würde ich mich nicht über Warnungen und Fehlermeldungen wundern.
 
okay, also ich will das er alles was unter street steht nach der variable $hydrant durchsucht und alle die in frage kommen ausgibt als array.
 
Yuuri schrieb:
In obigem Falle mag get ok sein, würde aber für Formulareingaben immer post vorziehen.

Halte ich für einen schlechten Rat, GET und POST sollte man nicht zum Spaß verwenden.

Grundsätzlich gilt:
GET - etwas abfragen
POST - etwas auf dem Server veränden (dazu zählt z.B. auch Benutzer einloggen -> eine Session wird erzeugt, der Client sieht unter dem gleichen URI u.U. andere Daten als vorher)

Das ist der Sinn der HTTP-Methoden. U.a. reagieren Caches empfindlich auf die Semantik. Die können z.B. nicht sinnvoll cachen, wenn die relevanten Informationen, die zum URI eigentlich gehören, in der Entity stehen. Genauso kann man sonst für z.B. einen Kartenausschnitt keinen Permalink mehr angeben, die Vor- & Zurück-Buttons im Browser nicht mehr ordentlich benutzen, etc...

(ganz klar ist aber, Benutzernamen, Passwörter und generell vertrauliche Informationen gehören natürlich nicht in einen URI)
 
Zuletzt bearbeitet:
Zurück
Oben