marw_the_big_headed_rhino Skrevet 28. august 2007 Del Skrevet 28. august 2007 (endret) Har et script som skal gjøre følgende: Hvis innlogget { vis skjema } else { list opp fra databasen } Har laget et skjema som fungerer veldig fint. Det inneholder egentlig bare et textfelt, og en submit-knapp. Problemet er når jeg klipper ut skjemakoden, og limer den inn der Hvis innlogget skal stå. Da får jeg opp en blank side. Noen ideer, forslag eller generelt sett gode tips? Skjemaet mitt ser slik ut: <html> <form id="form1" name="frmname" method="post" action="<? $thisfile?>"> <label>Text <input type="text" name="text" /> </label> <label> <input type="submit" name="submit" value="Submit" /> </label> </form> </html> Biihead Endret 28. august 2007 av bono_head Lenke til kommentar
Gjest Slettet+142 Skrevet 28. august 2007 Del Skrevet 28. august 2007 Vi vet da ikke hvordan din kode ser ut, vel? if( /* innlogget-info-sjekk*/ ){ echo '<form blablabla>.......</form>'; }else{ $query = mysql_query("SELECT * FROM tabell"); while( $r = mysql_fetch_assoc($query)){ ... } } Lenke til kommentar
marw_the_big_headed_rhino Skrevet 28. august 2007 Forfatter Del Skrevet 28. august 2007 Her er all kode jeg har. blir blank side når jeg legger inn skjemaet under HVIS INNLOGGET. Må jeg kanskje gjøre dette på en annen måte? <?php include ("c:/db.inc"); error_reporting(E_ALL); ini_set('display_errors', '1'); $id = intval( mysql_real_escape_string( $_GET['id'] )); $itemid = intval( mysql_real_escape_string( $_GET['Itemid'] )); $thisfile ="http://192.168.1.38/index.php?option=com_content&task=view&" . "id=" . "$id" . "&Itemid=" . "$itemid"; ?> <html> <form id="form1" name="frmname" method="post" action="<? $thisfile?>"> <label>Text <input type="text" name="text" /> </label> <label> <input type="submit" name="submit" value="Submit" /> </label> </form> </html> <?php if ($my->id && $my->id > 0 ) { //HVIS INNLOGGET: if($_POST['submit'] == 'Submit') {//hvis legge inn issues / text //echo "submit er trykket ned<BR>"; if(!$_POST['text'] || $_POST['text'] == "") { echo "there is a problem. did you fill out anything in the form?<BR>"; } else { //echo "allt ok, legg inn i db";//hvis alle tester ok, legg inn i databasen. $id = intval( mysql_real_escape_string($_GET['id'])); $as_text = addslashes($_POST['text']); $tr_text = trim($as_text); $query = "INSERT INTO jos_issues(ID,text,contentid) VALUES(NULL,'$tr_text','$id')"; $result = mysql_query($query); echo "thanks for posting issues<BR>"; } } else { //if not submit, list up text } $id = intval( mysql_real_escape_string( $_GET['id'] )); //echo "id = $id"; $query = "SELECT * FROM jos_issues WHERE jos_issues.contentid= '$id' ORDER BY text desc"; $result = mysql_query($query); while($row= mysql_fetch_array($result)) { echo"$row[text]<BR>"; } } else { //HVIS IKKE INNLOGGET echo "innlogget you are not<BR> Do or do not... there is no try<BR>"; $query = "SELECT * FROM jos__issues WHERE jos_issues.contentid= '$id' ORDER BY text desc"; $result = mysql_query($query); while($row= mysql_fetch_array($result)) { echo"$row[text]<BR>"; } mysql_close(); } ?> Lenke til kommentar
ilpostino Skrevet 28. august 2007 Del Skrevet 28. august 2007 du har ikke noe if-setning for HVIS INNLOGEt såvidt jeg kan se. jeg tror du ville fått en mye bedre kode hvis du hadde tatt ibruk Switch på siden din også. Lenke til kommentar
marw_the_big_headed_rhino Skrevet 28. august 2007 Forfatter Del Skrevet 28. august 2007 (endret) du har ikke noe if-setning for HVIS INNLOGEt såvidt jeg kan se. </quote> if ($my->id && $my->id > 0 ) betyr at du er innlogget jeg tror du ville fått en mye bedre kode hvis du hadde tatt ibruk Switch på siden din også. 9376516[/snapback] Endret 28. august 2007 av bono_head Lenke til kommentar
ilpostino Skrevet 28. august 2007 Del Skrevet 28. august 2007 if ($my->id && $my->id > 0 ) betyr at du er innlogget vet, men den if-koden tar bare brukere som er logget inn mens brukere som ikke er logget inn ikke henvises til noen steder. Lenke til kommentar
ilpostino Skrevet 28. august 2007 Del Skrevet 28. august 2007 (endret) såvidt jeg har skjønt vil du at dette skal skje med scriptet ditt: 1) hvis brukeren er logget inn kan de fylle ut en form og sende den 2) fyller de ut formen og sender den blir det som er skrevet lagt i en database 3) hvis de ikke er logget inn kommer feilmelding om at de ikke er logget inn. (hvis det er noe jeg har misforstått sså gi tilbakemelding på dette. jeg har tatt meg den friheten å skrive om scriptet ditt litt slik at det blir slik jeg har antatt. dette er ikke testet så det kan hende det inneholder noen feil. <?php include ("c:/db.inc"); error_reporting(E_ALL); ini_set('display_errors', '1'); $id = intval( mysql_real_escape_string( $_GET['id'] )); $itemid = intval( mysql_real_escape_string( $_GET['Itemid'] )); $thisfile ="http://192.168.1.38/index.php?option=com_content&task=view&" . "id=" . "$id" . "&Itemid=" . "$itemid"; //Hvis brukeren er inlogget skjer dette if ($my->id && $my->id > 0) { print <<<END <html> <form id="form1" name="frmname" method="post" action="<? $thisfile?>"> <label>Text <input type="text" name="text" /> </label> <label> <input type="submit" name="submit" value="Submit" /> </label> </form> </html> END; } //Hvis submit-knappen er trykket på skjer dette if($_POST['submit'] == 'Submit') {//hvis legge inn issues / text //echo "submit er trykket ned<BR>"; if(!$_POST['text'] || $_POST['text'] == "") { echo "there is a problem. did you fill out anything in the form?<BR>"; } else { //echo "allt ok, legg inn i db";//hvis alle tester ok, legg inn i databasen. $id = intval( mysql_real_escape_string($_GET['id'])); $as_text = addslashes($_POST['text']); $tr_text = trim($as_text); $query = "INSERT INTO jos_issues(ID,text,contentid) VALUES(NULL,'$tr_text','$id')"; $result = mysql_query($query); echo "thanks for posting these issues<BR>"; $id = intval( mysql_real_escape_string( $_GET['id'] )); //echo "id = $id"; $query = "SELECT * FROM jos_issues WHERE jos_issues.contentid= '$id' ORDER BY text desc"; $result = mysql_query($query); while($row= mysql_fetch_array($result)) { echo"$row[text]<BR>"; } } } else { //HVIS IKKE INNLOGGET echo "innlogget you are not<BR> Do or do not... there is no try<BR>"; $query = "SELECT * FROM jos__issues WHERE jos_issues.contentid= '$id' ORDER BY text desc"; $result = mysql_query($query); while($row= mysql_fetch_array($result)) { echo"$row[text]<BR>"; } mysql_close(); } ?> Endret 28. august 2007 av ilpostino Lenke til kommentar
marw_the_big_headed_rhino Skrevet 28. august 2007 Forfatter Del Skrevet 28. august 2007 (endret) Du skrev om koden min du ja. Må nesten bare teste det. Takk skal du ha! Håper det virker :-) <edit>Fungerte finfint den! Eneste som gjenstaar n[ er aa sjekke mot db at text fra tabellen ikke allerede er i databasen. Gode raad og tips om det Tusen takk for hjelpen! Endret 28. august 2007 av bono_head Lenke til kommentar
marw_the_big_headed_rhino Skrevet 29. august 2007 Forfatter Del Skrevet 29. august 2007 vet, men den if-koden tar bare brukere som er logget inn mens brukere som ikke er logget inn ikke henvises til noen steder. 9376655[/snapback] Har en else lengre nede som tar seg av brukere som ikke er logget inn. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå