Gå til innhold

Trenger hjelp med avatar funksjon!


Anbefalte innlegg

Trudde det var veldig enkelt. Men det vaar det ikke!

 

 

 

Her er koden for avatar uppload:

	<table><TR>

  <td height="15">Avatar (url):</td><form method=post name=profile_form>
  <td><input type="text" name="avatar" /><br><input type="submit" name="avatar" value="test"></form></td></tr>
</table>

 

 

Her koden for å behandle linken:

if ($_POST['avatar']) {
mysql_query("UPDATE users SET `avatar`='$avatar' WHERE `username`='$cookieusername'") or die(mysql_error());

 

 

Og slik blir avataret vist:

<img src="<?php echo "$avatar"; ?>" height="250" width="250" />

 

 

 

Det funker jo ikke. Ser dere hva som er grunnen ??

Endret av php_user
Lenke til kommentar
Videoannonse
Annonse

Hvordan kan jeg det når du ikke forteller hva som skjer når du prøver? Får du en feilmelding?

 

Men rett ut av det blå:

- Du mangler en } på if-setningen din.

- Du har to inputer som heter avatar

- Manglende validering

- Har du i det hele tatt satt $avatar ?

- Ikke noe angående problemet, men hårreisende dårlig HTML.

Endret av hans3k
Lenke til kommentar
Gjest Slettet+1374861

Du får feilsøke da vettu... Ville stillt meg selv en del spørsmål

 

Når forekommer feilen?

 

1. Får du lagret inputen i formen i MySQLen? (sjekk db)

2. Får du hentet det fra MySQLen og lagret innhodet til $avatar variabelen? (echo den)

 

Eventuelt kan det lønne seg å se i kildekoden til siden din, hva er sourcen (src) til bildet? Stemmer det overens med det du gav i formen?

Lenke til kommentar
Gjest Slettet+1374861

Er ingen direkte feil med det der.

Problemet er vel innholdet i $avatar variabelen.

 

Hvordan hentet du innholdet til den? Hvordan satte du innholdet i den? Feil henting fra MySQL muligens?

 

Skriv ut innholdet i den du, og se hva du får...

Lenke til kommentar
Gjest Slettet+1374861

Vel, hvis du ikke henter noe fra MySQL og setter det inn i $avatar så er det jo ingenting i den.

Da blir det jo <img src=""> da.

 

Du må jo fetche det som ble lagret i MySQLen og bruke det som kilde.

Lenke til kommentar
Gjest Slettet+1374861

Neeei... Er en del problemer der gitt... Select den kolonnen du vil ha, og ikke noe SET-ing.

 

SELECT bildeurl FROM users WHERE username='$cookieusername'

elno...

Lenke til kommentar
Neeei... Er en del problemer der gitt... Select den kolonnen du vil ha, og ikke noe SET-ing.

 

SELECT bildeurl FROM users WHERE username='$cookieusername'

elno...

 

 

 

 

Slik da ?

<img src="<?  $v = "SELECT avatar FROM users WHERE username='$cookieusername" $bv =mysql_query($v); ?>" height="250" width="250" />

Lenke til kommentar
Gjest Slettet+1374861

Nei... Du skriver ikke ut noe som helst, mangler skille mellom de ulike kommandoene du utfører og en hel det annet...

Konse litt nåda, så blir du ferdig med dette. Du må hente noe, lagre det til en variabel, og så skrive det ut. Det er en hel serie med hendelser, ikke noe du trenger trykke inn på en linje.

 

anbefaler også <?php fremfor <? siden <? blir problematisk i PHP5

Lenke til kommentar

Nå er jeg meget snill og gir deg en fungerende kode.

 

<?php 

$query = mysql_query("SELECT avatar FROM users WHERE username = '$cookieusername'");

$row = mysql_fetch_row($query);

echo '<img src="', $row[0], '" alt="avatar" />';

?>

 

Men dette er så ekstremt grunnleggende at du burde klart selv. BRUK PHP MANUALEN.

Lenke til kommentar
Gjest Slettet+142

	<table><TR>

  <td height="15">Avatar (url):</td><form method="post" name="profile_form">
  <td><input type="text" name="avatar" /><br><input type="submit" name="avatarsubmit" value="test"></form></td></tr>
</table>

 

 

if (isset($_POST['avatar'])) {
$avatar = mysql_real_escape_string($_POST['avatar']);
mysql_query("UPDATE users SET `avatar`='$avatar' WHERE `username`='$cookieusername'") or die(mysql_error());
}

 

 

<?php
$q = mysql_query("SELECT avatar FROM users WHERE username='{$cookieusername}' LIMIT 1") or die("Feil i spørring");
if(mysql_num_rows($q)!=1){
 $res = mysql_fetch_assoc($q);
 $avatar = $res['avatar'];
 if(!empty($avatar)) echo '<img src="'.$avatar.'" height="250" width="250" />';
}
unset($q);
?>

 

De kodene skal funke. Endret name-taggen på submit-knappen, escapet URL-en og sjekket at den var satt før mysql-spørringen ble kjørt og jeg skrev vel om hele koden for å vise avataren..

Lenke til kommentar
Nå er jeg meget snill og gir deg en fungerende kode.

 

<?php 

$query = mysql_query("SELECT avatar FROM users WHERE username = '$cookieusername'");

$row = mysql_fetch_row($query);

echo '<img src="', $row[0], '" alt="avatar" />';

?>

 

Men dette er så ekstremt grunnleggende at du burde klart selv. BRUK PHP MANUALEN.

 

 

 

 

Koden funker ikke. Nå kommer avataret man laster opp på alle brukerne på spillet!

Endret av php_user
Lenke til kommentar
Gjest Slettet+142

Det har du nok mest sannsynlig deg selv å takke i alle fall..

Men har du prøvd koden(e) jeg postet som du enten ikke har sett eller har ignorert rett før din siste post?

Lenke til kommentar

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...