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

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

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

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

Tutorium zur LV Online Research

Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Page 2: 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 PHP-Befehle für die Datenbank

Page 3: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

PHP vs Javascript 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

Page 4: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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>

Page 5: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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>

Page 6: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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>

Page 7: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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>

Page 8: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

PHP (für dynamische Webseiten PHP-Server (Gerda) .php

<?php ?>

Weitergabe von Variablen Datenspeicherung ID-Vergabe

Page 9: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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

Page 10: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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>

Page 11: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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

Page 12: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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;?>">

Page 13: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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);

Page 14: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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

Page 15: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Datenbank SQL-Datenbank

http://gerda.univie.ac.at/phpmyadmin/

Abspeicherung erfolgt eine Seite verzögert!!

Abspeicherung in Tabellenform

nid alt geschl1 55 w2 23 m3 52 w4 77 m

Page 16: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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)

Page 17: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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

Page 18: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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); ?>

Page 19: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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); ?>

Page 20: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

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

Page 21: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Achtung!! Adaptives gut überlegen Speicherung, Verlinkung... Überprüfen!!!! Eingabezwang, falls vorhanden

Ganz zum Schluss

Page 22: Tutorium zur LV Online Research Ein Computerprogramm tut, was Du schreibst, nicht was Du willst.

Fragen?

Nächster Termin 11.05.2005

http://homepage.univie.ac.at/barbara.strassnig