1 / 22

Tutorium zur LV Online Research

Tutorium zur LV Online Research. Ein Computerprogramm tut, was Du schreibst, nicht was Du willst. Zeitplan für heute. PHP vs Javascript Vor- & Nachteile Eingabezwang,... PHP: Verzweigung, Seitennummern Speicherung Textfiles Datenbank Erstellen einer Datenbank

peta
Download Presentation

Tutorium zur LV Online Research

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

  2. Zeitplan für heute • PHP vs Javascript • Vor- & Nachteile • Eingabezwang,... • PHP: Verzweigung, Seitennummern • Speicherung • Textfiles • Datenbank • Erstellen einer Datenbank • PHP-Befehle für die Datenbank

  3. Server-seitig Code nicht sichtbar (wird vom Server in HTML ausgegeben) .php braucht einen eigenen Server (gerda) Adaptive Untersuchungen Client-seitig Code ist sichtbar Folgt HTML-Regeln Auf den Inhalt von Eingabefeldern kann sofort zugegriffen werden. (z.B. für Eingabezwang PHP vs Javascript

  4. Eingabezwang - Textfeld <script language="JavaScript"> function CheckEnter() { if(document.f1.alter.value == "") { alert("Beispieltext: Diese Angabe ist sehr wichtig!"); document.f1.alter.focus(); return false; } return true; } </script>

  5. Eingabezwang - Radios <script language="JavaScript"> function CheckEnter() { If ((document.f1.geschl[0].checked!=true) &&(document.f1.geschl[1].checked!=true)) { alert("Diese Angabe ist wichtig!"); document.f1.geschl[0].focus(); return false; } return true; } </script>

  6. Eingabezwang -Auswahlliste <script language="JavaScript"> function CheckEnter() { if (document.f1.bundl.value == "0") { alert("Bitte geben Sie das Bundesland an, wo Sie aufgewachsen sind!"); document.f1.bundl.focus(); return false; } return true; } </script>

  7. Sonstige JS-Anwendungen • „Zurück-Button“ weglassen • <SCRIPT LANGUAGE="JavaScript">function StartFB(){ window.open („seite.php", "Untersuchung", "toolbar=no , hotkeys=no, location=0, status=yes, menubar=no, resizable=1, scrollbars=yes") }</script> • <form method=post action=“seite.php" name=f1 onSubmit="function StartFB();"> • <a href="javascript:StartFB()">Fragebogen</a>

  8. PHP (für dynamische Webseiten • PHP-Server (Gerda) • .php • <?php ?> • Weitergabe von Variablen • Datenspeicherung • ID-Vergabe

  9. Seitennummern • PHP-Variable kann auch als "normaler" Text in einem Browser aufscheinen • <?php $Seitennummer = $Seitennummer+1;?>  erhöht die Variable immer um 1 <input type="hidden" name="Seitennummer„value=" <?php echo $Seitennummer;?> "> • <?php echo $Seitennummer; ?> von 10

  10. Verzweigungen <?php ...?> if ($variable=="1") {$adapt=„Seite1.php"; include(„Seite1.php");} elseif($variable==„2") {$adapt=„Seite3.php"; include(„Seite3.php");} else {$adapt="ende.php"; include(„ende.php");} <form method=post action="<?php echo $adapt;?>" name=f1>

  11. Speicherung - Textfiles • Name.txt online stellen • Jede Seite braucht ein eigens .txt-file! • Berechtigungen richtig setzen • Lesen und schreiben erlauben (666) • Php-Code in die .php-Seite einbauen • Jede Versuchsperson braucht eine eindeutige Nummer (nid), um die Angaben später richtig zuordnen zu können  Zufallszahl

  12. Zufallszahl • Auf der 1. Seite:<?php$nid=date("YmdHis");nid.=substr($HTTP_SERVER_VARS['REMOTE_ADDR'], -2);$nid=str_replace('.','',$nid);srand ((double) microtime() * 1000000);$nid .= rand(1000,9999);?> • Dieser Befehl muss auf jeder Seite! weitergegeben stehen (gibt die nid weiter): • <input type="hidden" name="nid" value="<?php echo $nid;?>">

  13. PHP-Code <?php ...?> • $fp=fopen("name.txt","a"); • fputs($fp,"$nid");fputs($fp,";");fputs($fp,"$Variablenname1");fputs($fp,";");fputs($fp,"$Variablenname2");......fputs($fp,"\n"); • fclose($fp);

  14. Speicherung - Datenbank • Erstellen einer Tabelle • PHP-Code in die HTML-Seiten einfügen •  HTML wird zu PHP (eigener Server!!) • Anlegen einer neuen Zeile • Werte hinzufügen

  15. Datenbank • SQL-Datenbank • http://gerda.univie.ac.at/phpmyadmin/ • Abspeicherung erfolgt eine Seite verzögert!! • Abspeicherung in Tabellenform

  16. http://gerda.univie.ac.at/phpmyadmin • Feld- Benennung der Variable <input type="radio" name="geschl" value="1" > • Achtung: alter ist ein eigener SQL-Befehl und daher nicht als Variablenbezeichnung geeignet! • "Typ" • VARCHAR: Zahlen, Buchstaben und Sonderzeichen, max. Zeichenlänge 255 • TEXT: können mehr als 255 Zeichen erfassen • INT: erfasst nur Zahlen (geeignet für ID)

  17. http://gerda.univie.ac.at/phpmyadmin • Länge/Set: Zahl der abgespeicht. Zeichen • Besonderheiten bei der ID: • Bei ID muss "not null" ausgewählt werden. • Bei "Extras" autro-increment auswählen - ID wird bei einer neuen Zeile jeweils um 1 erhöht • Die ID muss weiters als "Primärschlüssel" markiert werden. • "Struktur-Ansicht„: nachträgliche Bearbeitung möglich

  18. PHP-Befehle <?php $db = mysql_connect("localhost","user","passwort")or die ("Konnte keine Verbindung zur Datenbank herstellen bitte informieren Sie mich!!!!"); mysql_select_db("Tabellenname",$db);$sSql = "INSERT INTO Tabellenname (datstart) values('".date('Y.m.d H:i:s')."')" ; $result = mysql_query($sSql);$sSql = "SELECT max(nid) nid FROM Tabellenname ";$result = mysql_query($sSql); $nid=mysql_result($result,0,"nid");... $db_close = mysql_close($db); ?>

  19. PHP-Befehl <?php $db = mysql_connect("localhost","user","passwort") or die ("Konnte keine Verbindung zur Datenbank herstellen bitte informieren Sie mich!!!!"); mysql_select_db("Tabellenname",$db); &$sSql = "UPDATE Tabellenname set spaltenname='$variablenname' WHERE nid=$nid" ;$result = mysql_query($sSql);...führt den Befehl durch $db_close = mysql_close($db); ?>

  20. Vorgehensweise • Erstellen einer guten Vorlage • Schon vorhanden • Alle Items einfügen • Values,.. Überprüfen • Verlinkung • PHP Seitennummer,... • Tabelle in Datenbank erstellen • PHP-Codes für Datenbank einfügen

  21. Achtung!! • Adaptives gut überlegen • Speicherung, Verlinkung... • Überprüfen!!!! • Eingabezwang, falls vorhanden • Ganz zum Schluss

  22. Fragen? • Nächster Termin • 11.05.2005 http://homepage.univie.ac.at/barbara.strassnig

More Related